@sendbird/uikit-react 3.9.0 → 3.9.1-rc-2

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 (1957) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/App.js +422 -0
  3. package/dist/App.js.map +1 -0
  4. package/dist/CHANGELOG.md +1980 -0
  5. package/dist/Channel/components/ChannelHeader.js +67 -0
  6. package/dist/Channel/components/ChannelUI.js +162 -0
  7. package/dist/Channel/components/ChannelUI.js.map +1 -0
  8. package/dist/Channel/components/FileViewer.js +88 -0
  9. package/dist/Channel/components/FrozenNotification.js +16 -0
  10. package/dist/Channel/components/Message.js +341 -0
  11. package/dist/Channel/components/MessageInput.js +205 -0
  12. package/dist/Channel/components/MessageInput.js.map +1 -0
  13. package/dist/Channel/components/MessageList.js +111 -0
  14. package/dist/Channel/components/RemoveMessageModal.js +52 -0
  15. package/dist/Channel/components/SuggestedMentionList.js +198 -0
  16. package/dist/Channel/components/TypingIndicator.js +84 -0
  17. package/dist/Channel/components/UnreadCount.js +33 -0
  18. package/dist/Channel/context.js +24 -0
  19. package/dist/Channel/hooks/useHandleUploadFiles.js +133 -0
  20. package/dist/Channel/hooks/useHandleUploadFiles.js.map +1 -0
  21. package/dist/Channel/hooks/useInitialMessagesFetch.js +109 -0
  22. package/dist/Channel/utils/compareMessagesForGrouping.js +26 -0
  23. package/dist/Channel/utils/getMessagePartsInfo.js +34 -0
  24. package/dist/Channel.js +132 -0
  25. package/dist/Channel.js.map +1 -0
  26. package/dist/ChannelList/components/AddChannel.js +61 -0
  27. package/dist/ChannelList/components/ChannelListHeader.js +41 -0
  28. package/dist/ChannelList/components/ChannelListUI.js +147 -0
  29. package/dist/ChannelList/components/ChannelPreview.js +131 -0
  30. package/dist/ChannelList/components/ChannelPreviewAction.js +71 -0
  31. package/dist/ChannelList/context.js +15 -0
  32. package/dist/ChannelList.js +81 -0
  33. package/dist/ChannelSettings/components/ChannelProfile.js +65 -0
  34. package/dist/ChannelSettings/components/ChannelSettingsUI.js +119 -0
  35. package/dist/ChannelSettings/components/EditDetailsModal.js +97 -0
  36. package/dist/ChannelSettings/components/LeaveChannel.js +67 -0
  37. package/dist/ChannelSettings/components/ModerationPanel.js +455 -0
  38. package/dist/ChannelSettings/components/UserListItem.js +67 -0
  39. package/dist/ChannelSettings/components/UserPanel.js +64 -0
  40. package/dist/ChannelSettings/context.js +69 -0
  41. package/dist/ChannelSettings.js +61 -0
  42. package/dist/CreateChannel/components/CreateChannelUI.js +48 -0
  43. package/dist/CreateChannel/components/InviteUsers.js +167 -0
  44. package/dist/CreateChannel/components/SelectChannelType.js +80 -0
  45. package/dist/CreateChannel/context.js +9 -0
  46. package/dist/CreateChannel.js +44 -0
  47. package/dist/CreateOpenChannel/components/CreateOpenChannelUI.js +68 -0
  48. package/dist/CreateOpenChannel/context.js +49 -0
  49. package/dist/CreateOpenChannel.js +33 -0
  50. package/dist/EditUserProfile/components/EditUserProfileUI.js +118 -0
  51. package/dist/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  52. package/dist/EditUserProfile.js +34 -0
  53. package/dist/LICENSE +21 -0
  54. package/dist/MessageSearch/components/MessageSearchUI.js +89 -0
  55. package/dist/MessageSearch/context.js +258 -0
  56. package/dist/MessageSearch.js +77 -0
  57. package/dist/OpenChannel/components/FrozenChannelNotification.js +15 -0
  58. package/dist/OpenChannel/components/OpenChannelHeader.js +54 -0
  59. package/dist/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  60. package/dist/OpenChannel/components/OpenChannelInput.js +63 -0
  61. package/dist/OpenChannel/components/OpenChannelInput.js.map +1 -0
  62. package/dist/OpenChannel/components/OpenChannelMessage.js +197 -0
  63. package/dist/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  64. package/dist/OpenChannel/components/OpenChannelMessageList.js +122 -0
  65. package/dist/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  66. package/dist/OpenChannel/components/OpenChannelUI.js +102 -0
  67. package/dist/OpenChannel/components/OpenChannelUI.js.map +1 -0
  68. package/dist/OpenChannel/context.js +29 -0
  69. package/dist/OpenChannel/context.js.map +1 -0
  70. package/dist/OpenChannel.js +80 -0
  71. package/dist/OpenChannel.js.map +1 -0
  72. package/dist/OpenChannelList/components/OpenChannelListUI.js +114 -0
  73. package/dist/OpenChannelList/components/OpenChannelPreview.js +29 -0
  74. package/dist/OpenChannelList/context.js +7 -0
  75. package/dist/OpenChannelList.js +45 -0
  76. package/dist/OpenChannelSettings/components/EditDetailsModal.js +89 -0
  77. package/dist/OpenChannelSettings/components/OpenChannelProfile.js +56 -0
  78. package/dist/OpenChannelSettings/components/OpenChannelSettingsUI.js +90 -0
  79. package/dist/OpenChannelSettings/components/OperatorUI.js +502 -0
  80. package/dist/OpenChannelSettings/components/ParticipantUI.js +36 -0
  81. package/dist/OpenChannelSettings/context.js +123 -0
  82. package/dist/OpenChannelSettings.js +56 -0
  83. package/dist/README.md +172 -0
  84. package/dist/SendbirdProvider.js +1060 -0
  85. package/dist/Thread/components/ParentMessageInfo.js +252 -0
  86. package/dist/Thread/components/ParentMessageInfo.js.map +1 -0
  87. package/dist/Thread/components/ParentMessageInfoItem.js +148 -0
  88. package/dist/Thread/components/ThreadHeader.js +32 -0
  89. package/dist/Thread/components/ThreadList.js +170 -0
  90. package/dist/Thread/components/ThreadListItem.js +333 -0
  91. package/dist/Thread/components/ThreadListItem.js.map +1 -0
  92. package/dist/Thread/components/ThreadMessageInput.js +187 -0
  93. package/dist/Thread/components/ThreadMessageInput.js.map +1 -0
  94. package/dist/Thread/components/ThreadUI.js +266 -0
  95. package/dist/Thread/components/ThreadUI.js.map +1 -0
  96. package/dist/Thread/context.js +1334 -0
  97. package/dist/Thread/context.js.map +1 -0
  98. package/dist/Thread.js +128 -0
  99. package/dist/Thread.js.map +1 -0
  100. package/dist/VoicePlayer/context.js +7 -0
  101. package/dist/VoicePlayer/useVoicePlayer.js +71 -0
  102. package/dist/VoiceRecorder/context.js +132 -0
  103. package/dist/VoiceRecorder/useVoiceRecorder.js +108 -0
  104. package/dist/chunks/bundle--Ejuxki1.js +16 -0
  105. package/dist/chunks/bundle--Ejuxki1.js.map +1 -0
  106. package/dist/chunks/bundle-14ncl99m.js +12 -0
  107. package/dist/chunks/bundle-14ncl99m.js.map +1 -0
  108. package/dist/chunks/bundle-2Op65qKC.js +277 -0
  109. package/dist/chunks/bundle-2Op65qKC.js.map +1 -0
  110. package/dist/chunks/bundle-3n2XFetI.js +16 -0
  111. package/dist/chunks/bundle-3n2XFetI.js.map +1 -0
  112. package/dist/chunks/bundle-4F9sKnDa.js +176 -0
  113. package/dist/chunks/bundle-4F9sKnDa.js.map +1 -0
  114. package/dist/chunks/bundle-5ZJpptGh.js +174 -0
  115. package/dist/chunks/bundle-5ZJpptGh.js.map +1 -0
  116. package/dist/chunks/bundle-5q71Q0qR.js +211 -0
  117. package/dist/chunks/bundle-5q71Q0qR.js.map +1 -0
  118. package/dist/chunks/bundle-6BNmQ0LM.js +13 -0
  119. package/dist/chunks/bundle-6BNmQ0LM.js.map +1 -0
  120. package/dist/chunks/bundle-6Jgiyczc.js +8 -0
  121. package/dist/chunks/bundle-6Jgiyczc.js.map +1 -0
  122. package/dist/chunks/bundle-6KxAQ3DO.js +1853 -0
  123. package/dist/chunks/bundle-6KxAQ3DO.js.map +1 -0
  124. package/dist/chunks/bundle-6_XxQIkT.js +125 -0
  125. package/dist/chunks/bundle-6_XxQIkT.js.map +1 -0
  126. package/dist/chunks/bundle-7JfqNhKH.js +18 -0
  127. package/dist/chunks/bundle-7JfqNhKH.js.map +1 -0
  128. package/dist/chunks/bundle-7sEsVYzR.js +66 -0
  129. package/dist/chunks/bundle-7sEsVYzR.js.map +1 -0
  130. package/dist/chunks/bundle-BLTESd6l.js +230 -0
  131. package/dist/chunks/bundle-BLTESd6l.js.map +1 -0
  132. package/dist/chunks/bundle-BMfmU73b.js +355 -0
  133. package/dist/chunks/bundle-BMfmU73b.js.map +1 -0
  134. package/dist/chunks/bundle-BYmCRR2q.js +15 -0
  135. package/dist/chunks/bundle-BYmCRR2q.js.map +1 -0
  136. package/dist/chunks/bundle-CUfPglBq.js +216 -0
  137. package/dist/chunks/bundle-CUfPglBq.js.map +1 -0
  138. package/dist/chunks/bundle-GWEiVUz_.js +147 -0
  139. package/dist/chunks/bundle-GWEiVUz_.js.map +1 -0
  140. package/dist/chunks/bundle-GxF20zCF.js +29 -0
  141. package/dist/chunks/bundle-GxF20zCF.js.map +1 -0
  142. package/dist/chunks/bundle-Hs9aaQff.js +222 -0
  143. package/dist/chunks/bundle-Hs9aaQff.js.map +1 -0
  144. package/dist/chunks/bundle-Iv7qFX4X.js +834 -0
  145. package/dist/chunks/bundle-Iv7qFX4X.js.map +1 -0
  146. package/dist/chunks/bundle-K753WYIS.js +57 -0
  147. package/dist/chunks/bundle-K753WYIS.js.map +1 -0
  148. package/dist/chunks/bundle-M4oxyPE-.js +24 -0
  149. package/dist/chunks/bundle-M4oxyPE-.js.map +1 -0
  150. package/dist/chunks/bundle-MF8abnx2.js +218 -0
  151. package/dist/chunks/bundle-MF8abnx2.js.map +1 -0
  152. package/dist/chunks/bundle-MPYPncdD.js +4 -0
  153. package/dist/chunks/bundle-MPYPncdD.js.map +1 -0
  154. package/dist/chunks/bundle-NjIn5xfq.js +36 -0
  155. package/dist/chunks/bundle-NjIn5xfq.js.map +1 -0
  156. package/dist/chunks/bundle-OxW3t01r.js +31 -0
  157. package/dist/chunks/bundle-OxW3t01r.js.map +1 -0
  158. package/dist/chunks/bundle-Rl5fvonY.js +1404 -0
  159. package/dist/chunks/bundle-Rl5fvonY.js.map +1 -0
  160. package/dist/chunks/bundle-RrmxRjer.js +508 -0
  161. package/dist/chunks/bundle-RrmxRjer.js.map +1 -0
  162. package/dist/chunks/bundle-U45GcWA_.js +28 -0
  163. package/dist/chunks/bundle-U45GcWA_.js.map +1 -0
  164. package/dist/chunks/bundle-UApGrG-m.js +1541 -0
  165. package/dist/chunks/bundle-UApGrG-m.js.map +1 -0
  166. package/dist/chunks/bundle-UGKbXjDM.js +112 -0
  167. package/dist/chunks/bundle-UGKbXjDM.js.map +1 -0
  168. package/dist/chunks/bundle-Vp2hvuBO.js +31 -0
  169. package/dist/chunks/bundle-Vp2hvuBO.js.map +1 -0
  170. package/dist/chunks/bundle-W3iSjA2l.js +235 -0
  171. package/dist/chunks/bundle-W3iSjA2l.js.map +1 -0
  172. package/dist/chunks/bundle-_HbjO2rd.js +262 -0
  173. package/dist/chunks/bundle-_HbjO2rd.js.map +1 -0
  174. package/dist/chunks/bundle-a2JLFpDM.js +78 -0
  175. package/dist/chunks/bundle-a2JLFpDM.js.map +1 -0
  176. package/dist/chunks/bundle-a8y3Ewac.js +174 -0
  177. package/dist/chunks/bundle-a8y3Ewac.js.map +1 -0
  178. package/dist/chunks/bundle-dVgSt0b0.js +36 -0
  179. package/dist/chunks/bundle-dVgSt0b0.js.map +1 -0
  180. package/dist/chunks/bundle-dxJV8pSS.js +76 -0
  181. package/dist/chunks/bundle-dxJV8pSS.js.map +1 -0
  182. package/dist/chunks/bundle-eBjVWhHZ.js +96 -0
  183. package/dist/chunks/bundle-eBjVWhHZ.js.map +1 -0
  184. package/dist/chunks/bundle-e_9mGqwg.js +13 -0
  185. package/dist/chunks/bundle-e_9mGqwg.js.map +1 -0
  186. package/dist/chunks/bundle-gXxnKnlk.js +9 -0
  187. package/dist/chunks/bundle-gXxnKnlk.js.map +1 -0
  188. package/dist/chunks/bundle-gkOxTHma.js +657 -0
  189. package/dist/chunks/bundle-gkOxTHma.js.map +1 -0
  190. package/dist/chunks/bundle-jczKqLnP.js +24 -0
  191. package/dist/chunks/bundle-jczKqLnP.js.map +1 -0
  192. package/dist/chunks/bundle-lnteErrw.js +5 -0
  193. package/dist/chunks/bundle-lnteErrw.js.map +1 -0
  194. package/dist/chunks/bundle-m-DDpdq8.js +70 -0
  195. package/dist/chunks/bundle-m-DDpdq8.js.map +1 -0
  196. package/dist/chunks/bundle-oTQSHYWK.js +98 -0
  197. package/dist/chunks/bundle-oTQSHYWK.js.map +1 -0
  198. package/dist/chunks/bundle-q496PSxP.js +72 -0
  199. package/dist/chunks/bundle-q496PSxP.js.map +1 -0
  200. package/dist/chunks/bundle-qHAQziqO.js +97 -0
  201. package/dist/chunks/bundle-qHAQziqO.js.map +1 -0
  202. package/dist/chunks/bundle-qufSYree.js +14 -0
  203. package/dist/chunks/bundle-qufSYree.js.map +1 -0
  204. package/dist/chunks/bundle-rdL93Rxj.js +42 -0
  205. package/dist/chunks/bundle-rdL93Rxj.js.map +1 -0
  206. package/dist/chunks/bundle-rfKswtch.js +134 -0
  207. package/dist/chunks/bundle-rfKswtch.js.map +1 -0
  208. package/dist/chunks/bundle-saiSPI85.js +4 -0
  209. package/dist/chunks/bundle-saiSPI85.js.map +1 -0
  210. package/dist/chunks/bundle-uDaAbuPs.js +132 -0
  211. package/dist/chunks/bundle-uDaAbuPs.js.map +1 -0
  212. package/dist/chunks/bundle-wfnnwHTT.js +77 -0
  213. package/dist/chunks/bundle-wfnnwHTT.js.map +1 -0
  214. package/dist/chunks/bundle-x4ZuQz8S.js +4 -0
  215. package/dist/chunks/bundle-x4ZuQz8S.js.map +1 -0
  216. package/dist/chunks/bundle-xTeLtbXU.js +4 -0
  217. package/dist/chunks/bundle-xTeLtbXU.js.map +1 -0
  218. package/dist/chunks/bundle-yOmQxfc5.js +131 -0
  219. package/dist/chunks/bundle-yOmQxfc5.js.map +1 -0
  220. package/dist/chunks/bundle-y_cfYqAg.js +69 -0
  221. package/dist/chunks/bundle-y_cfYqAg.js.map +1 -0
  222. package/dist/chunks/bundle-ybeKF-fO.js +26 -0
  223. package/dist/chunks/bundle-ybeKF-fO.js.map +1 -0
  224. package/dist/chunks/bundle-ypBBz_XL.js +62 -0
  225. package/dist/chunks/bundle-ypBBz_XL.js.map +1 -0
  226. package/dist/chunks/bundle-zrpCI795.js +25 -0
  227. package/dist/chunks/bundle-zrpCI795.js.map +1 -0
  228. package/dist/cjs/App.js +424 -0
  229. package/dist/cjs/App.js.map +1 -0
  230. package/dist/cjs/Channel/components/ChannelHeader.js +69 -0
  231. package/dist/cjs/Channel/components/ChannelUI.js +164 -0
  232. package/dist/cjs/Channel/components/ChannelUI.js.map +1 -0
  233. package/dist/cjs/Channel/components/FileViewer.js +93 -0
  234. package/dist/cjs/Channel/components/FrozenNotification.js +18 -0
  235. package/dist/cjs/Channel/components/Message.js +343 -0
  236. package/dist/cjs/Channel/components/MessageInput.js +210 -0
  237. package/dist/cjs/Channel/components/MessageInput.js.map +1 -0
  238. package/dist/cjs/Channel/components/MessageList.js +117 -0
  239. package/dist/cjs/Channel/components/RemoveMessageModal.js +54 -0
  240. package/dist/cjs/Channel/components/SuggestedMentionList.js +200 -0
  241. package/dist/cjs/Channel/components/TypingIndicator.js +89 -0
  242. package/dist/cjs/Channel/components/UnreadCount.js +35 -0
  243. package/dist/cjs/Channel/context.js +31 -0
  244. package/dist/cjs/Channel/hooks/useHandleUploadFiles.js +135 -0
  245. package/dist/cjs/Channel/hooks/useHandleUploadFiles.js.map +1 -0
  246. package/dist/cjs/Channel/hooks/useInitialMessagesFetch.js +111 -0
  247. package/dist/cjs/Channel/utils/compareMessagesForGrouping.js +28 -0
  248. package/dist/cjs/Channel/utils/getMessagePartsInfo.js +36 -0
  249. package/dist/cjs/Channel.js +134 -0
  250. package/dist/cjs/Channel.js.map +1 -0
  251. package/dist/cjs/ChannelList/components/AddChannel.js +66 -0
  252. package/dist/cjs/ChannelList/components/ChannelListHeader.js +43 -0
  253. package/dist/cjs/ChannelList/components/ChannelListUI.js +149 -0
  254. package/dist/cjs/ChannelList/components/ChannelPreview.js +133 -0
  255. package/dist/cjs/ChannelList/components/ChannelPreviewAction.js +73 -0
  256. package/dist/cjs/ChannelList/context.js +22 -0
  257. package/dist/cjs/ChannelList.js +83 -0
  258. package/dist/cjs/ChannelSettings/components/ChannelProfile.js +67 -0
  259. package/dist/cjs/ChannelSettings/components/ChannelSettingsUI.js +121 -0
  260. package/dist/cjs/ChannelSettings/components/EditDetailsModal.js +99 -0
  261. package/dist/cjs/ChannelSettings/components/LeaveChannel.js +69 -0
  262. package/dist/cjs/ChannelSettings/components/ModerationPanel.js +457 -0
  263. package/dist/cjs/ChannelSettings/components/UserListItem.js +69 -0
  264. package/dist/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  265. package/dist/cjs/ChannelSettings/components/UserPanel.js +66 -0
  266. package/dist/cjs/ChannelSettings/context.js +72 -0
  267. package/dist/cjs/ChannelSettings.js +63 -0
  268. package/dist/cjs/CreateChannel/components/CreateChannelUI.js +50 -0
  269. package/dist/cjs/CreateChannel/components/InviteUsers.js +169 -0
  270. package/dist/cjs/CreateChannel/components/SelectChannelType.js +82 -0
  271. package/dist/cjs/CreateChannel/context.js +16 -0
  272. package/dist/cjs/CreateChannel.js +46 -0
  273. package/dist/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +70 -0
  274. package/dist/cjs/CreateOpenChannel/context.js +52 -0
  275. package/dist/cjs/CreateOpenChannel.js +35 -0
  276. package/dist/cjs/EditUserProfile/components/EditUserProfileUI.js +125 -0
  277. package/dist/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  278. package/dist/cjs/EditUserProfile.js +36 -0
  279. package/dist/cjs/MessageSearch/components/MessageSearchUI.js +94 -0
  280. package/dist/cjs/MessageSearch/context.js +261 -0
  281. package/dist/cjs/MessageSearch.js +79 -0
  282. package/dist/cjs/OpenChannel/components/FrozenChannelNotification.js +17 -0
  283. package/dist/cjs/OpenChannel/components/OpenChannelHeader.js +56 -0
  284. package/dist/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  285. package/dist/cjs/OpenChannel/components/OpenChannelInput.js +65 -0
  286. package/dist/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  287. package/dist/cjs/OpenChannel/components/OpenChannelMessage.js +199 -0
  288. package/dist/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  289. package/dist/cjs/OpenChannel/components/OpenChannelMessageList.js +124 -0
  290. package/dist/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  291. package/dist/cjs/OpenChannel/components/OpenChannelUI.js +104 -0
  292. package/dist/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  293. package/dist/cjs/OpenChannel/context.js +36 -0
  294. package/dist/cjs/OpenChannel/context.js.map +1 -0
  295. package/dist/cjs/OpenChannel.js +82 -0
  296. package/dist/cjs/OpenChannel.js.map +1 -0
  297. package/dist/cjs/OpenChannelList/components/OpenChannelListUI.js +116 -0
  298. package/dist/cjs/OpenChannelList/components/OpenChannelPreview.js +31 -0
  299. package/dist/cjs/OpenChannelList/context.js +17 -0
  300. package/dist/cjs/OpenChannelList.js +47 -0
  301. package/dist/cjs/OpenChannelSettings/components/EditDetailsModal.js +91 -0
  302. package/dist/cjs/OpenChannelSettings/components/OpenChannelProfile.js +58 -0
  303. package/dist/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +92 -0
  304. package/dist/cjs/OpenChannelSettings/components/OperatorUI.js +508 -0
  305. package/dist/cjs/OpenChannelSettings/components/ParticipantUI.js +42 -0
  306. package/dist/cjs/OpenChannelSettings/context.js +126 -0
  307. package/dist/cjs/OpenChannelSettings.js +58 -0
  308. package/dist/cjs/SendbirdProvider.js +1066 -0
  309. package/dist/cjs/Thread/components/ParentMessageInfo.js +254 -0
  310. package/dist/cjs/Thread/components/ParentMessageInfo.js.map +1 -0
  311. package/dist/cjs/Thread/components/ParentMessageInfoItem.js +150 -0
  312. package/dist/cjs/Thread/components/ThreadHeader.js +34 -0
  313. package/dist/cjs/Thread/components/ThreadList.js +172 -0
  314. package/dist/cjs/Thread/components/ThreadListItem.js +335 -0
  315. package/dist/cjs/Thread/components/ThreadListItem.js.map +1 -0
  316. package/dist/cjs/Thread/components/ThreadMessageInput.js +189 -0
  317. package/dist/cjs/Thread/components/ThreadMessageInput.js.map +1 -0
  318. package/dist/cjs/Thread/components/ThreadUI.js +268 -0
  319. package/dist/cjs/Thread/components/ThreadUI.js.map +1 -0
  320. package/dist/cjs/Thread/context.js +1337 -0
  321. package/dist/cjs/Thread/context.js.map +1 -0
  322. package/dist/cjs/Thread.js +130 -0
  323. package/dist/cjs/Thread.js.map +1 -0
  324. package/dist/cjs/VoicePlayer/context.js +15 -0
  325. package/dist/cjs/VoicePlayer/useVoicePlayer.js +73 -0
  326. package/dist/cjs/VoiceRecorder/context.js +138 -0
  327. package/dist/cjs/VoiceRecorder/useVoiceRecorder.js +111 -0
  328. package/dist/cjs/chunks/bundle--A7guNuh.js +179 -0
  329. package/dist/cjs/chunks/bundle--A7guNuh.js.map +1 -0
  330. package/dist/cjs/chunks/bundle--gwwLhzk.js +20 -0
  331. package/dist/cjs/chunks/bundle--gwwLhzk.js.map +1 -0
  332. package/dist/cjs/chunks/bundle-0fVnLVNe.js +236 -0
  333. package/dist/cjs/chunks/bundle-0fVnLVNe.js.map +1 -0
  334. package/dist/cjs/chunks/bundle-0pCHXNhB.js +102 -0
  335. package/dist/cjs/chunks/bundle-0pCHXNhB.js.map +1 -0
  336. package/dist/cjs/chunks/bundle-1NVer2pf.js +279 -0
  337. package/dist/cjs/chunks/bundle-1NVer2pf.js.map +1 -0
  338. package/dist/cjs/chunks/bundle-1m_ISTBo.js +224 -0
  339. package/dist/cjs/chunks/bundle-1m_ISTBo.js.map +1 -0
  340. package/dist/cjs/chunks/bundle-21NdG-dk.js +839 -0
  341. package/dist/cjs/chunks/bundle-21NdG-dk.js.map +1 -0
  342. package/dist/cjs/chunks/bundle-2Gla4s_W.js +69 -0
  343. package/dist/cjs/chunks/bundle-2Gla4s_W.js.map +1 -0
  344. package/dist/cjs/chunks/bundle-2OrFys0C.js +35 -0
  345. package/dist/cjs/chunks/bundle-2OrFys0C.js.map +1 -0
  346. package/dist/cjs/chunks/bundle-2k4v26zP.js +79 -0
  347. package/dist/cjs/chunks/bundle-2k4v26zP.js.map +1 -0
  348. package/dist/cjs/chunks/bundle-3CEbSubz.js +1858 -0
  349. package/dist/cjs/chunks/bundle-3CEbSubz.js.map +1 -0
  350. package/dist/cjs/chunks/bundle-4RnnhACR.js +84 -0
  351. package/dist/cjs/chunks/bundle-4RnnhACR.js.map +1 -0
  352. package/dist/cjs/chunks/bundle-4c_n4Hqm.js +220 -0
  353. package/dist/cjs/chunks/bundle-4c_n4Hqm.js.map +1 -0
  354. package/dist/cjs/chunks/bundle-5ApFd_AY.js +707 -0
  355. package/dist/cjs/chunks/bundle-5ApFd_AY.js.map +1 -0
  356. package/dist/cjs/chunks/bundle-60azKP5A.js +26 -0
  357. package/dist/cjs/chunks/bundle-60azKP5A.js.map +1 -0
  358. package/dist/cjs/chunks/bundle-66bD8OVx.js +84 -0
  359. package/dist/cjs/chunks/bundle-66bD8OVx.js.map +1 -0
  360. package/dist/cjs/chunks/bundle-9-nr_N-b.js +74 -0
  361. package/dist/cjs/chunks/bundle-9-nr_N-b.js.map +1 -0
  362. package/dist/cjs/chunks/bundle-9pKlhVIU.js +178 -0
  363. package/dist/cjs/chunks/bundle-9pKlhVIU.js.map +1 -0
  364. package/dist/cjs/chunks/bundle-BuqbuTrW.js +217 -0
  365. package/dist/cjs/chunks/bundle-BuqbuTrW.js.map +1 -0
  366. package/dist/cjs/chunks/bundle-CCMHQL0G.js +238 -0
  367. package/dist/cjs/chunks/bundle-CCMHQL0G.js.map +1 -0
  368. package/dist/cjs/chunks/bundle-Et2Mrxtk.js +74 -0
  369. package/dist/cjs/chunks/bundle-Et2Mrxtk.js.map +1 -0
  370. package/dist/cjs/chunks/bundle-J8UlQsgX.js +6 -0
  371. package/dist/cjs/chunks/bundle-J8UlQsgX.js.map +1 -0
  372. package/dist/cjs/chunks/bundle-MH5QFTEj.js +360 -0
  373. package/dist/cjs/chunks/bundle-MH5QFTEj.js.map +1 -0
  374. package/dist/cjs/chunks/bundle-NE9TILWI.js +28 -0
  375. package/dist/cjs/chunks/bundle-NE9TILWI.js.map +1 -0
  376. package/dist/cjs/chunks/bundle-NkP5dRWo.js +181 -0
  377. package/dist/cjs/chunks/bundle-NkP5dRWo.js.map +1 -0
  378. package/dist/cjs/chunks/bundle-NrEnVvdl.js +17 -0
  379. package/dist/cjs/chunks/bundle-NrEnVvdl.js.map +1 -0
  380. package/dist/cjs/chunks/bundle-Nz8Lrwe4.js +11 -0
  381. package/dist/cjs/chunks/bundle-Nz8Lrwe4.js.map +1 -0
  382. package/dist/cjs/chunks/bundle-Ptyw-8Gc.js +50 -0
  383. package/dist/cjs/chunks/bundle-Ptyw-8Gc.js.map +1 -0
  384. package/dist/cjs/chunks/bundle-PvmgqR2n.js +15 -0
  385. package/dist/cjs/chunks/bundle-PvmgqR2n.js.map +1 -0
  386. package/dist/cjs/chunks/bundle-SOsWW37c.js +6 -0
  387. package/dist/cjs/chunks/bundle-SOsWW37c.js.map +1 -0
  388. package/dist/cjs/chunks/bundle-V1HT7uWN.js +8 -0
  389. package/dist/cjs/chunks/bundle-V1HT7uWN.js.map +1 -0
  390. package/dist/cjs/chunks/bundle-V2Qx8kYB.js +99 -0
  391. package/dist/cjs/chunks/bundle-V2Qx8kYB.js.map +1 -0
  392. package/dist/cjs/chunks/bundle-Ve2qVeg-.js +30 -0
  393. package/dist/cjs/chunks/bundle-Ve2qVeg-.js.map +1 -0
  394. package/dist/cjs/chunks/bundle-X2iyUz_d.js +27 -0
  395. package/dist/cjs/chunks/bundle-X2iyUz_d.js.map +1 -0
  396. package/dist/cjs/chunks/bundle-XAU1mgI8.js +39 -0
  397. package/dist/cjs/chunks/bundle-XAU1mgI8.js.map +1 -0
  398. package/dist/cjs/chunks/bundle-Xwc-PXin.js +27 -0
  399. package/dist/cjs/chunks/bundle-Xwc-PXin.js.map +1 -0
  400. package/dist/cjs/chunks/bundle-YEhDTta6.js +19 -0
  401. package/dist/cjs/chunks/bundle-YEhDTta6.js.map +1 -0
  402. package/dist/cjs/chunks/bundle-Z30xKPjr.js +32 -0
  403. package/dist/cjs/chunks/bundle-Z30xKPjr.js.map +1 -0
  404. package/dist/cjs/chunks/bundle-_fpgAJFT.js +16 -0
  405. package/dist/cjs/chunks/bundle-_fpgAJFT.js.map +1 -0
  406. package/dist/cjs/chunks/bundle-aKKIV6sp.js +68 -0
  407. package/dist/cjs/chunks/bundle-aKKIV6sp.js.map +1 -0
  408. package/dist/cjs/chunks/bundle-alfVNg30.js +22 -0
  409. package/dist/cjs/chunks/bundle-alfVNg30.js.map +1 -0
  410. package/dist/cjs/chunks/bundle-ayxcxLwI.js +264 -0
  411. package/dist/cjs/chunks/bundle-ayxcxLwI.js.map +1 -0
  412. package/dist/cjs/chunks/bundle-bQ1hwrcE.js +6 -0
  413. package/dist/cjs/chunks/bundle-bQ1hwrcE.js.map +1 -0
  414. package/dist/cjs/chunks/bundle-c8PEMQg3.js +137 -0
  415. package/dist/cjs/chunks/bundle-c8PEMQg3.js.map +1 -0
  416. package/dist/cjs/chunks/bundle-eSkHuU0e.js +38 -0
  417. package/dist/cjs/chunks/bundle-eSkHuU0e.js.map +1 -0
  418. package/dist/cjs/chunks/bundle-fV1pX_hi.js +114 -0
  419. package/dist/cjs/chunks/bundle-fV1pX_hi.js.map +1 -0
  420. package/dist/cjs/chunks/bundle-f_lSJlZS.js +15 -0
  421. package/dist/cjs/chunks/bundle-f_lSJlZS.js.map +1 -0
  422. package/dist/cjs/chunks/bundle-gOtrtUIz.js +75 -0
  423. package/dist/cjs/chunks/bundle-gOtrtUIz.js.map +1 -0
  424. package/dist/cjs/chunks/bundle-ga2lvSm8.js +46 -0
  425. package/dist/cjs/chunks/bundle-ga2lvSm8.js.map +1 -0
  426. package/dist/cjs/chunks/bundle-jGjSthM3.js +128 -0
  427. package/dist/cjs/chunks/bundle-jGjSthM3.js.map +1 -0
  428. package/dist/cjs/chunks/bundle-kbntHY88.js +1409 -0
  429. package/dist/cjs/chunks/bundle-kbntHY88.js.map +1 -0
  430. package/dist/cjs/chunks/bundle-oTWBtf3l.js +510 -0
  431. package/dist/cjs/chunks/bundle-oTWBtf3l.js.map +1 -0
  432. package/dist/cjs/chunks/bundle-oXJwwgxy.js +79 -0
  433. package/dist/cjs/chunks/bundle-oXJwwgxy.js.map +1 -0
  434. package/dist/cjs/chunks/bundle-p04f0r41.js +136 -0
  435. package/dist/cjs/chunks/bundle-p04f0r41.js.map +1 -0
  436. package/dist/cjs/chunks/bundle-p9s6eIWW.js +18 -0
  437. package/dist/cjs/chunks/bundle-p9s6eIWW.js.map +1 -0
  438. package/dist/cjs/chunks/bundle-tWIm10AV.js +7 -0
  439. package/dist/cjs/chunks/bundle-tWIm10AV.js.map +1 -0
  440. package/dist/cjs/chunks/bundle-ttM5NXg0.js +224 -0
  441. package/dist/cjs/chunks/bundle-ttM5NXg0.js.map +1 -0
  442. package/dist/cjs/chunks/bundle-wiCMJG39.js +139 -0
  443. package/dist/cjs/chunks/bundle-wiCMJG39.js.map +1 -0
  444. package/dist/cjs/chunks/bundle-xeTDYh-o.js +159 -0
  445. package/dist/cjs/chunks/bundle-xeTDYh-o.js.map +1 -0
  446. package/dist/cjs/chunks/bundle-zBsUorPd.js +109 -0
  447. package/dist/cjs/chunks/bundle-zBsUorPd.js.map +1 -0
  448. package/dist/cjs/chunks/bundle-zaeeh2h7.js +1545 -0
  449. package/dist/cjs/chunks/bundle-zaeeh2h7.js.map +1 -0
  450. package/dist/cjs/chunks/bundle-zpXEP6A3.js +10 -0
  451. package/dist/cjs/chunks/bundle-zpXEP6A3.js.map +1 -0
  452. package/dist/cjs/hooks/useModal.js +59 -0
  453. package/dist/cjs/index.js +223 -0
  454. package/dist/cjs/index.js.map +1 -0
  455. package/dist/cjs/lame.all.js +10 -0
  456. package/dist/cjs/lame.all.js.map +1 -0
  457. package/dist/cjs/pubSub/topics.js +18 -0
  458. package/dist/cjs/sendbirdSelectors.js +580 -0
  459. package/dist/cjs/ui/Accordion.js +52 -0
  460. package/dist/cjs/ui/AccordionGroup.js +17 -0
  461. package/dist/cjs/ui/AdminMessage.js +21 -0
  462. package/dist/cjs/ui/Avatar.js +18 -0
  463. package/dist/cjs/ui/Badge.js +26 -0
  464. package/dist/cjs/ui/BottomSheet.js +38 -0
  465. package/dist/cjs/ui/Button.js +53 -0
  466. package/dist/cjs/ui/ChannelAvatar.js +32 -0
  467. package/dist/cjs/ui/ConnectionStatus.js +20 -0
  468. package/dist/cjs/ui/ContextMenu.js +216 -0
  469. package/dist/cjs/ui/DateSeparator.js +21 -0
  470. package/dist/cjs/ui/EmojiReactions.js +179 -0
  471. package/dist/cjs/ui/EmojiReactions.js.map +1 -0
  472. package/dist/cjs/ui/FileMessageItemBody.js +41 -0
  473. package/dist/cjs/ui/FileViewer.js +33 -0
  474. package/dist/cjs/ui/Icon.js +1140 -0
  475. package/dist/cjs/ui/IconButton.js +26 -0
  476. package/dist/cjs/ui/ImageRenderer.js +151 -0
  477. package/dist/cjs/ui/ImageRenderer.js.map +1 -0
  478. package/dist/cjs/ui/Input.js +26 -0
  479. package/dist/cjs/ui/Label.js +16 -0
  480. package/dist/cjs/ui/LinkLabel.js +32 -0
  481. package/dist/cjs/ui/Loader.js +20 -0
  482. package/dist/cjs/ui/MentionLabel.js +69 -0
  483. package/dist/cjs/ui/MentionUserLabel.js +12 -0
  484. package/dist/cjs/ui/MessageContent.js +341 -0
  485. package/dist/cjs/ui/MessageContent.js.map +1 -0
  486. package/dist/cjs/ui/MessageInput/hooks/usePaste.js +17 -0
  487. package/dist/cjs/ui/MessageInput.js +464 -0
  488. package/dist/cjs/ui/MessageItemMenu.js +131 -0
  489. package/dist/cjs/ui/MessageItemReactionMenu.js +58 -0
  490. package/dist/cjs/ui/MessageSearchFileItem.js +92 -0
  491. package/dist/cjs/ui/MessageSearchItem.js +63 -0
  492. package/dist/cjs/ui/MessageStatus.js +26 -0
  493. package/dist/cjs/ui/Modal.js +26 -0
  494. package/dist/cjs/ui/MutedAvatarOverlay.js +23 -0
  495. package/dist/cjs/ui/OGMessageItemBody.js +87 -0
  496. package/dist/cjs/ui/OpenChannelAdminMessage.js +17 -0
  497. package/dist/cjs/ui/OpenChannelAvatar.js +26 -0
  498. package/dist/cjs/ui/OpenchannelConversationHeader.js +34 -0
  499. package/dist/cjs/ui/OpenchannelFileMessage.js +141 -0
  500. package/dist/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  501. package/dist/cjs/ui/OpenchannelOGMessage.js +186 -0
  502. package/dist/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  503. package/dist/cjs/ui/OpenchannelThumbnailMessage.js +178 -0
  504. package/dist/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  505. package/dist/cjs/ui/OpenchannelUserMessage.js +149 -0
  506. package/dist/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  507. package/dist/cjs/ui/PlaceHolder.js +58 -0
  508. package/dist/cjs/ui/PlaybackTime.js +22 -0
  509. package/dist/cjs/ui/QuoteMessage.js +81 -0
  510. package/dist/cjs/ui/QuoteMessageInput.js +84 -0
  511. package/dist/cjs/ui/ReactionBadge.js +28 -0
  512. package/dist/cjs/ui/ReactionButton.js +25 -0
  513. package/dist/cjs/ui/SortByRow.js +31 -0
  514. package/dist/cjs/ui/TextButton.js +17 -0
  515. package/dist/cjs/ui/TextMessageItemBody.js +66 -0
  516. package/dist/cjs/ui/ThreadReplies.js +44 -0
  517. package/dist/cjs/ui/ThumbnailMessageItemBody.js +45 -0
  518. package/dist/cjs/ui/Toggle.js +131 -0
  519. package/dist/cjs/ui/Tooltip.js +17 -0
  520. package/dist/cjs/ui/TooltipWrapper.js +21 -0
  521. package/dist/cjs/ui/TypingIndicatorBubble.js +69 -0
  522. package/dist/cjs/ui/UnknownMessageItemBody.js +29 -0
  523. package/dist/cjs/ui/UserListItem.js +75 -0
  524. package/dist/cjs/ui/UserListItem.js.map +1 -0
  525. package/dist/cjs/ui/UserProfile.js +60 -0
  526. package/dist/cjs/ui/VoiceMessageInput.js +21 -0
  527. package/dist/cjs/ui/VoiceMessageItemBody.js +74 -0
  528. package/dist/cjs/ui/Word.js +82 -0
  529. package/dist/cjs/useSendbirdStateContext.js +27 -0
  530. package/dist/cjs/utils/message/isVoiceMessage.js +11 -0
  531. package/dist/cjs/withSendbird.js +28 -0
  532. package/dist/dist/index.css +7839 -0
  533. package/dist/dist/index.css.map +1 -0
  534. package/dist/hooks/useModal.js +55 -0
  535. package/dist/index.js +201 -0
  536. package/dist/index.js.map +1 -0
  537. package/dist/lame.all.js +4 -0
  538. package/dist/lame.all.js.map +1 -0
  539. package/dist/package.json +1521 -0
  540. package/dist/pubSub/topics.js +2 -0
  541. package/dist/sendbirdSelectors.js +555 -0
  542. package/dist/types/lib/hooks/useConnect/setupConnection.d.ts +18 -0
  543. package/dist/types/modules/Channel/components/Message/hooks/useIsElementInViewport.d.ts +2 -0
  544. package/dist/types/modules/Channel/components/Message/hooks/useLazyImageLoader.d.ts +2 -0
  545. package/dist/types/modules/Channel/context/hooks/useHandleChannelEvents.d.ts +29 -0
  546. package/dist/types/modules/Channel/context/hooks/useHandleUploadFiles.d.ts +19 -0
  547. package/dist/types/modules/Channel/context/hooks/useResendMessageCallback.d.ts +16 -0
  548. package/dist/types/modules/ChannelList/components/ChannelListUI/index.d.ts +18 -0
  549. package/dist/types/modules/ChannelList/dux/actionTypes.d.ts +68 -0
  550. package/dist/types/modules/EditUserProfile/components/EditUserProfileUI/EditUserProfileUIView.d.ts +8 -0
  551. package/dist/types/modules/EditUserProfile/components/EditUserProfileUI/index.d.ts +17 -0
  552. package/dist/types/modules/OpenChannel/context/hooks/useFileUploadCallback.d.ts +27 -0
  553. package/dist/types/types.d.ts +61 -0
  554. package/dist/types/ui/EmojiReactions/ReactionItem.d.ts +18 -0
  555. package/dist/types/ui/Label/stringSet.d.ts +193 -0
  556. package/dist/types/utils/consts.d.ts +24 -0
  557. package/dist/ui/Accordion.js +47 -0
  558. package/dist/ui/AccordionGroup.js +15 -0
  559. package/dist/ui/AdminMessage.js +19 -0
  560. package/dist/ui/Avatar.js +9 -0
  561. package/dist/ui/Badge.js +24 -0
  562. package/dist/ui/BottomSheet.js +36 -0
  563. package/dist/ui/Button.js +49 -0
  564. package/dist/ui/ChannelAvatar.js +30 -0
  565. package/dist/ui/ConnectionStatus.js +18 -0
  566. package/dist/ui/ContextMenu.js +207 -0
  567. package/dist/ui/DateSeparator.js +19 -0
  568. package/dist/ui/EmojiReactions.js +177 -0
  569. package/dist/ui/EmojiReactions.js.map +1 -0
  570. package/dist/ui/FileMessageItemBody.js +39 -0
  571. package/dist/ui/FileViewer.js +24 -0
  572. package/dist/ui/Icon.js +1116 -0
  573. package/dist/ui/IconButton.js +24 -0
  574. package/dist/ui/ImageRenderer.js +145 -0
  575. package/dist/ui/ImageRenderer.js.map +1 -0
  576. package/dist/ui/Input.js +21 -0
  577. package/dist/ui/Label.js +5 -0
  578. package/dist/ui/LinkLabel.js +26 -0
  579. package/dist/ui/Loader.js +18 -0
  580. package/dist/ui/MentionLabel.js +67 -0
  581. package/dist/ui/MentionUserLabel.js +10 -0
  582. package/dist/ui/MessageContent.js +339 -0
  583. package/dist/ui/MessageInput/hooks/usePaste.js +8 -0
  584. package/dist/ui/MessageInput.js +462 -0
  585. package/dist/ui/MessageItemMenu.js +126 -0
  586. package/dist/ui/MessageItemReactionMenu.js +53 -0
  587. package/dist/ui/MessageSearchFileItem.js +90 -0
  588. package/dist/ui/MessageSearchItem.js +61 -0
  589. package/dist/ui/MessageStatus.js +17 -0
  590. package/dist/ui/Modal.js +14 -0
  591. package/dist/ui/MutedAvatarOverlay.js +21 -0
  592. package/dist/ui/OGMessageItemBody.js +85 -0
  593. package/dist/ui/OpenChannelAdminMessage.js +15 -0
  594. package/dist/ui/OpenChannelAvatar.js +24 -0
  595. package/dist/ui/OpenchannelConversationHeader.js +32 -0
  596. package/dist/ui/OpenchannelFileMessage.js +139 -0
  597. package/dist/ui/OpenchannelOGMessage.js +184 -0
  598. package/dist/ui/OpenchannelThumbnailMessage.js +176 -0
  599. package/dist/ui/OpenchannelUserMessage.js +147 -0
  600. package/dist/ui/PlaceHolder.js +53 -0
  601. package/dist/ui/PlaybackTime.js +17 -0
  602. package/dist/ui/QuoteMessage.js +79 -0
  603. package/dist/ui/QuoteMessageInput.js +82 -0
  604. package/dist/ui/ReactionBadge.js +26 -0
  605. package/dist/ui/ReactionButton.js +23 -0
  606. package/dist/ui/SortByRow.js +29 -0
  607. package/dist/ui/TextButton.js +15 -0
  608. package/dist/ui/TextMessageItemBody.js +64 -0
  609. package/dist/ui/ThreadReplies.js +42 -0
  610. package/dist/ui/ThumbnailMessageItemBody.js +43 -0
  611. package/dist/ui/Toggle.js +126 -0
  612. package/dist/ui/Tooltip.js +15 -0
  613. package/dist/ui/TooltipWrapper.js +19 -0
  614. package/dist/ui/TypingIndicatorBubble.js +67 -0
  615. package/dist/ui/UnknownMessageItemBody.js +27 -0
  616. package/dist/ui/UserListItem.js +73 -0
  617. package/dist/ui/UserProfile.js +58 -0
  618. package/dist/ui/VoiceMessageInput.js +15 -0
  619. package/dist/ui/VoiceMessageItemBody.js +69 -0
  620. package/dist/ui/Word.js +80 -0
  621. package/dist/useSendbirdStateContext.js +22 -0
  622. package/dist/utils/message/isVoiceMessage.js +9 -0
  623. package/dist/withSendbird.js +23 -0
  624. package/package.json +111 -1477
  625. package/App.js +0 -421
  626. package/App.js.map +0 -1
  627. package/Channel/components/ChannelHeader.js +0 -67
  628. package/Channel/components/ChannelUI.js +0 -161
  629. package/Channel/components/ChannelUI.js.map +0 -1
  630. package/Channel/components/FileViewer.js +0 -88
  631. package/Channel/components/FrozenNotification.js +0 -16
  632. package/Channel/components/Message.js +0 -341
  633. package/Channel/components/MessageInput.js +0 -204
  634. package/Channel/components/MessageInput.js.map +0 -1
  635. package/Channel/components/MessageList.js +0 -111
  636. package/Channel/components/RemoveMessageModal.js +0 -52
  637. package/Channel/components/SuggestedMentionList.js +0 -198
  638. package/Channel/components/TypingIndicator.js +0 -84
  639. package/Channel/components/UnreadCount.js +0 -33
  640. package/Channel/context.js +0 -24
  641. package/Channel/hooks/useHandleUploadFiles.js +0 -237
  642. package/Channel/hooks/useHandleUploadFiles.js.map +0 -1
  643. package/Channel/hooks/useInitialMessagesFetch.js +0 -109
  644. package/Channel/utils/compareMessagesForGrouping.js +0 -26
  645. package/Channel/utils/getMessagePartsInfo.js +0 -34
  646. package/Channel.js +0 -131
  647. package/Channel.js.map +0 -1
  648. package/ChannelList/components/AddChannel.js +0 -61
  649. package/ChannelList/components/ChannelListHeader.js +0 -41
  650. package/ChannelList/components/ChannelListUI.js +0 -147
  651. package/ChannelList/components/ChannelPreview.js +0 -131
  652. package/ChannelList/components/ChannelPreviewAction.js +0 -71
  653. package/ChannelList/context.js +0 -15
  654. package/ChannelList.js +0 -81
  655. package/ChannelSettings/components/ChannelProfile.js +0 -65
  656. package/ChannelSettings/components/ChannelSettingsUI.js +0 -119
  657. package/ChannelSettings/components/EditDetailsModal.js +0 -97
  658. package/ChannelSettings/components/LeaveChannel.js +0 -67
  659. package/ChannelSettings/components/ModerationPanel.js +0 -455
  660. package/ChannelSettings/components/UserListItem.js +0 -65
  661. package/ChannelSettings/components/UserListItem.js.map +0 -1
  662. package/ChannelSettings/components/UserPanel.js +0 -64
  663. package/ChannelSettings/context.js +0 -69
  664. package/ChannelSettings.js +0 -61
  665. package/CreateChannel/components/CreateChannelUI.js +0 -48
  666. package/CreateChannel/components/InviteUsers.js +0 -167
  667. package/CreateChannel/components/SelectChannelType.js +0 -80
  668. package/CreateChannel/context.js +0 -9
  669. package/CreateChannel.js +0 -44
  670. package/CreateOpenChannel/components/CreateOpenChannelUI.js +0 -68
  671. package/CreateOpenChannel/context.js +0 -49
  672. package/CreateOpenChannel.js +0 -33
  673. package/EditUserProfile/components/EditUserProfileUI.js +0 -98
  674. package/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
  675. package/EditUserProfile.js +0 -34
  676. package/MessageSearch/components/MessageSearchUI.js +0 -89
  677. package/MessageSearch/context.js +0 -258
  678. package/MessageSearch.js +0 -77
  679. package/OpenChannel/components/FrozenChannelNotification.js +0 -15
  680. package/OpenChannel/components/OpenChannelHeader.js +0 -47
  681. package/OpenChannel/components/OpenChannelHeader.js.map +0 -1
  682. package/OpenChannel/components/OpenChannelInput.js +0 -56
  683. package/OpenChannel/components/OpenChannelInput.js.map +0 -1
  684. package/OpenChannel/components/OpenChannelMessage.js +0 -196
  685. package/OpenChannel/components/OpenChannelMessage.js.map +0 -1
  686. package/OpenChannel/components/OpenChannelMessageList.js +0 -121
  687. package/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
  688. package/OpenChannel/components/OpenChannelUI.js +0 -101
  689. package/OpenChannel/components/OpenChannelUI.js.map +0 -1
  690. package/OpenChannel/context.js +0 -14
  691. package/OpenChannel/context.js.map +0 -1
  692. package/OpenChannel.js +0 -79
  693. package/OpenChannel.js.map +0 -1
  694. package/OpenChannelList/components/OpenChannelListUI.js +0 -114
  695. package/OpenChannelList/components/OpenChannelPreview.js +0 -29
  696. package/OpenChannelList/context.js +0 -7
  697. package/OpenChannelList.js +0 -45
  698. package/OpenChannelSettings/components/EditDetailsModal.js +0 -89
  699. package/OpenChannelSettings/components/OpenChannelProfile.js +0 -56
  700. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -90
  701. package/OpenChannelSettings/components/OperatorUI.js +0 -502
  702. package/OpenChannelSettings/components/ParticipantUI.js +0 -36
  703. package/OpenChannelSettings/context.js +0 -123
  704. package/OpenChannelSettings.js +0 -56
  705. package/SendbirdProvider.js +0 -1060
  706. package/Thread/components/ParentMessageInfo.js +0 -246
  707. package/Thread/components/ParentMessageInfo.js.map +0 -1
  708. package/Thread/components/ParentMessageInfoItem.js +0 -148
  709. package/Thread/components/ThreadHeader.js +0 -32
  710. package/Thread/components/ThreadList.js +0 -170
  711. package/Thread/components/ThreadListItem.js +0 -327
  712. package/Thread/components/ThreadListItem.js.map +0 -1
  713. package/Thread/components/ThreadMessageInput.js +0 -186
  714. package/Thread/components/ThreadMessageInput.js.map +0 -1
  715. package/Thread/components/ThreadUI.js +0 -265
  716. package/Thread/components/ThreadUI.js.map +0 -1
  717. package/Thread/context.js +0 -1301
  718. package/Thread/context.js.map +0 -1
  719. package/Thread.js +0 -127
  720. package/Thread.js.map +0 -1
  721. package/VoicePlayer/context.js +0 -7
  722. package/VoicePlayer/useVoicePlayer.js +0 -71
  723. package/VoiceRecorder/context.js +0 -132
  724. package/VoiceRecorder/useVoiceRecorder.js +0 -108
  725. package/chunks/bundle-0IelBspE.js +0 -78
  726. package/chunks/bundle-0IelBspE.js.map +0 -1
  727. package/chunks/bundle-0SIFukuT.js +0 -173
  728. package/chunks/bundle-0SIFukuT.js.map +0 -1
  729. package/chunks/bundle-2AUp3oeN.js +0 -15
  730. package/chunks/bundle-2AUp3oeN.js.map +0 -1
  731. package/chunks/bundle-2YEsND5T.js +0 -4
  732. package/chunks/bundle-2YEsND5T.js.map +0 -1
  733. package/chunks/bundle-3WQuaADd.js +0 -24
  734. package/chunks/bundle-3WQuaADd.js.map +0 -1
  735. package/chunks/bundle-5JvP07dI.js +0 -62
  736. package/chunks/bundle-5JvP07dI.js.map +0 -1
  737. package/chunks/bundle-6uVd8Nrl.js +0 -66
  738. package/chunks/bundle-6uVd8Nrl.js.map +0 -1
  739. package/chunks/bundle-7x4clnC7.js +0 -42
  740. package/chunks/bundle-7x4clnC7.js.map +0 -1
  741. package/chunks/bundle-89OkQYTj.js +0 -4
  742. package/chunks/bundle-89OkQYTj.js.map +0 -1
  743. package/chunks/bundle-8VA5hO1c.js +0 -13
  744. package/chunks/bundle-8VA5hO1c.js.map +0 -1
  745. package/chunks/bundle-967zXkjf.js +0 -12
  746. package/chunks/bundle-967zXkjf.js.map +0 -1
  747. package/chunks/bundle-96I4BbNe.js +0 -1455
  748. package/chunks/bundle-96I4BbNe.js.map +0 -1
  749. package/chunks/bundle-EPtYsHAJ.js +0 -14
  750. package/chunks/bundle-EPtYsHAJ.js.map +0 -1
  751. package/chunks/bundle-EteEacTX.js +0 -220
  752. package/chunks/bundle-EteEacTX.js.map +0 -1
  753. package/chunks/bundle-GGcTNRCI.js +0 -57
  754. package/chunks/bundle-GGcTNRCI.js.map +0 -1
  755. package/chunks/bundle-GiSLT4lG.js +0 -36
  756. package/chunks/bundle-GiSLT4lG.js.map +0 -1
  757. package/chunks/bundle-IeIHBN9i.js +0 -8
  758. package/chunks/bundle-IeIHBN9i.js.map +0 -1
  759. package/chunks/bundle-JSlDfYOF.js +0 -16
  760. package/chunks/bundle-JSlDfYOF.js.map +0 -1
  761. package/chunks/bundle-JhG5BHdE.js +0 -5
  762. package/chunks/bundle-JhG5BHdE.js.map +0 -1
  763. package/chunks/bundle-JuKER7D_.js +0 -213
  764. package/chunks/bundle-JuKER7D_.js.map +0 -1
  765. package/chunks/bundle-Jw6D-oM_.js +0 -18
  766. package/chunks/bundle-Jw6D-oM_.js.map +0 -1
  767. package/chunks/bundle-KOKqPpBq.js +0 -9
  768. package/chunks/bundle-KOKqPpBq.js.map +0 -1
  769. package/chunks/bundle-Ku1a64TD.js +0 -230
  770. package/chunks/bundle-Ku1a64TD.js.map +0 -1
  771. package/chunks/bundle-LTnLzJFb.js +0 -176
  772. package/chunks/bundle-LTnLzJFb.js.map +0 -1
  773. package/chunks/bundle-LhtrqZSE.js +0 -26
  774. package/chunks/bundle-LhtrqZSE.js.map +0 -1
  775. package/chunks/bundle-Mn36ivpf.js +0 -76
  776. package/chunks/bundle-Mn36ivpf.js.map +0 -1
  777. package/chunks/bundle-Nv1SlZSC.js +0 -72
  778. package/chunks/bundle-Nv1SlZSC.js.map +0 -1
  779. package/chunks/bundle-OiOp4RUP.js +0 -98
  780. package/chunks/bundle-OiOp4RUP.js.map +0 -1
  781. package/chunks/bundle-PwOQ689V.js +0 -28
  782. package/chunks/bundle-PwOQ689V.js.map +0 -1
  783. package/chunks/bundle-QO9wq7-1.js +0 -1519
  784. package/chunks/bundle-QO9wq7-1.js.map +0 -1
  785. package/chunks/bundle-Sk3SXXP7.js +0 -30
  786. package/chunks/bundle-Sk3SXXP7.js.map +0 -1
  787. package/chunks/bundle-Tep20T57.js +0 -70
  788. package/chunks/bundle-Tep20T57.js.map +0 -1
  789. package/chunks/bundle-WZvwkbYN.js +0 -69
  790. package/chunks/bundle-WZvwkbYN.js.map +0 -1
  791. package/chunks/bundle-Xly_X4hP.js +0 -16
  792. package/chunks/bundle-Xly_X4hP.js.map +0 -1
  793. package/chunks/bundle-Xq25cpwP.js +0 -826
  794. package/chunks/bundle-Xq25cpwP.js.map +0 -1
  795. package/chunks/bundle-Y6TqPszM.js +0 -97
  796. package/chunks/bundle-Y6TqPszM.js.map +0 -1
  797. package/chunks/bundle-YQkYq090.js +0 -13
  798. package/chunks/bundle-YQkYq090.js.map +0 -1
  799. package/chunks/bundle-YdRy5sj8.js +0 -355
  800. package/chunks/bundle-YdRy5sj8.js.map +0 -1
  801. package/chunks/bundle-ZNwxfYJx.js +0 -24
  802. package/chunks/bundle-ZNwxfYJx.js.map +0 -1
  803. package/chunks/bundle-ZT6XnGSN.js +0 -657
  804. package/chunks/bundle-ZT6XnGSN.js.map +0 -1
  805. package/chunks/bundle-cJc3JBZb.js +0 -77
  806. package/chunks/bundle-cJc3JBZb.js.map +0 -1
  807. package/chunks/bundle-dJBzT033.js +0 -31
  808. package/chunks/bundle-dJBzT033.js.map +0 -1
  809. package/chunks/bundle-h4Ck6NLh.js +0 -25
  810. package/chunks/bundle-h4Ck6NLh.js.map +0 -1
  811. package/chunks/bundle-hGeYEXGB.js +0 -125
  812. package/chunks/bundle-hGeYEXGB.js.map +0 -1
  813. package/chunks/bundle-jw3t70tT.js +0 -233
  814. package/chunks/bundle-jw3t70tT.js.map +0 -1
  815. package/chunks/bundle-jyTJAjUy.js +0 -134
  816. package/chunks/bundle-jyTJAjUy.js.map +0 -1
  817. package/chunks/bundle-k4WuO78S.js +0 -222
  818. package/chunks/bundle-k4WuO78S.js.map +0 -1
  819. package/chunks/bundle-l0M5nN1Q.js +0 -131
  820. package/chunks/bundle-l0M5nN1Q.js.map +0 -1
  821. package/chunks/bundle-lSKfBDuq.js +0 -132
  822. package/chunks/bundle-lSKfBDuq.js.map +0 -1
  823. package/chunks/bundle-menQ38z9.js +0 -147
  824. package/chunks/bundle-menQ38z9.js.map +0 -1
  825. package/chunks/bundle-nHhZeAVb.js +0 -96
  826. package/chunks/bundle-nHhZeAVb.js.map +0 -1
  827. package/chunks/bundle-oghsyfOE.js +0 -174
  828. package/chunks/bundle-oghsyfOE.js.map +0 -1
  829. package/chunks/bundle-pCwi8C-K.js +0 -29
  830. package/chunks/bundle-pCwi8C-K.js.map +0 -1
  831. package/chunks/bundle-pmVgESW3.js +0 -1853
  832. package/chunks/bundle-pmVgESW3.js.map +0 -1
  833. package/chunks/bundle-s3qW-HFQ.js +0 -36
  834. package/chunks/bundle-s3qW-HFQ.js.map +0 -1
  835. package/chunks/bundle-tUJWK_IX.js +0 -277
  836. package/chunks/bundle-tUJWK_IX.js.map +0 -1
  837. package/chunks/bundle-vSJ8dTAZ.js +0 -211
  838. package/chunks/bundle-vSJ8dTAZ.js.map +0 -1
  839. package/chunks/bundle-wRCPXISN.js +0 -262
  840. package/chunks/bundle-wRCPXISN.js.map +0 -1
  841. package/chunks/bundle-xgxXEKxk.js +0 -508
  842. package/chunks/bundle-xgxXEKxk.js.map +0 -1
  843. package/chunks/bundle-zCWUhqT2.js +0 -4
  844. package/chunks/bundle-zCWUhqT2.js.map +0 -1
  845. package/chunks/bundle-zz1eCYds.js +0 -4
  846. package/chunks/bundle-zz1eCYds.js.map +0 -1
  847. package/cjs/App.js +0 -423
  848. package/cjs/App.js.map +0 -1
  849. package/cjs/Channel/components/ChannelHeader.js +0 -69
  850. package/cjs/Channel/components/ChannelUI.js +0 -163
  851. package/cjs/Channel/components/ChannelUI.js.map +0 -1
  852. package/cjs/Channel/components/FileViewer.js +0 -93
  853. package/cjs/Channel/components/FrozenNotification.js +0 -18
  854. package/cjs/Channel/components/Message.js +0 -343
  855. package/cjs/Channel/components/MessageInput.js +0 -209
  856. package/cjs/Channel/components/MessageInput.js.map +0 -1
  857. package/cjs/Channel/components/MessageList.js +0 -117
  858. package/cjs/Channel/components/RemoveMessageModal.js +0 -54
  859. package/cjs/Channel/components/SuggestedMentionList.js +0 -200
  860. package/cjs/Channel/components/TypingIndicator.js +0 -89
  861. package/cjs/Channel/components/UnreadCount.js +0 -35
  862. package/cjs/Channel/context.js +0 -31
  863. package/cjs/Channel/hooks/useHandleUploadFiles.js +0 -239
  864. package/cjs/Channel/hooks/useHandleUploadFiles.js.map +0 -1
  865. package/cjs/Channel/hooks/useInitialMessagesFetch.js +0 -111
  866. package/cjs/Channel/utils/compareMessagesForGrouping.js +0 -28
  867. package/cjs/Channel/utils/getMessagePartsInfo.js +0 -36
  868. package/cjs/Channel.js +0 -133
  869. package/cjs/Channel.js.map +0 -1
  870. package/cjs/ChannelList/components/AddChannel.js +0 -66
  871. package/cjs/ChannelList/components/ChannelListHeader.js +0 -43
  872. package/cjs/ChannelList/components/ChannelListUI.js +0 -149
  873. package/cjs/ChannelList/components/ChannelPreview.js +0 -133
  874. package/cjs/ChannelList/components/ChannelPreviewAction.js +0 -73
  875. package/cjs/ChannelList/context.js +0 -22
  876. package/cjs/ChannelList.js +0 -83
  877. package/cjs/ChannelSettings/components/ChannelProfile.js +0 -67
  878. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +0 -121
  879. package/cjs/ChannelSettings/components/EditDetailsModal.js +0 -99
  880. package/cjs/ChannelSettings/components/LeaveChannel.js +0 -69
  881. package/cjs/ChannelSettings/components/ModerationPanel.js +0 -457
  882. package/cjs/ChannelSettings/components/UserListItem.js +0 -67
  883. package/cjs/ChannelSettings/components/UserPanel.js +0 -66
  884. package/cjs/ChannelSettings/context.js +0 -72
  885. package/cjs/ChannelSettings.js +0 -63
  886. package/cjs/CreateChannel/components/CreateChannelUI.js +0 -50
  887. package/cjs/CreateChannel/components/InviteUsers.js +0 -169
  888. package/cjs/CreateChannel/components/SelectChannelType.js +0 -82
  889. package/cjs/CreateChannel/context.js +0 -16
  890. package/cjs/CreateChannel.js +0 -46
  891. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +0 -70
  892. package/cjs/CreateOpenChannel/context.js +0 -52
  893. package/cjs/CreateOpenChannel.js +0 -35
  894. package/cjs/EditUserProfile/components/EditUserProfileUI.js +0 -100
  895. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
  896. package/cjs/EditUserProfile.js +0 -36
  897. package/cjs/MessageSearch/components/MessageSearchUI.js +0 -94
  898. package/cjs/MessageSearch/context.js +0 -261
  899. package/cjs/MessageSearch.js +0 -79
  900. package/cjs/OpenChannel/components/FrozenChannelNotification.js +0 -17
  901. package/cjs/OpenChannel/components/OpenChannelHeader.js +0 -49
  902. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +0 -1
  903. package/cjs/OpenChannel/components/OpenChannelInput.js +0 -58
  904. package/cjs/OpenChannel/components/OpenChannelInput.js.map +0 -1
  905. package/cjs/OpenChannel/components/OpenChannelMessage.js +0 -198
  906. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +0 -1
  907. package/cjs/OpenChannel/components/OpenChannelMessageList.js +0 -123
  908. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
  909. package/cjs/OpenChannel/components/OpenChannelUI.js +0 -103
  910. package/cjs/OpenChannel/components/OpenChannelUI.js.map +0 -1
  911. package/cjs/OpenChannel/context.js +0 -21
  912. package/cjs/OpenChannel/context.js.map +0 -1
  913. package/cjs/OpenChannel.js +0 -81
  914. package/cjs/OpenChannel.js.map +0 -1
  915. package/cjs/OpenChannelList/components/OpenChannelListUI.js +0 -116
  916. package/cjs/OpenChannelList/components/OpenChannelPreview.js +0 -31
  917. package/cjs/OpenChannelList/context.js +0 -17
  918. package/cjs/OpenChannelList.js +0 -47
  919. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +0 -91
  920. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +0 -58
  921. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -92
  922. package/cjs/OpenChannelSettings/components/OperatorUI.js +0 -508
  923. package/cjs/OpenChannelSettings/components/ParticipantUI.js +0 -42
  924. package/cjs/OpenChannelSettings/context.js +0 -126
  925. package/cjs/OpenChannelSettings.js +0 -58
  926. package/cjs/SendbirdProvider.js +0 -1066
  927. package/cjs/Thread/components/ParentMessageInfo.js +0 -248
  928. package/cjs/Thread/components/ParentMessageInfo.js.map +0 -1
  929. package/cjs/Thread/components/ParentMessageInfoItem.js +0 -150
  930. package/cjs/Thread/components/ThreadHeader.js +0 -34
  931. package/cjs/Thread/components/ThreadList.js +0 -172
  932. package/cjs/Thread/components/ThreadListItem.js +0 -329
  933. package/cjs/Thread/components/ThreadListItem.js.map +0 -1
  934. package/cjs/Thread/components/ThreadMessageInput.js +0 -188
  935. package/cjs/Thread/components/ThreadMessageInput.js.map +0 -1
  936. package/cjs/Thread/components/ThreadUI.js +0 -267
  937. package/cjs/Thread/components/ThreadUI.js.map +0 -1
  938. package/cjs/Thread/context.js +0 -1304
  939. package/cjs/Thread/context.js.map +0 -1
  940. package/cjs/Thread.js +0 -129
  941. package/cjs/Thread.js.map +0 -1
  942. package/cjs/VoicePlayer/context.js +0 -15
  943. package/cjs/VoicePlayer/useVoicePlayer.js +0 -73
  944. package/cjs/VoiceRecorder/context.js +0 -138
  945. package/cjs/VoiceRecorder/useVoiceRecorder.js +0 -111
  946. package/cjs/chunks/bundle-0MHADZvF.js +0 -84
  947. package/cjs/chunks/bundle-0MHADZvF.js.map +0 -1
  948. package/cjs/chunks/bundle-0bOWh2mP.js +0 -139
  949. package/cjs/chunks/bundle-0bOWh2mP.js.map +0 -1
  950. package/cjs/chunks/bundle-0wbO-LdY.js +0 -46
  951. package/cjs/chunks/bundle-0wbO-LdY.js.map +0 -1
  952. package/cjs/chunks/bundle-5MVOBR4R.js +0 -79
  953. package/cjs/chunks/bundle-5MVOBR4R.js.map +0 -1
  954. package/cjs/chunks/bundle-5NqynIJA.js +0 -264
  955. package/cjs/chunks/bundle-5NqynIJA.js.map +0 -1
  956. package/cjs/chunks/bundle-5cuVj6Hi.js +0 -181
  957. package/cjs/chunks/bundle-5cuVj6Hi.js.map +0 -1
  958. package/cjs/chunks/bundle-7gBYfQwU.js +0 -1523
  959. package/cjs/chunks/bundle-7gBYfQwU.js.map +0 -1
  960. package/cjs/chunks/bundle-A4ywDIVT.js +0 -35
  961. package/cjs/chunks/bundle-A4ywDIVT.js.map +0 -1
  962. package/cjs/chunks/bundle-AQhLE-Ci.js +0 -7
  963. package/cjs/chunks/bundle-AQhLE-Ci.js.map +0 -1
  964. package/cjs/chunks/bundle-AoaxviqO.js +0 -68
  965. package/cjs/chunks/bundle-AoaxviqO.js.map +0 -1
  966. package/cjs/chunks/bundle-BA9K_smf.js +0 -360
  967. package/cjs/chunks/bundle-BA9K_smf.js.map +0 -1
  968. package/cjs/chunks/bundle-EVdeXpsD.js +0 -48
  969. package/cjs/chunks/bundle-EVdeXpsD.js.map +0 -1
  970. package/cjs/chunks/bundle-F--qTOLe.js +0 -707
  971. package/cjs/chunks/bundle-F--qTOLe.js.map +0 -1
  972. package/cjs/chunks/bundle-FV9lCJz1.js +0 -831
  973. package/cjs/chunks/bundle-FV9lCJz1.js.map +0 -1
  974. package/cjs/chunks/bundle-FpImAp7o.js +0 -137
  975. package/cjs/chunks/bundle-FpImAp7o.js.map +0 -1
  976. package/cjs/chunks/bundle-GE1I3PNS.js +0 -84
  977. package/cjs/chunks/bundle-GE1I3PNS.js.map +0 -1
  978. package/cjs/chunks/bundle-HaufoaVC.js +0 -18
  979. package/cjs/chunks/bundle-HaufoaVC.js.map +0 -1
  980. package/cjs/chunks/bundle-HjwY9t7s.js +0 -217
  981. package/cjs/chunks/bundle-HjwY9t7s.js.map +0 -1
  982. package/cjs/chunks/bundle-IxIg8fhp.js +0 -99
  983. package/cjs/chunks/bundle-IxIg8fhp.js.map +0 -1
  984. package/cjs/chunks/bundle-JragPpHy.js +0 -69
  985. package/cjs/chunks/bundle-JragPpHy.js.map +0 -1
  986. package/cjs/chunks/bundle-KKPmuuwX.js +0 -74
  987. package/cjs/chunks/bundle-KKPmuuwX.js.map +0 -1
  988. package/cjs/chunks/bundle-KVlEj9_l.js +0 -1460
  989. package/cjs/chunks/bundle-KVlEj9_l.js.map +0 -1
  990. package/cjs/chunks/bundle-MBuX_zXW.js +0 -27
  991. package/cjs/chunks/bundle-MBuX_zXW.js.map +0 -1
  992. package/cjs/chunks/bundle-MeuNh9Q9.js +0 -17
  993. package/cjs/chunks/bundle-MeuNh9Q9.js.map +0 -1
  994. package/cjs/chunks/bundle-N1ipvkhN.js +0 -6
  995. package/cjs/chunks/bundle-N1ipvkhN.js.map +0 -1
  996. package/cjs/chunks/bundle-NYFm08XH.js +0 -15
  997. package/cjs/chunks/bundle-NYFm08XH.js.map +0 -1
  998. package/cjs/chunks/bundle-Pe-j2f1D.js +0 -8
  999. package/cjs/chunks/bundle-Pe-j2f1D.js.map +0 -1
  1000. package/cjs/chunks/bundle-QH7iLrPR.js +0 -102
  1001. package/cjs/chunks/bundle-QH7iLrPR.js.map +0 -1
  1002. package/cjs/chunks/bundle-SngxTjas.js +0 -30
  1003. package/cjs/chunks/bundle-SngxTjas.js.map +0 -1
  1004. package/cjs/chunks/bundle-VoZZnYtF.js +0 -236
  1005. package/cjs/chunks/bundle-VoZZnYtF.js.map +0 -1
  1006. package/cjs/chunks/bundle-XoWonC_b.js +0 -128
  1007. package/cjs/chunks/bundle-XoWonC_b.js.map +0 -1
  1008. package/cjs/chunks/bundle-YjWwnwWH.js +0 -178
  1009. package/cjs/chunks/bundle-YjWwnwWH.js.map +0 -1
  1010. package/cjs/chunks/bundle-YkzD-qec.js +0 -279
  1011. package/cjs/chunks/bundle-YkzD-qec.js.map +0 -1
  1012. package/cjs/chunks/bundle-ZurhBjw4.js +0 -20
  1013. package/cjs/chunks/bundle-ZurhBjw4.js.map +0 -1
  1014. package/cjs/chunks/bundle-cV7uGK08.js +0 -510
  1015. package/cjs/chunks/bundle-cV7uGK08.js.map +0 -1
  1016. package/cjs/chunks/bundle-fWyUHuJu.js +0 -11
  1017. package/cjs/chunks/bundle-fWyUHuJu.js.map +0 -1
  1018. package/cjs/chunks/bundle-gM8i5lGF.js +0 -27
  1019. package/cjs/chunks/bundle-gM8i5lGF.js.map +0 -1
  1020. package/cjs/chunks/bundle-hxGMLtWg.js +0 -22
  1021. package/cjs/chunks/bundle-hxGMLtWg.js.map +0 -1
  1022. package/cjs/chunks/bundle-i5KLDxjz.js +0 -6
  1023. package/cjs/chunks/bundle-i5KLDxjz.js.map +0 -1
  1024. package/cjs/chunks/bundle-igY82TbB.js +0 -39
  1025. package/cjs/chunks/bundle-igY82TbB.js.map +0 -1
  1026. package/cjs/chunks/bundle-l92Ws-Rs.js +0 -32
  1027. package/cjs/chunks/bundle-l92Ws-Rs.js.map +0 -1
  1028. package/cjs/chunks/bundle-mgmuHFWU.js +0 -26
  1029. package/cjs/chunks/bundle-mgmuHFWU.js.map +0 -1
  1030. package/cjs/chunks/bundle-nGMCZjvM.js +0 -1858
  1031. package/cjs/chunks/bundle-nGMCZjvM.js.map +0 -1
  1032. package/cjs/chunks/bundle-nuIgQkwQ.js +0 -75
  1033. package/cjs/chunks/bundle-nuIgQkwQ.js.map +0 -1
  1034. package/cjs/chunks/bundle-o1ta9AIa.js +0 -19
  1035. package/cjs/chunks/bundle-o1ta9AIa.js.map +0 -1
  1036. package/cjs/chunks/bundle-omofvX-G.js +0 -178
  1037. package/cjs/chunks/bundle-omofvX-G.js.map +0 -1
  1038. package/cjs/chunks/bundle-ow5FLcVV.js +0 -16
  1039. package/cjs/chunks/bundle-ow5FLcVV.js.map +0 -1
  1040. package/cjs/chunks/bundle-pOTnhSyt.js +0 -15
  1041. package/cjs/chunks/bundle-pOTnhSyt.js.map +0 -1
  1042. package/cjs/chunks/bundle-pVKke2mQ.js +0 -224
  1043. package/cjs/chunks/bundle-pVKke2mQ.js.map +0 -1
  1044. package/cjs/chunks/bundle-pxBxPT0b.js +0 -159
  1045. package/cjs/chunks/bundle-pxBxPT0b.js.map +0 -1
  1046. package/cjs/chunks/bundle-tFuTz5CT.js +0 -228
  1047. package/cjs/chunks/bundle-tFuTz5CT.js.map +0 -1
  1048. package/cjs/chunks/bundle-ugapct3R.js +0 -236
  1049. package/cjs/chunks/bundle-ugapct3R.js.map +0 -1
  1050. package/cjs/chunks/bundle-v8bBiJ_c.js +0 -215
  1051. package/cjs/chunks/bundle-v8bBiJ_c.js.map +0 -1
  1052. package/cjs/chunks/bundle-vSdu8rrq.js +0 -74
  1053. package/cjs/chunks/bundle-vSdu8rrq.js.map +0 -1
  1054. package/cjs/chunks/bundle-vWUmeH2R.js +0 -79
  1055. package/cjs/chunks/bundle-vWUmeH2R.js.map +0 -1
  1056. package/cjs/chunks/bundle-vWlSj3_G.js +0 -10
  1057. package/cjs/chunks/bundle-vWlSj3_G.js.map +0 -1
  1058. package/cjs/chunks/bundle-wN0CLPzM.js +0 -38
  1059. package/cjs/chunks/bundle-wN0CLPzM.js.map +0 -1
  1060. package/cjs/chunks/bundle-x3a8KQ02.js +0 -136
  1061. package/cjs/chunks/bundle-x3a8KQ02.js.map +0 -1
  1062. package/cjs/chunks/bundle-xeeBDhY6.js +0 -6
  1063. package/cjs/chunks/bundle-xeeBDhY6.js.map +0 -1
  1064. package/cjs/chunks/bundle-xlnqnYUH.js +0 -109
  1065. package/cjs/chunks/bundle-xlnqnYUH.js.map +0 -1
  1066. package/cjs/chunks/bundle-yTYZiuXi.js +0 -28
  1067. package/cjs/chunks/bundle-yTYZiuXi.js.map +0 -1
  1068. package/cjs/hooks/useModal.js +0 -59
  1069. package/cjs/index.js +0 -222
  1070. package/cjs/index.js.map +0 -1
  1071. package/cjs/lame.all.js +0 -16659
  1072. package/cjs/lame.all.js.map +0 -1
  1073. package/cjs/pubSub/topics.js +0 -18
  1074. package/cjs/sendbirdSelectors.js +0 -580
  1075. package/cjs/ui/Accordion.js +0 -52
  1076. package/cjs/ui/AccordionGroup.js +0 -17
  1077. package/cjs/ui/AdminMessage.js +0 -21
  1078. package/cjs/ui/Avatar.js +0 -18
  1079. package/cjs/ui/Badge.js +0 -26
  1080. package/cjs/ui/BottomSheet.js +0 -38
  1081. package/cjs/ui/Button.js +0 -53
  1082. package/cjs/ui/ChannelAvatar.js +0 -32
  1083. package/cjs/ui/ConnectionStatus.js +0 -20
  1084. package/cjs/ui/ContextMenu.js +0 -216
  1085. package/cjs/ui/DateSeparator.js +0 -21
  1086. package/cjs/ui/EmojiReactions.js +0 -180
  1087. package/cjs/ui/EmojiReactions.js.map +0 -1
  1088. package/cjs/ui/FileMessageItemBody.js +0 -41
  1089. package/cjs/ui/FileViewer.js +0 -33
  1090. package/cjs/ui/Icon.js +0 -1140
  1091. package/cjs/ui/IconButton.js +0 -26
  1092. package/cjs/ui/ImageRenderer.js +0 -120
  1093. package/cjs/ui/ImageRenderer.js.map +0 -1
  1094. package/cjs/ui/Input.js +0 -26
  1095. package/cjs/ui/Label.js +0 -16
  1096. package/cjs/ui/LinkLabel.js +0 -32
  1097. package/cjs/ui/Loader.js +0 -20
  1098. package/cjs/ui/MentionLabel.js +0 -69
  1099. package/cjs/ui/MentionUserLabel.js +0 -12
  1100. package/cjs/ui/MessageContent.js +0 -339
  1101. package/cjs/ui/MessageInput/hooks/usePaste.js +0 -17
  1102. package/cjs/ui/MessageInput.js +0 -464
  1103. package/cjs/ui/MessageItemMenu.js +0 -131
  1104. package/cjs/ui/MessageItemReactionMenu.js +0 -58
  1105. package/cjs/ui/MessageSearchFileItem.js +0 -92
  1106. package/cjs/ui/MessageSearchItem.js +0 -63
  1107. package/cjs/ui/MessageStatus.js +0 -26
  1108. package/cjs/ui/Modal.js +0 -26
  1109. package/cjs/ui/MutedAvatarOverlay.js +0 -23
  1110. package/cjs/ui/OGMessageItemBody.js +0 -87
  1111. package/cjs/ui/OpenChannelAdminMessage.js +0 -17
  1112. package/cjs/ui/OpenChannelAvatar.js +0 -26
  1113. package/cjs/ui/OpenchannelConversationHeader.js +0 -34
  1114. package/cjs/ui/OpenchannelFileMessage.js +0 -139
  1115. package/cjs/ui/OpenchannelOGMessage.js +0 -184
  1116. package/cjs/ui/OpenchannelThumbnailMessage.js +0 -176
  1117. package/cjs/ui/OpenchannelUserMessage.js +0 -147
  1118. package/cjs/ui/PlaceHolder.js +0 -58
  1119. package/cjs/ui/PlaybackTime.js +0 -22
  1120. package/cjs/ui/QuoteMessage.js +0 -81
  1121. package/cjs/ui/QuoteMessageInput.js +0 -84
  1122. package/cjs/ui/ReactionBadge.js +0 -28
  1123. package/cjs/ui/ReactionButton.js +0 -25
  1124. package/cjs/ui/SortByRow.js +0 -31
  1125. package/cjs/ui/TextButton.js +0 -17
  1126. package/cjs/ui/TextMessageItemBody.js +0 -66
  1127. package/cjs/ui/ThreadReplies.js +0 -44
  1128. package/cjs/ui/ThumbnailMessageItemBody.js +0 -45
  1129. package/cjs/ui/Toggle.js +0 -131
  1130. package/cjs/ui/Tooltip.js +0 -17
  1131. package/cjs/ui/TooltipWrapper.js +0 -21
  1132. package/cjs/ui/TypingIndicatorBubble.js +0 -69
  1133. package/cjs/ui/UnknownMessageItemBody.js +0 -29
  1134. package/cjs/ui/UserListItem.js +0 -73
  1135. package/cjs/ui/UserProfile.js +0 -60
  1136. package/cjs/ui/VoiceMessageInput.js +0 -21
  1137. package/cjs/ui/VoiceMessageItemBody.js +0 -74
  1138. package/cjs/ui/Word.js +0 -82
  1139. package/cjs/useSendbirdStateContext.js +0 -27
  1140. package/cjs/utils/message/isVoiceMessage.js +0 -11
  1141. package/cjs/withSendbird.js +0 -28
  1142. package/dist/index.css +0 -7839
  1143. package/dist/index.css.map +0 -1
  1144. package/hooks/useModal.js +0 -55
  1145. package/index.js +0 -200
  1146. package/index.js.map +0 -1
  1147. package/lame.all.js +0 -16655
  1148. package/lame.all.js.map +0 -1
  1149. package/pubSub/topics.js +0 -2
  1150. package/sendbirdSelectors.js +0 -555
  1151. package/types/lib/hooks/useConnect/setupConnection.d.ts +0 -18
  1152. package/types/modules/Channel/components/MessageInput/useHandleUploadFiles.d.ts +0 -19
  1153. package/types/modules/Channel/context/hooks/useHandleChannelEvents.d.ts +0 -29
  1154. package/types/modules/Channel/context/hooks/useResendMessageCallback.d.ts +0 -14
  1155. package/types/modules/ChannelList/components/ChannelListUI/index.d.ts +0 -23
  1156. package/types/modules/ChannelList/dux/actionTypes.d.ts +0 -66
  1157. package/types/modules/EditUserProfile/components/EditUserProfileUI/index.d.ts +0 -3
  1158. package/types/modules/OpenChannel/context/hooks/useFileUploadCallback.d.ts +0 -27
  1159. package/types/types.d.ts +0 -59
  1160. package/types/ui/EmojiReactions/ReactionItem.d.ts +0 -17
  1161. package/types/ui/Label/stringSet.d.ts +0 -189
  1162. package/types/utils/consts.d.ts +0 -23
  1163. package/ui/Accordion.js +0 -47
  1164. package/ui/AccordionGroup.js +0 -15
  1165. package/ui/AdminMessage.js +0 -19
  1166. package/ui/Avatar.js +0 -9
  1167. package/ui/Badge.js +0 -24
  1168. package/ui/BottomSheet.js +0 -36
  1169. package/ui/Button.js +0 -49
  1170. package/ui/ChannelAvatar.js +0 -30
  1171. package/ui/ConnectionStatus.js +0 -18
  1172. package/ui/ContextMenu.js +0 -207
  1173. package/ui/DateSeparator.js +0 -19
  1174. package/ui/EmojiReactions.js +0 -178
  1175. package/ui/EmojiReactions.js.map +0 -1
  1176. package/ui/FileMessageItemBody.js +0 -39
  1177. package/ui/FileViewer.js +0 -24
  1178. package/ui/Icon.js +0 -1116
  1179. package/ui/IconButton.js +0 -24
  1180. package/ui/ImageRenderer.js +0 -114
  1181. package/ui/ImageRenderer.js.map +0 -1
  1182. package/ui/Input.js +0 -21
  1183. package/ui/Label.js +0 -5
  1184. package/ui/LinkLabel.js +0 -26
  1185. package/ui/Loader.js +0 -18
  1186. package/ui/MentionLabel.js +0 -67
  1187. package/ui/MentionUserLabel.js +0 -10
  1188. package/ui/MessageContent.js +0 -337
  1189. package/ui/MessageContent.js.map +0 -1
  1190. package/ui/MessageInput/hooks/usePaste.js +0 -8
  1191. package/ui/MessageInput.js +0 -462
  1192. package/ui/MessageItemMenu.js +0 -126
  1193. package/ui/MessageItemReactionMenu.js +0 -53
  1194. package/ui/MessageSearchFileItem.js +0 -90
  1195. package/ui/MessageSearchItem.js +0 -61
  1196. package/ui/MessageStatus.js +0 -17
  1197. package/ui/Modal.js +0 -14
  1198. package/ui/MutedAvatarOverlay.js +0 -21
  1199. package/ui/OGMessageItemBody.js +0 -85
  1200. package/ui/OpenChannelAdminMessage.js +0 -15
  1201. package/ui/OpenChannelAvatar.js +0 -24
  1202. package/ui/OpenchannelConversationHeader.js +0 -32
  1203. package/ui/OpenchannelFileMessage.js +0 -137
  1204. package/ui/OpenchannelFileMessage.js.map +0 -1
  1205. package/ui/OpenchannelOGMessage.js +0 -182
  1206. package/ui/OpenchannelOGMessage.js.map +0 -1
  1207. package/ui/OpenchannelThumbnailMessage.js +0 -174
  1208. package/ui/OpenchannelThumbnailMessage.js.map +0 -1
  1209. package/ui/OpenchannelUserMessage.js +0 -145
  1210. package/ui/OpenchannelUserMessage.js.map +0 -1
  1211. package/ui/PlaceHolder.js +0 -53
  1212. package/ui/PlaybackTime.js +0 -17
  1213. package/ui/QuoteMessage.js +0 -79
  1214. package/ui/QuoteMessageInput.js +0 -82
  1215. package/ui/ReactionBadge.js +0 -26
  1216. package/ui/ReactionButton.js +0 -23
  1217. package/ui/SortByRow.js +0 -29
  1218. package/ui/TextButton.js +0 -15
  1219. package/ui/TextMessageItemBody.js +0 -64
  1220. package/ui/ThreadReplies.js +0 -42
  1221. package/ui/ThumbnailMessageItemBody.js +0 -43
  1222. package/ui/Toggle.js +0 -126
  1223. package/ui/Tooltip.js +0 -15
  1224. package/ui/TooltipWrapper.js +0 -19
  1225. package/ui/TypingIndicatorBubble.js +0 -67
  1226. package/ui/UnknownMessageItemBody.js +0 -27
  1227. package/ui/UserListItem.js +0 -71
  1228. package/ui/UserListItem.js.map +0 -1
  1229. package/ui/UserProfile.js +0 -58
  1230. package/ui/VoiceMessageInput.js +0 -15
  1231. package/ui/VoiceMessageItemBody.js +0 -69
  1232. package/ui/Word.js +0 -80
  1233. package/useSendbirdStateContext.js +0 -22
  1234. package/utils/message/isVoiceMessage.js +0 -9
  1235. package/withSendbird.js +0 -23
  1236. /package/{Channel → dist/Channel}/components/ChannelHeader.js.map +0 -0
  1237. /package/{Channel → dist/Channel}/components/FileViewer.js.map +0 -0
  1238. /package/{Channel → dist/Channel}/components/FrozenNotification.js.map +0 -0
  1239. /package/{Channel → dist/Channel}/components/Message.js.map +0 -0
  1240. /package/{Channel → dist/Channel}/components/MessageList.js.map +0 -0
  1241. /package/{Channel → dist/Channel}/components/RemoveMessageModal.js.map +0 -0
  1242. /package/{Channel → dist/Channel}/components/SuggestedMentionList.js.map +0 -0
  1243. /package/{Channel → dist/Channel}/components/TypingIndicator.js.map +0 -0
  1244. /package/{Channel → dist/Channel}/components/UnreadCount.js.map +0 -0
  1245. /package/{Channel → dist/Channel}/context.js.map +0 -0
  1246. /package/{Channel → dist/Channel}/hooks/useInitialMessagesFetch.js.map +0 -0
  1247. /package/{Channel → dist/Channel}/utils/compareMessagesForGrouping.js.map +0 -0
  1248. /package/{Channel → dist/Channel}/utils/getMessagePartsInfo.js.map +0 -0
  1249. /package/{ChannelList → dist/ChannelList}/components/AddChannel.js.map +0 -0
  1250. /package/{ChannelList → dist/ChannelList}/components/ChannelListHeader.js.map +0 -0
  1251. /package/{ChannelList → dist/ChannelList}/components/ChannelListUI.js.map +0 -0
  1252. /package/{ChannelList → dist/ChannelList}/components/ChannelPreview.js.map +0 -0
  1253. /package/{ChannelList → dist/ChannelList}/components/ChannelPreviewAction.js.map +0 -0
  1254. /package/{ChannelList → dist/ChannelList}/context.js.map +0 -0
  1255. /package/{ChannelList.js.map → dist/ChannelList.js.map} +0 -0
  1256. /package/{ChannelSettings → dist/ChannelSettings}/components/ChannelProfile.js.map +0 -0
  1257. /package/{ChannelSettings → dist/ChannelSettings}/components/ChannelSettingsUI.js.map +0 -0
  1258. /package/{ChannelSettings → dist/ChannelSettings}/components/EditDetailsModal.js.map +0 -0
  1259. /package/{ChannelSettings → dist/ChannelSettings}/components/LeaveChannel.js.map +0 -0
  1260. /package/{ChannelSettings → dist/ChannelSettings}/components/ModerationPanel.js.map +0 -0
  1261. /package/{cjs → dist}/ChannelSettings/components/UserListItem.js.map +0 -0
  1262. /package/{ChannelSettings → dist/ChannelSettings}/components/UserPanel.js.map +0 -0
  1263. /package/{ChannelSettings → dist/ChannelSettings}/context.js.map +0 -0
  1264. /package/{ChannelSettings.js.map → dist/ChannelSettings.js.map} +0 -0
  1265. /package/{CreateChannel → dist/CreateChannel}/components/CreateChannelUI.js.map +0 -0
  1266. /package/{CreateChannel → dist/CreateChannel}/components/InviteUsers.js.map +0 -0
  1267. /package/{CreateChannel → dist/CreateChannel}/components/SelectChannelType.js.map +0 -0
  1268. /package/{CreateChannel → dist/CreateChannel}/context.js.map +0 -0
  1269. /package/{CreateChannel.js.map → dist/CreateChannel.js.map} +0 -0
  1270. /package/{CreateOpenChannel → dist/CreateOpenChannel}/components/CreateOpenChannelUI.js.map +0 -0
  1271. /package/{CreateOpenChannel → dist/CreateOpenChannel}/context.js.map +0 -0
  1272. /package/{CreateOpenChannel.js.map → dist/CreateOpenChannel.js.map} +0 -0
  1273. /package/{EditUserProfile → dist/EditUserProfile}/context.js +0 -0
  1274. /package/{EditUserProfile → dist/EditUserProfile}/context.js.map +0 -0
  1275. /package/{EditUserProfile.js.map → dist/EditUserProfile.js.map} +0 -0
  1276. /package/{Message → dist/Message}/context.js +0 -0
  1277. /package/{Message → dist/Message}/context.js.map +0 -0
  1278. /package/{Message → dist/Message}/hooks/useDirtyGetMentions.js +0 -0
  1279. /package/{Message → dist/Message}/hooks/useDirtyGetMentions.js.map +0 -0
  1280. /package/{MessageSearch → dist/MessageSearch}/components/MessageSearchUI.js.map +0 -0
  1281. /package/{MessageSearch → dist/MessageSearch}/context.js.map +0 -0
  1282. /package/{MessageSearch.js.map → dist/MessageSearch.js.map} +0 -0
  1283. /package/{OpenChannel → dist/OpenChannel}/components/FrozenChannelNotification.js.map +0 -0
  1284. /package/{OpenChannelList → dist/OpenChannelList}/components/OpenChannelListUI.js.map +0 -0
  1285. /package/{OpenChannelList → dist/OpenChannelList}/components/OpenChannelPreview.js.map +0 -0
  1286. /package/{OpenChannelList → dist/OpenChannelList}/context.js.map +0 -0
  1287. /package/{OpenChannelList.js.map → dist/OpenChannelList.js.map} +0 -0
  1288. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/EditDetailsModal.js.map +0 -0
  1289. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/OpenChannelProfile.js.map +0 -0
  1290. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/OpenChannelSettingsUI.js.map +0 -0
  1291. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/OperatorUI.js.map +0 -0
  1292. /package/{OpenChannelSettings → dist/OpenChannelSettings}/components/ParticipantUI.js.map +0 -0
  1293. /package/{OpenChannelSettings → dist/OpenChannelSettings}/context.js.map +0 -0
  1294. /package/{OpenChannelSettings.js.map → dist/OpenChannelSettings.js.map} +0 -0
  1295. /package/{SendbirdProvider.js.map → dist/SendbirdProvider.js.map} +0 -0
  1296. /package/{Thread → dist/Thread}/components/ParentMessageInfoItem.js.map +0 -0
  1297. /package/{Thread → dist/Thread}/components/ThreadHeader.js.map +0 -0
  1298. /package/{Thread → dist/Thread}/components/ThreadList.js.map +0 -0
  1299. /package/{Thread → dist/Thread}/context/types.js +0 -0
  1300. /package/{Thread → dist/Thread}/context/types.js.map +0 -0
  1301. /package/{VoicePlayer → dist/VoicePlayer}/context.js.map +0 -0
  1302. /package/{VoicePlayer → dist/VoicePlayer}/useVoicePlayer.js.map +0 -0
  1303. /package/{VoiceRecorder → dist/VoiceRecorder}/context.js.map +0 -0
  1304. /package/{VoiceRecorder → dist/VoiceRecorder}/useVoiceRecorder.js.map +0 -0
  1305. /package/{cjs → dist/cjs}/Channel/components/ChannelHeader.js.map +0 -0
  1306. /package/{cjs → dist/cjs}/Channel/components/FileViewer.js.map +0 -0
  1307. /package/{cjs → dist/cjs}/Channel/components/FrozenNotification.js.map +0 -0
  1308. /package/{cjs → dist/cjs}/Channel/components/Message.js.map +0 -0
  1309. /package/{cjs → dist/cjs}/Channel/components/MessageList.js.map +0 -0
  1310. /package/{cjs → dist/cjs}/Channel/components/RemoveMessageModal.js.map +0 -0
  1311. /package/{cjs → dist/cjs}/Channel/components/SuggestedMentionList.js.map +0 -0
  1312. /package/{cjs → dist/cjs}/Channel/components/TypingIndicator.js.map +0 -0
  1313. /package/{cjs → dist/cjs}/Channel/components/UnreadCount.js.map +0 -0
  1314. /package/{cjs → dist/cjs}/Channel/context.js.map +0 -0
  1315. /package/{cjs → dist/cjs}/Channel/hooks/useInitialMessagesFetch.js.map +0 -0
  1316. /package/{cjs → dist/cjs}/Channel/utils/compareMessagesForGrouping.js.map +0 -0
  1317. /package/{cjs → dist/cjs}/Channel/utils/getMessagePartsInfo.js.map +0 -0
  1318. /package/{cjs → dist/cjs}/ChannelList/components/AddChannel.js.map +0 -0
  1319. /package/{cjs → dist/cjs}/ChannelList/components/ChannelListHeader.js.map +0 -0
  1320. /package/{cjs → dist/cjs}/ChannelList/components/ChannelListUI.js.map +0 -0
  1321. /package/{cjs → dist/cjs}/ChannelList/components/ChannelPreview.js.map +0 -0
  1322. /package/{cjs → dist/cjs}/ChannelList/components/ChannelPreviewAction.js.map +0 -0
  1323. /package/{cjs → dist/cjs}/ChannelList/context.js.map +0 -0
  1324. /package/{cjs → dist/cjs}/ChannelList.js.map +0 -0
  1325. /package/{cjs → dist/cjs}/ChannelSettings/components/ChannelProfile.js.map +0 -0
  1326. /package/{cjs → dist/cjs}/ChannelSettings/components/ChannelSettingsUI.js.map +0 -0
  1327. /package/{cjs → dist/cjs}/ChannelSettings/components/EditDetailsModal.js.map +0 -0
  1328. /package/{cjs → dist/cjs}/ChannelSettings/components/LeaveChannel.js.map +0 -0
  1329. /package/{cjs → dist/cjs}/ChannelSettings/components/ModerationPanel.js.map +0 -0
  1330. /package/{cjs → dist/cjs}/ChannelSettings/components/UserPanel.js.map +0 -0
  1331. /package/{cjs → dist/cjs}/ChannelSettings/context.js.map +0 -0
  1332. /package/{cjs → dist/cjs}/ChannelSettings.js.map +0 -0
  1333. /package/{cjs → dist/cjs}/CreateChannel/components/CreateChannelUI.js.map +0 -0
  1334. /package/{cjs → dist/cjs}/CreateChannel/components/InviteUsers.js.map +0 -0
  1335. /package/{cjs → dist/cjs}/CreateChannel/components/SelectChannelType.js.map +0 -0
  1336. /package/{cjs → dist/cjs}/CreateChannel/context.js.map +0 -0
  1337. /package/{cjs → dist/cjs}/CreateChannel.js.map +0 -0
  1338. /package/{cjs → dist/cjs}/CreateOpenChannel/components/CreateOpenChannelUI.js.map +0 -0
  1339. /package/{cjs → dist/cjs}/CreateOpenChannel/context.js.map +0 -0
  1340. /package/{cjs → dist/cjs}/CreateOpenChannel.js.map +0 -0
  1341. /package/{cjs → dist/cjs}/EditUserProfile/context.js +0 -0
  1342. /package/{cjs → dist/cjs}/EditUserProfile/context.js.map +0 -0
  1343. /package/{cjs → dist/cjs}/EditUserProfile.js.map +0 -0
  1344. /package/{cjs → dist/cjs}/Message/context.js +0 -0
  1345. /package/{cjs → dist/cjs}/Message/context.js.map +0 -0
  1346. /package/{cjs → dist/cjs}/Message/hooks/useDirtyGetMentions.js +0 -0
  1347. /package/{cjs → dist/cjs}/Message/hooks/useDirtyGetMentions.js.map +0 -0
  1348. /package/{cjs → dist/cjs}/MessageSearch/components/MessageSearchUI.js.map +0 -0
  1349. /package/{cjs → dist/cjs}/MessageSearch/context.js.map +0 -0
  1350. /package/{cjs → dist/cjs}/MessageSearch.js.map +0 -0
  1351. /package/{cjs → dist/cjs}/OpenChannel/components/FrozenChannelNotification.js.map +0 -0
  1352. /package/{cjs → dist/cjs}/OpenChannelList/components/OpenChannelListUI.js.map +0 -0
  1353. /package/{cjs → dist/cjs}/OpenChannelList/components/OpenChannelPreview.js.map +0 -0
  1354. /package/{cjs → dist/cjs}/OpenChannelList/context.js.map +0 -0
  1355. /package/{cjs → dist/cjs}/OpenChannelList.js.map +0 -0
  1356. /package/{cjs → dist/cjs}/OpenChannelSettings/components/EditDetailsModal.js.map +0 -0
  1357. /package/{cjs → dist/cjs}/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -0
  1358. /package/{cjs → dist/cjs}/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -0
  1359. /package/{cjs → dist/cjs}/OpenChannelSettings/components/OperatorUI.js.map +0 -0
  1360. /package/{cjs → dist/cjs}/OpenChannelSettings/components/ParticipantUI.js.map +0 -0
  1361. /package/{cjs → dist/cjs}/OpenChannelSettings/context.js.map +0 -0
  1362. /package/{cjs → dist/cjs}/OpenChannelSettings.js.map +0 -0
  1363. /package/{cjs → dist/cjs}/SendbirdProvider.js.map +0 -0
  1364. /package/{cjs → dist/cjs}/Thread/components/ParentMessageInfoItem.js.map +0 -0
  1365. /package/{cjs → dist/cjs}/Thread/components/ThreadHeader.js.map +0 -0
  1366. /package/{cjs → dist/cjs}/Thread/components/ThreadList.js.map +0 -0
  1367. /package/{cjs → dist/cjs}/Thread/context/types.js +0 -0
  1368. /package/{cjs → dist/cjs}/Thread/context/types.js.map +0 -0
  1369. /package/{cjs → dist/cjs}/VoicePlayer/context.js.map +0 -0
  1370. /package/{cjs → dist/cjs}/VoicePlayer/useVoicePlayer.js.map +0 -0
  1371. /package/{cjs → dist/cjs}/VoiceRecorder/context.js.map +0 -0
  1372. /package/{cjs → dist/cjs}/VoiceRecorder/useVoiceRecorder.js.map +0 -0
  1373. /package/{cjs → dist/cjs}/handlers/ConnectionHandler.js +0 -0
  1374. /package/{cjs → dist/cjs}/handlers/ConnectionHandler.js.map +0 -0
  1375. /package/{cjs → dist/cjs}/handlers/GroupChannelHandler.js +0 -0
  1376. /package/{cjs → dist/cjs}/handlers/GroupChannelHandler.js.map +0 -0
  1377. /package/{cjs → dist/cjs}/handlers/OpenChannelHandler.js +0 -0
  1378. /package/{cjs → dist/cjs}/handlers/OpenChannelHandler.js.map +0 -0
  1379. /package/{cjs → dist/cjs}/handlers/SessionHandler.js +0 -0
  1380. /package/{cjs → dist/cjs}/handlers/SessionHandler.js.map +0 -0
  1381. /package/{cjs → dist/cjs}/handlers/UserEventHandler.js +0 -0
  1382. /package/{cjs → dist/cjs}/handlers/UserEventHandler.js.map +0 -0
  1383. /package/{cjs → dist/cjs}/hooks/useModal.js.map +0 -0
  1384. /package/{cjs → dist/cjs}/package.json +0 -0
  1385. /package/{cjs → dist/cjs}/pubSub/topics.js.map +0 -0
  1386. /package/{cjs → dist/cjs}/sendbirdSelectors.js.map +0 -0
  1387. /package/{cjs → dist/cjs}/ui/Accordion.js.map +0 -0
  1388. /package/{cjs → dist/cjs}/ui/AccordionGroup.js.map +0 -0
  1389. /package/{cjs → dist/cjs}/ui/AdminMessage.js.map +0 -0
  1390. /package/{cjs → dist/cjs}/ui/Avatar.js.map +0 -0
  1391. /package/{cjs → dist/cjs}/ui/Badge.js.map +0 -0
  1392. /package/{cjs → dist/cjs}/ui/BottomSheet.js.map +0 -0
  1393. /package/{cjs → dist/cjs}/ui/Button.js.map +0 -0
  1394. /package/{cjs → dist/cjs}/ui/ChannelAvatar.js.map +0 -0
  1395. /package/{cjs → dist/cjs}/ui/Checkbox.js +0 -0
  1396. /package/{cjs → dist/cjs}/ui/Checkbox.js.map +0 -0
  1397. /package/{cjs → dist/cjs}/ui/ConnectionStatus.js.map +0 -0
  1398. /package/{cjs → dist/cjs}/ui/ContextMenu.js.map +0 -0
  1399. /package/{cjs → dist/cjs}/ui/DateSeparator.js.map +0 -0
  1400. /package/{cjs → dist/cjs}/ui/FileMessageItemBody.js.map +0 -0
  1401. /package/{cjs → dist/cjs}/ui/FileViewer.js.map +0 -0
  1402. /package/{cjs → dist/cjs}/ui/Icon.js.map +0 -0
  1403. /package/{cjs → dist/cjs}/ui/IconButton.js.map +0 -0
  1404. /package/{cjs → dist/cjs}/ui/Input.js.map +0 -0
  1405. /package/{cjs → dist/cjs}/ui/Label.js.map +0 -0
  1406. /package/{cjs → dist/cjs}/ui/LinkLabel.js.map +0 -0
  1407. /package/{cjs → dist/cjs}/ui/Loader.js.map +0 -0
  1408. /package/{cjs → dist/cjs}/ui/MentionLabel.js.map +0 -0
  1409. /package/{cjs → dist/cjs}/ui/MentionUserLabel.js.map +0 -0
  1410. /package/{cjs → dist/cjs}/ui/MessageInput/hooks/usePaste.js.map +0 -0
  1411. /package/{cjs → dist/cjs}/ui/MessageInput.js.map +0 -0
  1412. /package/{cjs → dist/cjs}/ui/MessageItemMenu.js.map +0 -0
  1413. /package/{cjs → dist/cjs}/ui/MessageItemReactionMenu.js.map +0 -0
  1414. /package/{cjs → dist/cjs}/ui/MessageSearchFileItem.js.map +0 -0
  1415. /package/{cjs → dist/cjs}/ui/MessageSearchItem.js.map +0 -0
  1416. /package/{cjs → dist/cjs}/ui/MessageStatus.js.map +0 -0
  1417. /package/{cjs → dist/cjs}/ui/Modal.js.map +0 -0
  1418. /package/{cjs → dist/cjs}/ui/MutedAvatarOverlay.js.map +0 -0
  1419. /package/{cjs → dist/cjs}/ui/OGMessageItemBody.js.map +0 -0
  1420. /package/{cjs → dist/cjs}/ui/OpenChannelAdminMessage.js.map +0 -0
  1421. /package/{cjs → dist/cjs}/ui/OpenChannelAvatar.js.map +0 -0
  1422. /package/{cjs → dist/cjs}/ui/OpenchannelConversationHeader.js.map +0 -0
  1423. /package/{cjs → dist/cjs}/ui/PlaceHolder.js.map +0 -0
  1424. /package/{cjs → dist/cjs}/ui/PlaybackTime.js.map +0 -0
  1425. /package/{cjs → dist/cjs}/ui/ProgressBar.js +0 -0
  1426. /package/{cjs → dist/cjs}/ui/ProgressBar.js.map +0 -0
  1427. /package/{cjs → dist/cjs}/ui/QuoteMessage.js.map +0 -0
  1428. /package/{cjs → dist/cjs}/ui/QuoteMessageInput.js.map +0 -0
  1429. /package/{cjs → dist/cjs}/ui/ReactionBadge.js.map +0 -0
  1430. /package/{cjs → dist/cjs}/ui/ReactionButton.js.map +0 -0
  1431. /package/{cjs → dist/cjs}/ui/SortByRow.js.map +0 -0
  1432. /package/{cjs → dist/cjs}/ui/TextButton.js.map +0 -0
  1433. /package/{cjs → dist/cjs}/ui/TextMessageItemBody.js.map +0 -0
  1434. /package/{cjs → dist/cjs}/ui/ThreadReplies.js.map +0 -0
  1435. /package/{cjs → dist/cjs}/ui/ThumbnailMessageItemBody.js.map +0 -0
  1436. /package/{cjs → dist/cjs}/ui/Toggle.js.map +0 -0
  1437. /package/{cjs → dist/cjs}/ui/Tooltip.js.map +0 -0
  1438. /package/{cjs → dist/cjs}/ui/TooltipWrapper.js.map +0 -0
  1439. /package/{cjs → dist/cjs}/ui/TypingIndicatorBubble.js.map +0 -0
  1440. /package/{cjs → dist/cjs}/ui/UnknownMessageItemBody.js.map +0 -0
  1441. /package/{cjs → dist/cjs}/ui/UserProfile.js.map +0 -0
  1442. /package/{cjs → dist/cjs}/ui/VoiceMessageInput.js.map +0 -0
  1443. /package/{cjs → dist/cjs}/ui/VoiceMessageItemBody.js.map +0 -0
  1444. /package/{cjs → dist/cjs}/ui/Word.js.map +0 -0
  1445. /package/{cjs → dist/cjs}/useSendbirdStateContext.js.map +0 -0
  1446. /package/{cjs → dist/cjs}/utils/message/getOutgoingMessageState.js +0 -0
  1447. /package/{cjs → dist/cjs}/utils/message/getOutgoingMessageState.js.map +0 -0
  1448. /package/{cjs → dist/cjs}/utils/message/isVoiceMessage.js.map +0 -0
  1449. /package/{cjs → dist/cjs}/withSendbird.js.map +0 -0
  1450. /package/{handlers → dist/handlers}/ConnectionHandler.js +0 -0
  1451. /package/{handlers → dist/handlers}/ConnectionHandler.js.map +0 -0
  1452. /package/{handlers → dist/handlers}/GroupChannelHandler.js +0 -0
  1453. /package/{handlers → dist/handlers}/GroupChannelHandler.js.map +0 -0
  1454. /package/{handlers → dist/handlers}/OpenChannelHandler.js +0 -0
  1455. /package/{handlers → dist/handlers}/OpenChannelHandler.js.map +0 -0
  1456. /package/{handlers → dist/handlers}/SessionHandler.js +0 -0
  1457. /package/{handlers → dist/handlers}/SessionHandler.js.map +0 -0
  1458. /package/{handlers → dist/handlers}/UserEventHandler.js +0 -0
  1459. /package/{handlers → dist/handlers}/UserEventHandler.js.map +0 -0
  1460. /package/{hooks → dist/hooks}/useModal.js.map +0 -0
  1461. /package/{pubSub → dist/pubSub}/topics.js.map +0 -0
  1462. /package/{sendbirdSelectors.js.map → dist/sendbirdSelectors.js.map} +0 -0
  1463. /package/{types → dist/types}/hooks/VoicePlayer/dux/actionTypes.d.ts +0 -0
  1464. /package/{types → dist/types}/hooks/VoicePlayer/dux/initialState.d.ts +0 -0
  1465. /package/{types → dist/types}/hooks/VoicePlayer/dux/reducer.d.ts +0 -0
  1466. /package/{types → dist/types}/hooks/VoicePlayer/index.d.ts +0 -0
  1467. /package/{types → dist/types}/hooks/VoicePlayer/useVoicePlayer.d.ts +0 -0
  1468. /package/{types → dist/types}/hooks/VoicePlayer/utils.d.ts +0 -0
  1469. /package/{types → dist/types}/hooks/VoiceRecorder/WebAudioUtils.d.ts +0 -0
  1470. /package/{types → dist/types}/hooks/VoiceRecorder/index.d.ts +0 -0
  1471. /package/{types → dist/types}/hooks/VoiceRecorder/useVoiceRecorder.d.ts +0 -0
  1472. /package/{types → dist/types}/hooks/useAppendDomNode.d.ts +0 -0
  1473. /package/{types → dist/types}/hooks/useDebounce.d.ts +0 -0
  1474. /package/{types → dist/types}/hooks/useHandleOnScrollCallback/index.d.ts +0 -0
  1475. /package/{types → dist/types}/hooks/useLongPress.d.ts +0 -0
  1476. /package/{types → dist/types}/hooks/useModal/ModalRoot/index.d.ts +0 -0
  1477. /package/{types → dist/types}/hooks/useModal/index.d.ts +0 -0
  1478. /package/{types → dist/types}/hooks/useMouseHover.d.ts +0 -0
  1479. /package/{types → dist/types}/hooks/useOnScrollReachedEndDetector/index.d.ts +0 -0
  1480. /package/{types → dist/types}/hooks/useOutsideAlerter.d.ts +0 -0
  1481. /package/{types → dist/types}/hooks/useSendbirdStateContext.d.ts +0 -0
  1482. /package/{types → dist/types}/hooks/useUnmount.d.ts +0 -0
  1483. /package/{types → dist/types}/index.d.ts +0 -0
  1484. /package/{types → dist/types}/lib/LocalizationContext.d.ts +0 -0
  1485. /package/{types → dist/types}/lib/Logger/index.d.ts +0 -0
  1486. /package/{types → dist/types}/lib/MediaQueryContext.d.ts +0 -0
  1487. /package/{types → dist/types}/lib/Sendbird.d.ts +0 -0
  1488. /package/{types → dist/types}/lib/SendbirdSdkContext.d.ts +0 -0
  1489. /package/{types → dist/types}/lib/SendbirdState.d.ts +0 -0
  1490. /package/{types → dist/types}/lib/UserProfileContext.d.ts +0 -0
  1491. /package/{types → dist/types}/lib/VoiceMessageProvider.d.ts +0 -0
  1492. /package/{types → dist/types}/lib/dux/sdk/actionTypes.d.ts +0 -0
  1493. /package/{types → dist/types}/lib/dux/sdk/initialState.d.ts +0 -0
  1494. /package/{types → dist/types}/lib/dux/sdk/reducers.d.ts +0 -0
  1495. /package/{types → dist/types}/lib/dux/user/actionTypes.d.ts +0 -0
  1496. /package/{types → dist/types}/lib/dux/user/initialState.d.ts +0 -0
  1497. /package/{types → dist/types}/lib/dux/user/reducers.d.ts +0 -0
  1498. /package/{types → dist/types}/lib/handlers/ConnectionHandler.d.ts +0 -0
  1499. /package/{types → dist/types}/lib/handlers/GroupChannelHandler.d.ts +0 -0
  1500. /package/{types → dist/types}/lib/handlers/OpenChannelHandler.d.ts +0 -0
  1501. /package/{types → dist/types}/lib/handlers/SessionHandler.d.ts +0 -0
  1502. /package/{types → dist/types}/lib/handlers/UserEventHandler.d.ts +0 -0
  1503. /package/{types → dist/types}/lib/hooks/schedulerFactory.d.ts +0 -0
  1504. /package/{types → dist/types}/lib/hooks/useConnect/__test__/data.mocks.d.ts +0 -0
  1505. /package/{types → dist/types}/lib/hooks/useConnect/connect.d.ts +0 -0
  1506. /package/{types → dist/types}/lib/hooks/useConnect/disconnectSdk.d.ts +0 -0
  1507. /package/{types → dist/types}/lib/hooks/useConnect/index.d.ts +0 -0
  1508. /package/{types → dist/types}/lib/hooks/useConnect/types.d.ts +0 -0
  1509. /package/{types → dist/types}/lib/hooks/useMarkAsDeliveredScheduler.d.ts +0 -0
  1510. /package/{types → dist/types}/lib/hooks/useMarkAsReadScheduler.d.ts +0 -0
  1511. /package/{types → dist/types}/lib/hooks/useOnlineStatus.d.ts +0 -0
  1512. /package/{types → dist/types}/lib/hooks/useTheme.d.ts +0 -0
  1513. /package/{types → dist/types}/lib/pubSub/index.d.ts +0 -0
  1514. /package/{types → dist/types}/lib/pubSub/topics.d.ts +0 -0
  1515. /package/{types → dist/types}/lib/selectors.d.ts +0 -0
  1516. /package/{types → dist/types}/lib/types.d.ts +0 -0
  1517. /package/{types → dist/types}/lib/utils/resolvedReplyType.d.ts +0 -0
  1518. /package/{types → dist/types}/lib/utils/uikitConfigMapper.d.ts +0 -0
  1519. /package/{types → dist/types}/modules/App/AppLayout.d.ts +0 -0
  1520. /package/{types → dist/types}/modules/App/DesktopLayout.d.ts +0 -0
  1521. /package/{types → dist/types}/modules/App/MobileLayout.d.ts +0 -0
  1522. /package/{types → dist/types}/modules/App/index.d.ts +0 -0
  1523. /package/{types → dist/types}/modules/App/types.d.ts +0 -0
  1524. /package/{types → dist/types}/modules/Channel/components/ChannelHeader/index.d.ts +0 -0
  1525. /package/{types → dist/types}/modules/Channel/components/ChannelHeader/utils.d.ts +0 -0
  1526. /package/{types → dist/types}/modules/Channel/components/ChannelUI/index.d.ts +0 -0
  1527. /package/{types → dist/types}/modules/Channel/components/FileViewer/index.d.ts +0 -0
  1528. /package/{types → dist/types}/modules/Channel/components/FrozenNotification/index.d.ts +0 -0
  1529. /package/{types → dist/types}/modules/Channel/components/Message/index.d.ts +0 -0
  1530. /package/{types → dist/types}/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.d.ts +0 -0
  1531. /package/{types → dist/types}/modules/Channel/components/MessageInput/index.d.ts +0 -0
  1532. /package/{types → dist/types}/modules/Channel/components/MessageList/getMessagePartsInfo.d.ts +0 -0
  1533. /package/{types → dist/types}/modules/Channel/components/MessageList/hooks/useScrollBehavior.d.ts +0 -0
  1534. /package/{types → dist/types}/modules/Channel/components/MessageList/hooks/useSetScrollToBottom.d.ts +0 -0
  1535. /package/{types → dist/types}/modules/Channel/components/MessageList/index.d.ts +0 -0
  1536. /package/{types → dist/types}/modules/Channel/components/RemoveMessageModal.d.ts +0 -0
  1537. /package/{types → dist/types}/modules/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.d.ts +0 -0
  1538. /package/{types → dist/types}/modules/Channel/components/SuggestedMentionList/index.d.ts +0 -0
  1539. /package/{types → dist/types}/modules/Channel/components/SuggestedMentionList/utils.d.ts +0 -0
  1540. /package/{types → dist/types}/modules/Channel/components/SuggestedReplies/index.d.ts +0 -0
  1541. /package/{types → dist/types}/modules/Channel/components/TypingIndicator.d.ts +0 -0
  1542. /package/{types → dist/types}/modules/Channel/components/UnreadCount/index.d.ts +0 -0
  1543. /package/{types → dist/types}/modules/Channel/context/ChannelProvider.d.ts +0 -0
  1544. /package/{types → dist/types}/modules/Channel/context/compareMessagesForGrouping.d.ts +0 -0
  1545. /package/{types → dist/types}/modules/Channel/context/const.d.ts +0 -0
  1546. /package/{types → dist/types}/modules/Channel/context/dux/actionTypes.d.ts +0 -0
  1547. /package/{types → dist/types}/modules/Channel/context/dux/initialState.d.ts +0 -0
  1548. /package/{types → dist/types}/modules/Channel/context/dux/reducers.d.ts +0 -0
  1549. /package/{types → dist/types}/modules/Channel/context/hooks/useDeleteMessageCallback.d.ts +0 -0
  1550. /package/{types → dist/types}/modules/Channel/context/hooks/useGetChannel.d.ts +0 -0
  1551. /package/{types → dist/types}/modules/Channel/context/hooks/useHandleChannelPubsubEvents.d.ts +0 -0
  1552. /package/{types → dist/types}/modules/Channel/context/hooks/useHandleReconnect.d.ts +0 -0
  1553. /package/{types → dist/types}/modules/Channel/context/hooks/useInitialMessagesFetch.d.ts +0 -0
  1554. /package/{types → dist/types}/modules/Channel/context/hooks/useReconnectOnIdle.d.ts +0 -0
  1555. /package/{types → dist/types}/modules/Channel/context/hooks/useScrollCallback.d.ts +0 -0
  1556. /package/{types → dist/types}/modules/Channel/context/hooks/useScrollDownCallback.d.ts +0 -0
  1557. /package/{types → dist/types}/modules/Channel/context/hooks/useScrollToMessage.d.ts +0 -0
  1558. /package/{types → dist/types}/modules/Channel/context/hooks/useSendFileMessageCallback.d.ts +0 -0
  1559. /package/{types → dist/types}/modules/Channel/context/hooks/useSendMessageCallback.d.ts +0 -0
  1560. /package/{types → dist/types}/modules/Channel/context/hooks/useSendMultipleFilesMessage.d.ts +0 -0
  1561. /package/{types → dist/types}/modules/Channel/context/hooks/useSendVoiceMessageCallback.d.ts +0 -0
  1562. /package/{types → dist/types}/modules/Channel/context/hooks/useStatefulFileInfoList.d.ts +0 -0
  1563. /package/{types → dist/types}/modules/Channel/context/hooks/useThreadMessageKindKeySelector.d.ts +0 -0
  1564. /package/{types → dist/types}/modules/Channel/context/hooks/useToggleReactionCallback.d.ts +0 -0
  1565. /package/{types → dist/types}/modules/Channel/context/hooks/useUpdateMessageCallback.d.ts +0 -0
  1566. /package/{types → dist/types}/modules/Channel/context/utils.d.ts +0 -0
  1567. /package/{types → dist/types}/modules/Channel/index.d.ts +0 -0
  1568. /package/{types → dist/types}/modules/ChannelList/components/AddChannel/index.d.ts +0 -0
  1569. /package/{types → dist/types}/modules/ChannelList/components/ChannelListHeader/index.d.ts +0 -0
  1570. /package/{types → dist/types}/modules/ChannelList/components/ChannelPreview/index.d.ts +0 -0
  1571. /package/{types → dist/types}/modules/ChannelList/components/ChannelPreview/utils.d.ts +0 -0
  1572. /package/{types → dist/types}/modules/ChannelList/components/ChannelPreviewAction.d.ts +0 -0
  1573. /package/{types → dist/types}/modules/ChannelList/components/LeaveChannel/index.d.ts +0 -0
  1574. /package/{types → dist/types}/modules/ChannelList/components/Placeholder.d.ts +0 -0
  1575. /package/{types → dist/types}/modules/ChannelList/context/ChannelListProvider.d.ts +0 -0
  1576. /package/{types → dist/types}/modules/ChannelList/context/hooks/useActiveChannelUrl.d.ts +0 -0
  1577. /package/{types → dist/types}/modules/ChannelList/context/hooks/useFetchChannelList.d.ts +0 -0
  1578. /package/{types → dist/types}/modules/ChannelList/dux/getNextChannel.d.ts +0 -0
  1579. /package/{types → dist/types}/modules/ChannelList/dux/initialState.d.ts +0 -0
  1580. /package/{types → dist/types}/modules/ChannelList/dux/reducers.d.ts +0 -0
  1581. /package/{types → dist/types}/modules/ChannelList/index.d.ts +0 -0
  1582. /package/{types → dist/types}/modules/ChannelList/utils.d.ts +0 -0
  1583. /package/{types → dist/types}/modules/ChannelSettings/components/ChannelProfile/index.d.ts +0 -0
  1584. /package/{types → dist/types}/modules/ChannelSettings/components/ChannelSettingsUI/index.d.ts +0 -0
  1585. /package/{types → dist/types}/modules/ChannelSettings/components/EditDetailsModal/index.d.ts +0 -0
  1586. /package/{types → dist/types}/modules/ChannelSettings/components/LeaveChannel/index.d.ts +0 -0
  1587. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/AddOperatorsModal.d.ts +0 -0
  1588. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/BannedUserList.d.ts +0 -0
  1589. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/BannedUsersModal.d.ts +0 -0
  1590. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/InviteUsersModal.d.ts +0 -0
  1591. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/MemberList.d.ts +0 -0
  1592. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/MembersModal.d.ts +0 -0
  1593. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/MutedMemberList.d.ts +0 -0
  1594. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/MutedMembersModal.d.ts +0 -0
  1595. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/OperatorList.d.ts +0 -0
  1596. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/OperatorsModal.d.ts +0 -0
  1597. /package/{types → dist/types}/modules/ChannelSettings/components/ModerationPanel/index.d.ts +0 -0
  1598. /package/{types → dist/types}/modules/ChannelSettings/components/UserListItem/index.d.ts +0 -0
  1599. /package/{types → dist/types}/modules/ChannelSettings/components/UserPanel/index.d.ts +0 -0
  1600. /package/{types → dist/types}/modules/ChannelSettings/context/ChannelSettingsProvider.d.ts +0 -0
  1601. /package/{types → dist/types}/modules/ChannelSettings/index.d.ts +0 -0
  1602. /package/{types → dist/types}/modules/CreateChannel/components/CreateChannelUI/index.d.ts +0 -0
  1603. /package/{types → dist/types}/modules/CreateChannel/components/InviteUsers/index.d.ts +0 -0
  1604. /package/{types → dist/types}/modules/CreateChannel/components/InviteUsers/utils.d.ts +0 -0
  1605. /package/{types → dist/types}/modules/CreateChannel/components/SelectChannelType.d.ts +0 -0
  1606. /package/{types → dist/types}/modules/CreateChannel/context/CreateChannelProvider.d.ts +0 -0
  1607. /package/{types → dist/types}/modules/CreateChannel/index.d.ts +0 -0
  1608. /package/{types → dist/types}/modules/CreateChannel/types.d.ts +0 -0
  1609. /package/{types → dist/types}/modules/CreateChannel/utils.d.ts +0 -0
  1610. /package/{types → dist/types}/modules/CreateOpenChannel/components/CreateOpenChannelUI/index.d.ts +0 -0
  1611. /package/{types → dist/types}/modules/CreateOpenChannel/context/CreateOpenChannelProvider.d.ts +0 -0
  1612. /package/{types → dist/types}/modules/CreateOpenChannel/index.d.ts +0 -0
  1613. /package/{types → dist/types}/modules/EditUserProfile/context/EditUserProfileProvider.d.ts +0 -0
  1614. /package/{types → dist/types}/modules/EditUserProfile/index.d.ts +0 -0
  1615. /package/{types → dist/types}/modules/Message/components/TextFragment/index.d.ts +0 -0
  1616. /package/{types → dist/types}/modules/Message/consts.d.ts +0 -0
  1617. /package/{types → dist/types}/modules/Message/context/MessageProvider.d.ts +0 -0
  1618. /package/{types → dist/types}/modules/Message/hooks/useDirtyGetMentions.d.ts +0 -0
  1619. /package/{types → dist/types}/modules/Message/utils/getMentionNodes.d.ts +0 -0
  1620. /package/{types → dist/types}/modules/Message/utils/tokens/keyGenerator.d.ts +0 -0
  1621. /package/{types → dist/types}/modules/Message/utils/tokens/tokenize.d.ts +0 -0
  1622. /package/{types → dist/types}/modules/Message/utils/tokens/types.d.ts +0 -0
  1623. /package/{types → dist/types}/modules/MessageSearch/components/MessageSearchUI/index.d.ts +0 -0
  1624. /package/{types → dist/types}/modules/MessageSearch/context/MessageSearchProvider.d.ts +0 -0
  1625. /package/{types → dist/types}/modules/MessageSearch/context/dux/actionTypes.d.ts +0 -0
  1626. /package/{types → dist/types}/modules/MessageSearch/context/dux/initialState.d.ts +0 -0
  1627. /package/{types → dist/types}/modules/MessageSearch/context/dux/reducers.d.ts +0 -0
  1628. /package/{types → dist/types}/modules/MessageSearch/context/hooks/useGetSearchedMessages.d.ts +0 -0
  1629. /package/{types → dist/types}/modules/MessageSearch/context/hooks/useScrollCallback.d.ts +0 -0
  1630. /package/{types → dist/types}/modules/MessageSearch/context/hooks/useSearchStringEffect.d.ts +0 -0
  1631. /package/{types → dist/types}/modules/MessageSearch/context/hooks/useSetChannel.d.ts +0 -0
  1632. /package/{types → dist/types}/modules/MessageSearch/index.d.ts +0 -0
  1633. /package/{types → dist/types}/modules/OpenChannel/components/FrozenChannelNotification/index.d.ts +0 -0
  1634. /package/{types → dist/types}/modules/OpenChannel/components/OpenChannelHeader/index.d.ts +0 -0
  1635. /package/{types → dist/types}/modules/OpenChannel/components/OpenChannelInput/index.d.ts +0 -0
  1636. /package/{types → dist/types}/modules/OpenChannel/components/OpenChannelMessage/RemoveMessageModal.d.ts +0 -0
  1637. /package/{types → dist/types}/modules/OpenChannel/components/OpenChannelMessage/index.d.ts +0 -0
  1638. /package/{types → dist/types}/modules/OpenChannel/components/OpenChannelMessage/utils.d.ts +0 -0
  1639. /package/{types → dist/types}/modules/OpenChannel/components/OpenChannelMessageList/index.d.ts +0 -0
  1640. /package/{types → dist/types}/modules/OpenChannel/components/OpenChannelUI/index.d.ts +0 -0
  1641. /package/{types → dist/types}/modules/OpenChannel/context/OpenChannelProvider.d.ts +0 -0
  1642. /package/{types → dist/types}/modules/OpenChannel/context/dux/actionTypes.d.ts +0 -0
  1643. /package/{types → dist/types}/modules/OpenChannel/context/dux/initialState.d.ts +0 -0
  1644. /package/{types → dist/types}/modules/OpenChannel/context/dux/reducers.d.ts +0 -0
  1645. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useCheckScrollBottom.d.ts +0 -0
  1646. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useDeleteMessageCallback.d.ts +0 -0
  1647. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useHandleChannelEvents.d.ts +0 -0
  1648. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useInitialMessagesFetch.d.ts +0 -0
  1649. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useResendMessageCallback.d.ts +0 -0
  1650. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useScrollCallback.d.ts +0 -0
  1651. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useSendMessageCallback.d.ts +0 -0
  1652. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useSetChannel.d.ts +0 -0
  1653. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useTrimMessageList.d.ts +0 -0
  1654. /package/{types → dist/types}/modules/OpenChannel/context/hooks/useUpdateMessageCallback.d.ts +0 -0
  1655. /package/{types → dist/types}/modules/OpenChannel/context/utils.d.ts +0 -0
  1656. /package/{types → dist/types}/modules/OpenChannel/index.d.ts +0 -0
  1657. /package/{types → dist/types}/modules/OpenChannelApp/Community.d.ts +0 -0
  1658. /package/{types → dist/types}/modules/OpenChannelApp/Streaming.d.ts +0 -0
  1659. /package/{types → dist/types}/modules/OpenChannelApp/assets/Icons.d.ts +0 -0
  1660. /package/{types → dist/types}/modules/OpenChannelApp/components/CommunityChannelList.d.ts +0 -0
  1661. /package/{types → dist/types}/modules/OpenChannelApp/components/DummyStream.d.ts +0 -0
  1662. /package/{types → dist/types}/modules/OpenChannelApp/components/Login.d.ts +0 -0
  1663. /package/{types → dist/types}/modules/OpenChannelApp/components/OpenChannelPreview.d.ts +0 -0
  1664. /package/{types → dist/types}/modules/OpenChannelApp/components/Profile.d.ts +0 -0
  1665. /package/{types → dist/types}/modules/OpenChannelApp/components/StreamingChannelList.d.ts +0 -0
  1666. /package/{types → dist/types}/modules/OpenChannelApp/index.d.ts +0 -0
  1667. /package/{types → dist/types}/modules/OpenChannelApp/stories/utils.d.ts +0 -0
  1668. /package/{types → dist/types}/modules/OpenChannelList/components/OpenChannelListUI/index.d.ts +0 -0
  1669. /package/{types → dist/types}/modules/OpenChannelList/components/OpenChannelPreview/index.d.ts +0 -0
  1670. /package/{types → dist/types}/modules/OpenChannelList/context/OpenChannelListInterfaces.d.ts +0 -0
  1671. /package/{types → dist/types}/modules/OpenChannelList/context/OpenChannelListProvider.d.ts +0 -0
  1672. /package/{types → dist/types}/modules/OpenChannelList/context/dux/actionTypes.d.ts +0 -0
  1673. /package/{types → dist/types}/modules/OpenChannelList/context/dux/initialState.d.ts +0 -0
  1674. /package/{types → dist/types}/modules/OpenChannelList/context/dux/reducer.d.ts +0 -0
  1675. /package/{types → dist/types}/modules/OpenChannelList/context/hooks/createChannelListQuery.d.ts +0 -0
  1676. /package/{types → dist/types}/modules/OpenChannelList/context/hooks/useFetchNextCallback.d.ts +0 -0
  1677. /package/{types → dist/types}/modules/OpenChannelList/context/hooks/useRefreshOpenChannelList.d.ts +0 -0
  1678. /package/{types → dist/types}/modules/OpenChannelList/context/hooks/useSetupOpenChannelList.d.ts +0 -0
  1679. /package/{types → dist/types}/modules/OpenChannelList/index.d.ts +0 -0
  1680. /package/{types → dist/types}/modules/OpenChannelSettings/components/EditDetailsModal.d.ts +0 -0
  1681. /package/{types → dist/types}/modules/OpenChannelSettings/components/InvalidChannel.d.ts +0 -0
  1682. /package/{types → dist/types}/modules/OpenChannelSettings/components/OpenChannelProfile/index.d.ts +0 -0
  1683. /package/{types → dist/types}/modules/OpenChannelSettings/components/OpenChannelSettingsUI/index.d.ts +0 -0
  1684. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/AddOperatorsModal.d.ts +0 -0
  1685. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/BannedUserList.d.ts +0 -0
  1686. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/BannedUsersModal.d.ts +0 -0
  1687. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/DeleteOpenChannel.d.ts +0 -0
  1688. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantList.d.ts +0 -0
  1689. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantsModal.d.ts +0 -0
  1690. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/OperatorList.d.ts +0 -0
  1691. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/OperatorsModal.d.ts +0 -0
  1692. /package/{types → dist/types}/modules/OpenChannelSettings/components/OperatorUI/index.d.ts +0 -0
  1693. /package/{types → dist/types}/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.d.ts +0 -0
  1694. /package/{types → dist/types}/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.d.ts +0 -0
  1695. /package/{types → dist/types}/modules/OpenChannelSettings/components/ParticipantUI/index.d.ts +0 -0
  1696. /package/{types → dist/types}/modules/OpenChannelSettings/context/OpenChannelSettingsProvider.d.ts +0 -0
  1697. /package/{types → dist/types}/modules/OpenChannelSettings/index.d.ts +0 -0
  1698. /package/{types → dist/types}/modules/Thread/components/ParentMessageInfo/ParentMessageInfoItem.d.ts +0 -0
  1699. /package/{types → dist/types}/modules/Thread/components/ParentMessageInfo/index.d.ts +0 -0
  1700. /package/{types → dist/types}/modules/Thread/components/RemoveMessageModal.d.ts +0 -0
  1701. /package/{types → dist/types}/modules/Thread/components/ThreadHeader/index.d.ts +0 -0
  1702. /package/{types → dist/types}/modules/Thread/components/ThreadList/ThreadListItem.d.ts +0 -0
  1703. /package/{types → dist/types}/modules/Thread/components/ThreadList/ThreadListItemContent.d.ts +0 -0
  1704. /package/{types → dist/types}/modules/Thread/components/ThreadList/index.d.ts +0 -0
  1705. /package/{types → dist/types}/modules/Thread/components/ThreadMessageInput/index.d.ts +0 -0
  1706. /package/{types → dist/types}/modules/Thread/components/ThreadUI/index.d.ts +0 -0
  1707. /package/{types → dist/types}/modules/Thread/components/ThreadUI/useMemorizedHeader.d.ts +0 -0
  1708. /package/{types → dist/types}/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.d.ts +0 -0
  1709. /package/{types → dist/types}/modules/Thread/components/ThreadUI/useMemorizedThreadList.d.ts +0 -0
  1710. /package/{types → dist/types}/modules/Thread/consts.d.ts +0 -0
  1711. /package/{types → dist/types}/modules/Thread/context/ThreadProvider.d.ts +0 -0
  1712. /package/{types → dist/types}/modules/Thread/context/dux/actionTypes.d.ts +0 -0
  1713. /package/{types → dist/types}/modules/Thread/context/dux/initialState.d.ts +0 -0
  1714. /package/{types → dist/types}/modules/Thread/context/dux/reducer.d.ts +0 -0
  1715. /package/{types → dist/types}/modules/Thread/context/hooks/useDeleteMessageCallback.d.ts +0 -0
  1716. /package/{types → dist/types}/modules/Thread/context/hooks/useGetAllEmoji.d.ts +0 -0
  1717. /package/{types → dist/types}/modules/Thread/context/hooks/useGetChannel.d.ts +0 -0
  1718. /package/{types → dist/types}/modules/Thread/context/hooks/useGetNextThreadsCallback.d.ts +0 -0
  1719. /package/{types → dist/types}/modules/Thread/context/hooks/useGetParentMessage.d.ts +0 -0
  1720. /package/{types → dist/types}/modules/Thread/context/hooks/useGetPrevThreadsCallback.d.ts +0 -0
  1721. /package/{types → dist/types}/modules/Thread/context/hooks/useGetThreadList.d.ts +0 -0
  1722. /package/{types → dist/types}/modules/Thread/context/hooks/useHandleChannelEvents.d.ts +0 -0
  1723. /package/{types → dist/types}/modules/Thread/context/hooks/useHandleThreadPubsubEvents.d.ts +0 -0
  1724. /package/{types → dist/types}/modules/Thread/context/hooks/useResendMessageCallback.d.ts +0 -0
  1725. /package/{types → dist/types}/modules/Thread/context/hooks/useSendFileMessage.d.ts +0 -0
  1726. /package/{types → dist/types}/modules/Thread/context/hooks/useSendMultipleFilesMessage.d.ts +0 -0
  1727. /package/{types → dist/types}/modules/Thread/context/hooks/useSendUserMessageCallback.d.ts +0 -0
  1728. /package/{types → dist/types}/modules/Thread/context/hooks/useSendVoiceMessageCallback.d.ts +0 -0
  1729. /package/{types → dist/types}/modules/Thread/context/hooks/useToggleReactionsCallback.d.ts +0 -0
  1730. /package/{types → dist/types}/modules/Thread/context/hooks/useUpdateMessageCallback.d.ts +0 -0
  1731. /package/{types → dist/types}/modules/Thread/context/utils.d.ts +0 -0
  1732. /package/{types → dist/types}/modules/Thread/index.d.ts +0 -0
  1733. /package/{types → dist/types}/modules/Thread/types.d.ts +0 -0
  1734. /package/{types → dist/types}/modules/internalInterfaces.d.ts +0 -0
  1735. /package/{types → dist/types}/ui/Accordion/AccordionGroup.d.ts +0 -0
  1736. /package/{types → dist/types}/ui/Accordion/context.d.ts +0 -0
  1737. /package/{types → dist/types}/ui/Accordion/index.d.ts +0 -0
  1738. /package/{types → dist/types}/ui/AdminMessage/adminMessageDummyData.mock.d.ts +0 -0
  1739. /package/{types → dist/types}/ui/AdminMessage/index.d.ts +0 -0
  1740. /package/{types → dist/types}/ui/Avatar/AvatarDefault.d.ts +0 -0
  1741. /package/{types → dist/types}/ui/Avatar/MutedAvatarOverlay.d.ts +0 -0
  1742. /package/{types → dist/types}/ui/Avatar/index.d.ts +0 -0
  1743. /package/{types → dist/types}/ui/Badge/index.d.ts +0 -0
  1744. /package/{types → dist/types}/ui/BottomSheet/index.d.ts +0 -0
  1745. /package/{types → dist/types}/ui/Button/index.d.ts +0 -0
  1746. /package/{types → dist/types}/ui/Button/types.d.ts +0 -0
  1747. /package/{types → dist/types}/ui/Button/utils.d.ts +0 -0
  1748. /package/{types → dist/types}/ui/ChannelAvatar/OpenChannelAvatar.d.ts +0 -0
  1749. /package/{types → dist/types}/ui/ChannelAvatar/index.d.ts +0 -0
  1750. /package/{types → dist/types}/ui/ChannelAvatar/utils.d.ts +0 -0
  1751. /package/{types → dist/types}/ui/Checkbox/index.d.ts +0 -0
  1752. /package/{types → dist/types}/ui/ConnectionStatus/index.d.ts +0 -0
  1753. /package/{types → dist/types}/ui/ContextMenu/EmojiListItems.d.ts +0 -0
  1754. /package/{types → dist/types}/ui/ContextMenu/MenuItems.d.ts +0 -0
  1755. /package/{types → dist/types}/ui/ContextMenu/index.d.ts +0 -0
  1756. /package/{types → dist/types}/ui/DateSeparator/index.d.ts +0 -0
  1757. /package/{types → dist/types}/ui/Docs/Introduction.d.ts +0 -0
  1758. /package/{types → dist/types}/ui/EmojiReactions/AddReactionBadgeItem.d.ts +0 -0
  1759. /package/{types → dist/types}/ui/EmojiReactions/index.d.ts +0 -0
  1760. /package/{types → dist/types}/ui/FileMessageItemBody/index.d.ts +0 -0
  1761. /package/{types → dist/types}/ui/FileViewer/DeleteButton.d.ts +0 -0
  1762. /package/{types → dist/types}/ui/FileViewer/Slider.d.ts +0 -0
  1763. /package/{types → dist/types}/ui/FileViewer/data.mock.d.ts +0 -0
  1764. /package/{types → dist/types}/ui/FileViewer/hooks/useKeyDown.d.ts +0 -0
  1765. /package/{types → dist/types}/ui/FileViewer/index.d.ts +0 -0
  1766. /package/{types → dist/types}/ui/FileViewer/types.d.ts +0 -0
  1767. /package/{types → dist/types}/ui/FileViewer/utils.d.ts +0 -0
  1768. /package/{types → dist/types}/ui/Icon/colors.d.ts +0 -0
  1769. /package/{types → dist/types}/ui/Icon/index.d.ts +0 -0
  1770. /package/{types → dist/types}/ui/Icon/type.d.ts +0 -0
  1771. /package/{types → dist/types}/ui/Icon/utils.d.ts +0 -0
  1772. /package/{types → dist/types}/ui/IconButton/index.d.ts +0 -0
  1773. /package/{types → dist/types}/ui/ImageGrid/index.d.ts +0 -0
  1774. /package/{types → dist/types}/ui/ImageRenderer/index.d.ts +0 -0
  1775. /package/{types → dist/types}/ui/ImageRenderer/useDynamicSideLength.d.ts +0 -0
  1776. /package/{types → dist/types}/ui/ImageRenderer/utils.d.ts +0 -0
  1777. /package/{types → dist/types}/ui/Input/index.d.ts +0 -0
  1778. /package/{types → dist/types}/ui/Label/index.d.ts +0 -0
  1779. /package/{types → dist/types}/ui/Label/stringFormatterUtils.d.ts +0 -0
  1780. /package/{types → dist/types}/ui/Label/types.d.ts +0 -0
  1781. /package/{types → dist/types}/ui/Label/utils.d.ts +0 -0
  1782. /package/{types → dist/types}/ui/LegacyEditUserProfile/index.d.ts +0 -0
  1783. /package/{types → dist/types}/ui/LinkLabel/index.d.ts +0 -0
  1784. /package/{types → dist/types}/ui/Loader/index.d.ts +0 -0
  1785. /package/{types → dist/types}/ui/MentionLabel/index.d.ts +0 -0
  1786. /package/{types → dist/types}/ui/MentionUserLabel/consts.d.ts +0 -0
  1787. /package/{types → dist/types}/ui/MentionUserLabel/index.d.ts +0 -0
  1788. /package/{types → dist/types}/ui/MentionUserLabel/renderToString.d.ts +0 -0
  1789. /package/{types → dist/types}/ui/MessageContent/MessageBody/index.d.ts +0 -0
  1790. /package/{types → dist/types}/ui/MessageContent/MessageHeader/index.d.ts +0 -0
  1791. /package/{types → dist/types}/ui/MessageContent/MessageProfile/index.d.ts +0 -0
  1792. /package/{types → dist/types}/ui/MessageContent/index.d.ts +0 -0
  1793. /package/{types → dist/types}/ui/MessageInput/const.d.ts +0 -0
  1794. /package/{types → dist/types}/ui/MessageInput/hooks/usePaste/consts.d.ts +0 -0
  1795. /package/{types → dist/types}/ui/MessageInput/hooks/usePaste/index.d.ts +0 -0
  1796. /package/{types → dist/types}/ui/MessageInput/hooks/usePaste/insertTemplate.d.ts +0 -0
  1797. /package/{types → dist/types}/ui/MessageInput/hooks/usePaste/types.d.ts +0 -0
  1798. /package/{types → dist/types}/ui/MessageInput/hooks/usePaste/utils.d.ts +0 -0
  1799. /package/{types → dist/types}/ui/MessageInput/index.d.ts +0 -0
  1800. /package/{types → dist/types}/ui/MessageInput/messageInputUtils.d.ts +0 -0
  1801. /package/{types → dist/types}/ui/MessageInput/utils.d.ts +0 -0
  1802. /package/{types → dist/types}/ui/MessageItemMenu/index.d.ts +0 -0
  1803. /package/{types → dist/types}/ui/MessageItemReactionMenu/index.d.ts +0 -0
  1804. /package/{types → dist/types}/ui/MessageSearchFileItem/index.d.ts +0 -0
  1805. /package/{types → dist/types}/ui/MessageSearchFileItem/mockFileMessage.d.ts +0 -0
  1806. /package/{types → dist/types}/ui/MessageSearchFileItem/utils.d.ts +0 -0
  1807. /package/{types → dist/types}/ui/MessageSearchItem/getCreatedAt.d.ts +0 -0
  1808. /package/{types → dist/types}/ui/MessageSearchItem/index.d.ts +0 -0
  1809. /package/{types → dist/types}/ui/MessageSearchItem/messageDummyDate.mock.d.ts +0 -0
  1810. /package/{types → dist/types}/ui/MessageStatus/index.d.ts +0 -0
  1811. /package/{types → dist/types}/ui/MessageStatus/messageDummyData.mock.d.ts +0 -0
  1812. /package/{types → dist/types}/ui/MobileMenu/MobileBottomSheet.d.ts +0 -0
  1813. /package/{types → dist/types}/ui/MobileMenu/MobileContextMenu.d.ts +0 -0
  1814. /package/{types → dist/types}/ui/MobileMenu/MobileEmojisBottomSheet.d.ts +0 -0
  1815. /package/{types → dist/types}/ui/MobileMenu/ReactedMembersBottomSheet.d.ts +0 -0
  1816. /package/{types → dist/types}/ui/MobileMenu/index.d.ts +0 -0
  1817. /package/{types → dist/types}/ui/MobileMenu/types.d.ts +0 -0
  1818. /package/{types → dist/types}/ui/Modal/index.d.ts +0 -0
  1819. /package/{types → dist/types}/ui/MultipleFilesMessageItemBody/const.d.ts +0 -0
  1820. /package/{types → dist/types}/ui/MultipleFilesMessageItemBody/index.d.ts +0 -0
  1821. /package/{types → dist/types}/ui/OGMessageItemBody/consts.d.ts +0 -0
  1822. /package/{types → dist/types}/ui/OGMessageItemBody/index.d.ts +0 -0
  1823. /package/{types → dist/types}/ui/OpenChannelAdminMessage/index.d.ts +0 -0
  1824. /package/{types → dist/types}/ui/OpenChannelMobileMenu/index.d.ts +0 -0
  1825. /package/{types → dist/types}/ui/OpenchannelConversationHeader/index.d.ts +0 -0
  1826. /package/{types → dist/types}/ui/OpenchannelFileMessage/index.d.ts +0 -0
  1827. /package/{types → dist/types}/ui/OpenchannelFileMessage/mockMessages.d.ts +0 -0
  1828. /package/{types → dist/types}/ui/OpenchannelFileMessage/utils.d.ts +0 -0
  1829. /package/{types → dist/types}/ui/OpenchannelOGMessage/index.d.ts +0 -0
  1830. /package/{types → dist/types}/ui/OpenchannelOGMessage/utils.d.ts +0 -0
  1831. /package/{types → dist/types}/ui/OpenchannelThumbnailMessage/index.d.ts +0 -0
  1832. /package/{types → dist/types}/ui/OpenchannelThumbnailMessage/utils.d.ts +0 -0
  1833. /package/{types → dist/types}/ui/OpenchannelUserMessage/index.d.ts +0 -0
  1834. /package/{types → dist/types}/ui/OpenchannelUserMessage/utils.d.ts +0 -0
  1835. /package/{types → dist/types}/ui/PlaceHolder/index.d.ts +0 -0
  1836. /package/{types → dist/types}/ui/PlaybackTime/index.d.ts +0 -0
  1837. /package/{types → dist/types}/ui/ProgressBar/index.d.ts +0 -0
  1838. /package/{types → dist/types}/ui/QuoteMessage/index.d.ts +0 -0
  1839. /package/{types → dist/types}/ui/QuoteMessage/utils.d.ts +0 -0
  1840. /package/{types → dist/types}/ui/QuoteMessageInput/QuoteMessageThumbnail.d.ts +0 -0
  1841. /package/{types → dist/types}/ui/QuoteMessageInput/index.d.ts +0 -0
  1842. /package/{types → dist/types}/ui/QuoteMessageInput/mockMessage.d.ts +0 -0
  1843. /package/{types → dist/types}/ui/ReactionBadge/index.d.ts +0 -0
  1844. /package/{types → dist/types}/ui/ReactionButton/index.d.ts +0 -0
  1845. /package/{types → dist/types}/ui/SortByRow/index.d.ts +0 -0
  1846. /package/{types → dist/types}/ui/TextButton/index.d.ts +0 -0
  1847. /package/{types → dist/types}/ui/TextMessageItemBody/consts.d.ts +0 -0
  1848. /package/{types → dist/types}/ui/TextMessageItemBody/index.d.ts +0 -0
  1849. /package/{types → dist/types}/ui/ThreadReplies/index.d.ts +0 -0
  1850. /package/{types → dist/types}/ui/ThumbnailMessageItemBody/index.d.ts +0 -0
  1851. /package/{types → dist/types}/ui/Toggle/ToggleContainer.d.ts +0 -0
  1852. /package/{types → dist/types}/ui/Toggle/ToggleContext.d.ts +0 -0
  1853. /package/{types → dist/types}/ui/Toggle/ToggleUI.d.ts +0 -0
  1854. /package/{types → dist/types}/ui/Toggle/index.d.ts +0 -0
  1855. /package/{types → dist/types}/ui/Toggle/utils.d.ts +0 -0
  1856. /package/{types → dist/types}/ui/Tooltip/index.d.ts +0 -0
  1857. /package/{types → dist/types}/ui/TooltipWrapper/index.d.ts +0 -0
  1858. /package/{types → dist/types}/ui/TypingIndicatorBubble/TypingDots.d.ts +0 -0
  1859. /package/{types → dist/types}/ui/TypingIndicatorBubble/index.d.ts +0 -0
  1860. /package/{types → dist/types}/ui/UnknownMessageItemBody/index.d.ts +0 -0
  1861. /package/{types → dist/types}/ui/UserListItem/index.d.ts +0 -0
  1862. /package/{types → dist/types}/ui/UserProfile/index.d.ts +0 -0
  1863. /package/{types → dist/types}/ui/VoiceMessageInput/controlerIcons.d.ts +0 -0
  1864. /package/{types → dist/types}/ui/VoiceMessageInput/index.d.ts +0 -0
  1865. /package/{types → dist/types}/ui/VoiceMessageInput/types.d.ts +0 -0
  1866. /package/{types → dist/types}/ui/VoiceMessageItemBody/index.d.ts +0 -0
  1867. /package/{types → dist/types}/ui/Word/index.d.ts +0 -0
  1868. /package/{types → dist/types}/utils/cloneMessage.d.ts +0 -0
  1869. /package/{types → dist/types}/utils/color.d.ts +0 -0
  1870. /package/{types → dist/types}/utils/compareIds.d.ts +0 -0
  1871. /package/{types → dist/types}/utils/compressImages.d.ts +0 -0
  1872. /package/{types → dist/types}/utils/createStatefulFileInfoList.d.ts +0 -0
  1873. /package/{types → dist/types}/utils/exports/getOutgoingMessageState.d.ts +0 -0
  1874. /package/{types → dist/types}/utils/getIsReactionEnabled.d.ts +0 -0
  1875. /package/{types → dist/types}/utils/index.d.ts +0 -0
  1876. /package/{types → dist/types}/utils/isVoiceMessage.d.ts +0 -0
  1877. /package/{types → dist/types}/utils/numberToPx.d.ts +0 -0
  1878. /package/{types → dist/types}/utils/openChannelUtils.d.ts +0 -0
  1879. /package/{types → dist/types}/utils/pxToNumber.d.ts +0 -0
  1880. /package/{types → dist/types}/utils/testMocks/error.d.ts +0 -0
  1881. /package/{types → dist/types}/utils/testMocks/message.d.ts +0 -0
  1882. /package/{types → dist/types}/utils/testMocks/messageRequestHandler.d.ts +0 -0
  1883. /package/{types → dist/types}/utils/typeHelpers/objectValues.d.ts +0 -0
  1884. /package/{types → dist/types}/utils/typeHelpers/partialDeep.d.ts +0 -0
  1885. /package/{types → dist/types}/utils/typeHelpers/reducers/createAction.d.ts +0 -0
  1886. /package/{types → dist/types}/utils/useDidMountEffect.d.ts +0 -0
  1887. /package/{types → dist/types}/utils/utils.d.ts +0 -0
  1888. /package/{types → dist/types}/utils/uuid.d.ts +0 -0
  1889. /package/{ui → dist/ui}/Accordion.js.map +0 -0
  1890. /package/{ui → dist/ui}/AccordionGroup.js.map +0 -0
  1891. /package/{ui → dist/ui}/AdminMessage.js.map +0 -0
  1892. /package/{ui → dist/ui}/Avatar.js.map +0 -0
  1893. /package/{ui → dist/ui}/Badge.js.map +0 -0
  1894. /package/{ui → dist/ui}/BottomSheet.js.map +0 -0
  1895. /package/{ui → dist/ui}/Button.js.map +0 -0
  1896. /package/{ui → dist/ui}/ChannelAvatar.js.map +0 -0
  1897. /package/{ui → dist/ui}/Checkbox.js +0 -0
  1898. /package/{ui → dist/ui}/Checkbox.js.map +0 -0
  1899. /package/{ui → dist/ui}/ConnectionStatus.js.map +0 -0
  1900. /package/{ui → dist/ui}/ContextMenu.js.map +0 -0
  1901. /package/{ui → dist/ui}/DateSeparator.js.map +0 -0
  1902. /package/{ui → dist/ui}/FileMessageItemBody.js.map +0 -0
  1903. /package/{ui → dist/ui}/FileViewer.js.map +0 -0
  1904. /package/{ui → dist/ui}/Icon.js.map +0 -0
  1905. /package/{ui → dist/ui}/IconButton.js.map +0 -0
  1906. /package/{ui → dist/ui}/Input.js.map +0 -0
  1907. /package/{ui → dist/ui}/Label.js.map +0 -0
  1908. /package/{ui → dist/ui}/LinkLabel.js.map +0 -0
  1909. /package/{ui → dist/ui}/Loader.js.map +0 -0
  1910. /package/{ui → dist/ui}/MentionLabel.js.map +0 -0
  1911. /package/{ui → dist/ui}/MentionUserLabel.js.map +0 -0
  1912. /package/{cjs → dist}/ui/MessageContent.js.map +0 -0
  1913. /package/{ui → dist/ui}/MessageInput/hooks/usePaste.js.map +0 -0
  1914. /package/{ui → dist/ui}/MessageInput.js.map +0 -0
  1915. /package/{ui → dist/ui}/MessageItemMenu.js.map +0 -0
  1916. /package/{ui → dist/ui}/MessageItemReactionMenu.js.map +0 -0
  1917. /package/{ui → dist/ui}/MessageSearchFileItem.js.map +0 -0
  1918. /package/{ui → dist/ui}/MessageSearchItem.js.map +0 -0
  1919. /package/{ui → dist/ui}/MessageStatus.js.map +0 -0
  1920. /package/{ui → dist/ui}/Modal.js.map +0 -0
  1921. /package/{ui → dist/ui}/MutedAvatarOverlay.js.map +0 -0
  1922. /package/{ui → dist/ui}/OGMessageItemBody.js.map +0 -0
  1923. /package/{ui → dist/ui}/OpenChannelAdminMessage.js.map +0 -0
  1924. /package/{ui → dist/ui}/OpenChannelAvatar.js.map +0 -0
  1925. /package/{ui → dist/ui}/OpenchannelConversationHeader.js.map +0 -0
  1926. /package/{cjs → dist}/ui/OpenchannelFileMessage.js.map +0 -0
  1927. /package/{cjs → dist}/ui/OpenchannelOGMessage.js.map +0 -0
  1928. /package/{cjs → dist}/ui/OpenchannelThumbnailMessage.js.map +0 -0
  1929. /package/{cjs → dist}/ui/OpenchannelUserMessage.js.map +0 -0
  1930. /package/{ui → dist/ui}/PlaceHolder.js.map +0 -0
  1931. /package/{ui → dist/ui}/PlaybackTime.js.map +0 -0
  1932. /package/{ui → dist/ui}/ProgressBar.js +0 -0
  1933. /package/{ui → dist/ui}/ProgressBar.js.map +0 -0
  1934. /package/{ui → dist/ui}/QuoteMessage.js.map +0 -0
  1935. /package/{ui → dist/ui}/QuoteMessageInput.js.map +0 -0
  1936. /package/{ui → dist/ui}/ReactionBadge.js.map +0 -0
  1937. /package/{ui → dist/ui}/ReactionButton.js.map +0 -0
  1938. /package/{ui → dist/ui}/SortByRow.js.map +0 -0
  1939. /package/{ui → dist/ui}/TextButton.js.map +0 -0
  1940. /package/{ui → dist/ui}/TextMessageItemBody.js.map +0 -0
  1941. /package/{ui → dist/ui}/ThreadReplies.js.map +0 -0
  1942. /package/{ui → dist/ui}/ThumbnailMessageItemBody.js.map +0 -0
  1943. /package/{ui → dist/ui}/Toggle.js.map +0 -0
  1944. /package/{ui → dist/ui}/Tooltip.js.map +0 -0
  1945. /package/{ui → dist/ui}/TooltipWrapper.js.map +0 -0
  1946. /package/{ui → dist/ui}/TypingIndicatorBubble.js.map +0 -0
  1947. /package/{ui → dist/ui}/UnknownMessageItemBody.js.map +0 -0
  1948. /package/{cjs → dist}/ui/UserListItem.js.map +0 -0
  1949. /package/{ui → dist/ui}/UserProfile.js.map +0 -0
  1950. /package/{ui → dist/ui}/VoiceMessageInput.js.map +0 -0
  1951. /package/{ui → dist/ui}/VoiceMessageItemBody.js.map +0 -0
  1952. /package/{ui → dist/ui}/Word.js.map +0 -0
  1953. /package/{useSendbirdStateContext.js.map → dist/useSendbirdStateContext.js.map} +0 -0
  1954. /package/{utils → dist/utils}/message/getOutgoingMessageState.js +0 -0
  1955. /package/{utils → dist/utils}/message/getOutgoingMessageState.js.map +0 -0
  1956. /package/{utils → dist/utils}/message/isVoiceMessage.js.map +0 -0
  1957. /package/{withSendbird.js.map → dist/withSendbird.js.map} +0 -0
package/lame.all.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"lame.all.js","sources":["../src/_externals/lamejs/lame.all.js"],"sourcesContent":["function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire3f09\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire3f09\"] = parcelRequire;\n}\nparcelRequire.register(\"kk1yk\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $ecb6e13812bdc08b$var$System = $3YDN3.System;\nvar $ecb6e13812bdc08b$var$VbrMode = $3YDN3.VbrMode;\nvar $ecb6e13812bdc08b$var$Float = $3YDN3.Float;\nvar $ecb6e13812bdc08b$var$ShortBlock = $3YDN3.ShortBlock;\nvar $ecb6e13812bdc08b$var$Util = $3YDN3.Util;\nvar $ecb6e13812bdc08b$var$Arrays = $3YDN3.Arrays;\nvar $ecb6e13812bdc08b$var$new_array_n = $3YDN3.new_array_n;\nvar $ecb6e13812bdc08b$var$new_byte = $3YDN3.new_byte;\nvar $ecb6e13812bdc08b$var$new_double = $3YDN3.new_double;\nvar $ecb6e13812bdc08b$var$new_float = $3YDN3.new_float;\nvar $ecb6e13812bdc08b$var$new_float_n = $3YDN3.new_float_n;\nvar $ecb6e13812bdc08b$var$new_int = $3YDN3.new_int;\nvar $ecb6e13812bdc08b$var$new_int_n = $3YDN3.new_int_n;\nvar $ecb6e13812bdc08b$var$new_short_n = $3YDN3.new_short_n;\nvar $ecb6e13812bdc08b$var$assert = $3YDN3.assert;\n\nvar $d2VP0 = parcelRequire(\"d2VP0\");\n\nvar $5HJeD = parcelRequire(\"5HJeD\");\n\nvar $4SDnr = parcelRequire(\"4SDnr\");\n\nvar $cU3Yf = parcelRequire(\"cU3Yf\");\n\nvar $2qGTD = parcelRequire(\"2qGTD\");\n\nvar $e32wu = parcelRequire(\"e32wu\");\n\nvar $ctaQC = parcelRequire(\"ctaQC\");\n\nvar $dQDcS = parcelRequire(\"dQDcS\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nfunction $ecb6e13812bdc08b$var$Lame() {\n var MPEGMode = (parcelRequire(\"jL6I1\"));\n var self = this;\n var LAME_MAXALBUMART = 131072;\n $ecb6e13812bdc08b$var$Lame.V9 = 410;\n $ecb6e13812bdc08b$var$Lame.V8 = 420;\n $ecb6e13812bdc08b$var$Lame.V7 = 430;\n $ecb6e13812bdc08b$var$Lame.V6 = 440;\n $ecb6e13812bdc08b$var$Lame.V5 = 450;\n $ecb6e13812bdc08b$var$Lame.V4 = 460;\n $ecb6e13812bdc08b$var$Lame.V3 = 470;\n $ecb6e13812bdc08b$var$Lame.V2 = 480;\n $ecb6e13812bdc08b$var$Lame.V1 = 490;\n $ecb6e13812bdc08b$var$Lame.V0 = 500;\n /* still there for compatibility */ $ecb6e13812bdc08b$var$Lame.R3MIX = 1000;\n $ecb6e13812bdc08b$var$Lame.STANDARD = 1001;\n $ecb6e13812bdc08b$var$Lame.EXTREME = 1002;\n $ecb6e13812bdc08b$var$Lame.INSANE = 1003;\n $ecb6e13812bdc08b$var$Lame.STANDARD_FAST = 1004;\n $ecb6e13812bdc08b$var$Lame.EXTREME_FAST = 1005;\n $ecb6e13812bdc08b$var$Lame.MEDIUM = 1006;\n $ecb6e13812bdc08b$var$Lame.MEDIUM_FAST = 1007;\n /**\n * maximum size of mp3buffer needed if you encode at most 1152 samples for\n * each call to lame_encode_buffer. see lame_encode_buffer() below\n * (LAME_MAXMP3BUFFER is now obsolete)\n */ var LAME_MAXMP3BUFFER = 16384 + LAME_MAXALBUMART;\n $ecb6e13812bdc08b$var$Lame.LAME_MAXMP3BUFFER = LAME_MAXMP3BUFFER;\n var ga;\n var bs;\n var p;\n var qupvt;\n var qu;\n var psy = new $d2VP0();\n var vbr;\n var ver;\n var id3;\n var mpglib;\n this.enc = new $cPNKB();\n this.setModules = function(_ga, _bs, _p, _qupvt, _qu, _vbr, _ver, _id3, _mpglib) {\n ga = _ga;\n bs = _bs;\n p = _p;\n qupvt = _qupvt;\n qu = _qu;\n vbr = _vbr;\n ver = _ver;\n id3 = _id3;\n mpglib = _mpglib;\n this.enc.setModules(bs, psy, qupvt, vbr);\n };\n /**\n * PSY Model related stuff\n */ function PSY() {\n /**\n * The dbQ stuff.\n */ this.mask_adjust = 0.;\n /**\n * The dbQ stuff.\n */ this.mask_adjust_short = 0.;\n /* at transition from one scalefactor band to next */ /**\n * Band weight long scalefactor bands.\n */ this.bo_l_weight = $ecb6e13812bdc08b$var$new_float($cPNKB.SBMAX_l);\n /**\n * Band weight short scalefactor bands.\n */ this.bo_s_weight = $ecb6e13812bdc08b$var$new_float($cPNKB.SBMAX_s);\n }\n function LowPassHighPass() {\n this.lowerlimit = 0.;\n }\n function BandPass(bitrate, lPass) {\n this.lowpass = lPass;\n }\n var LAME_ID = 0xFFF88E3B;\n function lame_init_old(gfp) {\n var gfc;\n gfp.class_id = LAME_ID;\n gfc = gfp.internal_flags = new $4SDnr();\n /* Global flags. set defaults here for non-zero values */ /* see lame.h for description */ /*\n * set integer values to -1 to mean that LAME will compute the best\n * value, UNLESS the calling program as set it (and the value is no\n * longer -1)\n */ gfp.mode = MPEGMode.NOT_SET;\n gfp.original = 1;\n gfp.in_samplerate = 44100;\n gfp.num_channels = 2;\n gfp.num_samples = -1;\n gfp.bWriteVbrTag = true;\n gfp.quality = -1;\n gfp.short_blocks = null;\n gfc.subblock_gain = -1;\n gfp.lowpassfreq = 0;\n gfp.highpassfreq = 0;\n gfp.lowpasswidth = -1;\n gfp.highpasswidth = -1;\n gfp.VBR = $ecb6e13812bdc08b$var$VbrMode.vbr_off;\n gfp.VBR_q = 4;\n gfp.ATHcurve = -1;\n gfp.VBR_mean_bitrate_kbps = 128;\n gfp.VBR_min_bitrate_kbps = 0;\n gfp.VBR_max_bitrate_kbps = 0;\n gfp.VBR_hard_min = 0;\n gfc.VBR_min_bitrate = 1;\n /* not 0 ????? */ gfc.VBR_max_bitrate = 13;\n /* not 14 ????? */ gfp.quant_comp = -1;\n gfp.quant_comp_short = -1;\n gfp.msfix = -1;\n gfc.resample_ratio = 1;\n gfc.OldValue[0] = 180;\n gfc.OldValue[1] = 180;\n gfc.CurrentStep[0] = 4;\n gfc.CurrentStep[1] = 4;\n gfc.masking_lower = 1;\n gfc.nsPsy.attackthre = -1;\n gfc.nsPsy.attackthre_s = -1;\n gfp.scale = -1;\n gfp.athaa_type = -1;\n gfp.ATHtype = -1;\n /* default = -1 = set in lame_init_params */ gfp.athaa_loudapprox = -1;\n /* 1 = flat loudness approx. (total energy) */ /* 2 = equal loudness curve */ gfp.athaa_sensitivity = 0.0;\n /* no offset */ gfp.useTemporal = null;\n gfp.interChRatio = -1;\n /*\n * The reason for int mf_samples_to_encode = ENCDELAY + POSTDELAY;\n * ENCDELAY = internal encoder delay. And then we have to add\n * POSTDELAY=288 because of the 50% MDCT overlap. A 576 MDCT granule\n * decodes to 1152 samples. To synthesize the 576 samples centered under\n * this granule we need the previous granule for the first 288 samples\n * (no problem), and the next granule for the next 288 samples (not\n * possible if this is last granule). So we need to pad with 288 samples\n * to make sure we can encode the 576 samples we are interested in.\n */ gfc.mf_samples_to_encode = $cPNKB.ENCDELAY + $cPNKB.POSTDELAY;\n gfp.encoder_padding = 0;\n gfc.mf_size = $cPNKB.ENCDELAY - $cPNKB.MDCTDELAY;\n /*\n * we pad input with this many 0's\n */ gfp.findReplayGain = false;\n gfp.decode_on_the_fly = false;\n gfc.decode_on_the_fly = false;\n gfc.findReplayGain = false;\n gfc.findPeakSample = false;\n gfc.RadioGain = 0;\n gfc.AudiophileGain = 0;\n gfc.noclipGainChange = 0;\n gfc.noclipScale = -1;\n gfp.preset = 0;\n gfp.write_id3tag_automatic = true;\n return 0;\n }\n this.lame_init = function() {\n var gfp = new $5HJeD();\n var ret = lame_init_old(gfp);\n if (ret != 0) return null;\n gfp.lame_allocated_gfp = 1;\n return gfp;\n };\n function filter_coef(x) {\n if (x > 1.0) return 0.0;\n if (x <= 0.0) return 1.0;\n return Math.cos(Math.PI / 2 * x);\n }\n this.nearestBitrateFullIndex = function(bitrate) {\n /* borrowed from DM abr presets */ var full_bitrate_table = [\n 8,\n 16,\n 24,\n 32,\n 40,\n 48,\n 56,\n 64,\n 80,\n 96,\n 112,\n 128,\n 160,\n 192,\n 224,\n 256,\n 320\n ];\n var lower_range = 0, lower_range_kbps = 0, upper_range = 0, upper_range_kbps = 0;\n /* We assume specified bitrate will be 320kbps */ upper_range_kbps = full_bitrate_table[16];\n upper_range = 16;\n lower_range_kbps = full_bitrate_table[16];\n lower_range = 16;\n /*\n * Determine which significant bitrates the value specified falls\n * between, if loop ends without breaking then we were correct above\n * that the value was 320\n */ for(var b = 0; b < 16; b++)if (Math.max(bitrate, full_bitrate_table[b + 1]) != bitrate) {\n upper_range_kbps = full_bitrate_table[b + 1];\n upper_range = b + 1;\n lower_range_kbps = full_bitrate_table[b];\n lower_range = b;\n break;\n /* We found upper range */ }\n /* Determine which range the value specified is closer to */ if (upper_range_kbps - bitrate > bitrate - lower_range_kbps) return lower_range;\n return upper_range;\n };\n function optimum_samplefreq(lowpassfreq, input_samplefreq) {\n /*\n * Rules:\n *\n * - if possible, sfb21 should NOT be used\n */ var suggested_samplefreq = 44100;\n if (input_samplefreq >= 48000) suggested_samplefreq = 48000;\n else if (input_samplefreq >= 44100) suggested_samplefreq = 44100;\n else if (input_samplefreq >= 32000) suggested_samplefreq = 32000;\n else if (input_samplefreq >= 24000) suggested_samplefreq = 24000;\n else if (input_samplefreq >= 22050) suggested_samplefreq = 22050;\n else if (input_samplefreq >= 16000) suggested_samplefreq = 16000;\n else if (input_samplefreq >= 12000) suggested_samplefreq = 12000;\n else if (input_samplefreq >= 11025) suggested_samplefreq = 11025;\n else if (input_samplefreq >= 8000) suggested_samplefreq = 8000;\n if (lowpassfreq == -1) return suggested_samplefreq;\n if (lowpassfreq <= 15960) suggested_samplefreq = 44100;\n if (lowpassfreq <= 15250) suggested_samplefreq = 32000;\n if (lowpassfreq <= 11220) suggested_samplefreq = 24000;\n if (lowpassfreq <= 9970) suggested_samplefreq = 22050;\n if (lowpassfreq <= 7230) suggested_samplefreq = 16000;\n if (lowpassfreq <= 5420) suggested_samplefreq = 12000;\n if (lowpassfreq <= 4510) suggested_samplefreq = 11025;\n if (lowpassfreq <= 3970) suggested_samplefreq = 8000;\n if (input_samplefreq < suggested_samplefreq) {\n /*\n * choose a valid MPEG sample frequency above the input sample\n * frequency to avoid SFB21/12 bitrate bloat rh 061115\n */ if (input_samplefreq > 44100) return 48000;\n if (input_samplefreq > 32000) return 44100;\n if (input_samplefreq > 24000) return 32000;\n if (input_samplefreq > 22050) return 24000;\n if (input_samplefreq > 16000) return 22050;\n if (input_samplefreq > 12000) return 16000;\n if (input_samplefreq > 11025) return 12000;\n if (input_samplefreq > 8000) return 11025;\n return 8000;\n }\n return suggested_samplefreq;\n }\n /**\n * convert samp freq in Hz to index\n */ function SmpFrqIndex(sample_freq, gpf) {\n switch(sample_freq){\n case 44100:\n gpf.version = 1;\n return 0;\n case 48000:\n gpf.version = 1;\n return 1;\n case 32000:\n gpf.version = 1;\n return 2;\n case 22050:\n gpf.version = 0;\n return 0;\n case 24000:\n gpf.version = 0;\n return 1;\n case 16000:\n gpf.version = 0;\n return 2;\n case 11025:\n gpf.version = 0;\n return 0;\n case 12000:\n gpf.version = 0;\n return 1;\n case 8000:\n gpf.version = 0;\n return 2;\n default:\n gpf.version = 0;\n return -1;\n }\n }\n /**\n * @param bRate\n * legal rates from 8 to 320\n */ function FindNearestBitrate(bRate, version, samplerate) {\n /* MPEG-1 or MPEG-2 LSF */ if (samplerate < 16000) version = 2;\n var bitrate = $dQDcS.bitrate_table[version][1];\n for(var i = 2; i <= 14; i++){\n if ($dQDcS.bitrate_table[version][i] > 0) {\n if (Math.abs($dQDcS.bitrate_table[version][i] - bRate) < Math.abs(bitrate - bRate)) bitrate = $dQDcS.bitrate_table[version][i];\n }\n }\n return bitrate;\n }\n /**\n * @param bRate\n * legal rates from 32 to 448 kbps\n * @param version\n * MPEG-1 or MPEG-2/2.5 LSF\n */ function BitrateIndex(bRate, version, samplerate) {\n /* convert bitrate in kbps to index */ if (samplerate < 16000) version = 2;\n for(var i = 0; i <= 14; i++)if ($dQDcS.bitrate_table[version][i] > 0) {\n if ($dQDcS.bitrate_table[version][i] == bRate) return i;\n }\n return -1;\n }\n function optimum_bandwidth(lh, bitrate) {\n /**\n * <PRE>\n * Input:\n * bitrate total bitrate in kbps\n *\n * Output:\n * lowerlimit: best lowpass frequency limit for input filter in Hz\n * upperlimit: best highpass frequency limit for input filter in Hz\n * </PRE>\n */ var freq_map = [\n new BandPass(8, 2000),\n new BandPass(16, 3700),\n new BandPass(24, 3900),\n new BandPass(32, 5500),\n new BandPass(40, 7000),\n new BandPass(48, 7500),\n new BandPass(56, 10000),\n new BandPass(64, 11000),\n new BandPass(80, 13500),\n new BandPass(96, 15100),\n new BandPass(112, 15600),\n new BandPass(128, 17000),\n new BandPass(160, 17500),\n new BandPass(192, 18600),\n new BandPass(224, 19400),\n new BandPass(256, 19700),\n new BandPass(320, 20500)\n ];\n var table_index = self.nearestBitrateFullIndex(bitrate);\n lh.lowerlimit = freq_map[table_index].lowpass;\n }\n function lame_init_params_ppflt(gfp) {\n var gfc = gfp.internal_flags;\n /***************************************************************/ /* compute info needed for polyphase filter (filter type==0, default) */ /***************************************************************/ var lowpass_band = 32;\n var highpass_band = -1;\n if (gfc.lowpass1 > 0) {\n var minband = 999;\n for(var band = 0; band <= 31; band++){\n var freq = band / 31.0;\n /* this band and above will be zeroed: */ if (freq >= gfc.lowpass2) lowpass_band = Math.min(lowpass_band, band);\n if (gfc.lowpass1 < freq && freq < gfc.lowpass2) minband = Math.min(minband, band);\n }\n /*\n * compute the *actual* transition band implemented by the polyphase\n * filter\n */ if (minband == 999) gfc.lowpass1 = (lowpass_band - .75) / 31.0;\n else gfc.lowpass1 = (minband - .75) / 31.0;\n gfc.lowpass2 = lowpass_band / 31.0;\n }\n /*\n * make sure highpass filter is within 90% of what the effective\n * highpass frequency will be\n */ if (gfc.highpass2 > 0) {\n if (gfc.highpass2 < .9 * (.75 / 31.0)) {\n gfc.highpass1 = 0;\n gfc.highpass2 = 0;\n $ecb6e13812bdc08b$var$System.err.println(\"Warning: highpass filter disabled. highpass frequency too small\\n\");\n }\n }\n if (gfc.highpass2 > 0) {\n var maxband = -1;\n for(var band = 0; band <= 31; band++){\n var freq = band / 31.0;\n /* this band and below will be zereod */ if (freq <= gfc.highpass1) highpass_band = Math.max(highpass_band, band);\n if (gfc.highpass1 < freq && freq < gfc.highpass2) maxband = Math.max(maxband, band);\n }\n /*\n * compute the *actual* transition band implemented by the polyphase\n * filter\n */ gfc.highpass1 = highpass_band / 31.0;\n if (maxband == -1) gfc.highpass2 = (highpass_band + .75) / 31.0;\n else gfc.highpass2 = (maxband + .75) / 31.0;\n }\n for(var band = 0; band < 32; band++){\n var fc1, fc2;\n var freq = band / 31.0;\n if (gfc.highpass2 > gfc.highpass1) fc1 = filter_coef((gfc.highpass2 - freq) / (gfc.highpass2 - gfc.highpass1 + 1e-20));\n else fc1 = 1.0;\n if (gfc.lowpass2 > gfc.lowpass1) fc2 = filter_coef((freq - gfc.lowpass1) / (gfc.lowpass2 - gfc.lowpass1 + 1e-20));\n else fc2 = 1.0;\n gfc.amp_filter[band] = fc1 * fc2;\n }\n }\n function lame_init_qval(gfp) {\n var gfc = gfp.internal_flags;\n switch(gfp.quality){\n default:\n case 9:\n /* no psymodel, no noise shaping */ gfc.psymodel = 0;\n gfc.noise_shaping = 0;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n gfc.use_best_huffman = 0;\n gfc.full_outer_loop = 0;\n break;\n case 8:\n gfp.quality = 7;\n //$FALL-THROUGH$\n case 7:\n /*\n * use psymodel (for short block and m/s switching), but no noise\n * shapping\n */ gfc.psymodel = 1;\n gfc.noise_shaping = 0;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n gfc.use_best_huffman = 0;\n gfc.full_outer_loop = 0;\n break;\n case 6:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 0;\n gfc.full_outer_loop = 0;\n break;\n case 5:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 0;\n gfc.full_outer_loop = 0;\n break;\n case 4:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n gfc.full_outer_loop = 0;\n break;\n case 3:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n gfc.noise_shaping_amp = 1;\n gfc.noise_shaping_stop = 1;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n gfc.full_outer_loop = 0;\n break;\n case 2:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n if (gfc.substep_shaping == 0) gfc.substep_shaping = 2;\n gfc.noise_shaping_amp = 1;\n gfc.noise_shaping_stop = 1;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n /* inner loop */ gfc.full_outer_loop = 0;\n break;\n case 1:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n if (gfc.substep_shaping == 0) gfc.substep_shaping = 2;\n gfc.noise_shaping_amp = 2;\n gfc.noise_shaping_stop = 1;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n gfc.full_outer_loop = 0;\n break;\n case 0:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n if (gfc.substep_shaping == 0) gfc.substep_shaping = 2;\n gfc.noise_shaping_amp = 2;\n gfc.noise_shaping_stop = 1;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n /*\n * type 2 disabled because of it slowness, in favor of full outer\n * loop search\n */ gfc.full_outer_loop = 0;\n break;\n }\n }\n function lame_init_bitstream(gfp) {\n var gfc = gfp.internal_flags;\n gfp.frameNum = 0;\n if (gfp.write_id3tag_automatic) id3.id3tag_write_v2(gfp);\n /* initialize histogram data optionally used by frontend */ gfc.bitrate_stereoMode_Hist = $ecb6e13812bdc08b$var$new_int_n([\n 16,\n 5\n ]);\n gfc.bitrate_blockType_Hist = $ecb6e13812bdc08b$var$new_int_n([\n 16,\n 6\n ]);\n gfc.PeakSample = 0.0;\n /* Write initial VBR Header to bitstream and init VBR data */ if (gfp.bWriteVbrTag) vbr.InitVbrTag(gfp);\n }\n /********************************************************************\n * initialize internal params based on data in gf (globalflags struct filled\n * in by calling program)\n *\n * OUTLINE:\n *\n * We first have some complex code to determine bitrate, output samplerate\n * and mode. It is complicated by the fact that we allow the user to set\n * some or all of these parameters, and need to determine best possible\n * values for the rest of them:\n *\n * 1. set some CPU related flags 2. check if we are mono.mono, stereo.mono\n * or stereo.stereo 3. compute bitrate and output samplerate: user may have\n * set compression ratio user may have set a bitrate user may have set a\n * output samplerate 4. set some options which depend on output samplerate\n * 5. compute the actual compression ratio 6. set mode based on compression\n * ratio\n *\n * The remaining code is much simpler - it just sets options based on the\n * mode & compression ratio:\n *\n * set allow_diff_short based on mode select lowpass filter based on\n * compression ratio & mode set the bitrate index, and min/max bitrates for\n * VBR modes disable VBR tag if it is not appropriate initialize the\n * bitstream initialize scalefac_band data set sideinfo_len (based on\n * channels, CRC, out_samplerate) write an id3v2 tag into the bitstream\n * write VBR tag into the bitstream set mpeg1/2 flag estimate the number of\n * frames (based on a lot of data)\n *\n * now we set more flags: nspsytune: see code VBR modes see code CBR/ABR see\n * code\n *\n * Finally, we set the algorithm flags based on the gfp.quality value\n * lame_init_qval(gfp);\n *\n ********************************************************************/ this.lame_init_params = function(gfp) {\n var gfc = gfp.internal_flags;\n gfc.Class_ID = 0;\n if (gfc.ATH == null) gfc.ATH = new $cU3Yf();\n if (gfc.PSY == null) gfc.PSY = new PSY();\n if (gfc.rgdata == null) gfc.rgdata = new $2qGTD();\n gfc.channels_in = gfp.num_channels;\n if (gfc.channels_in == 1) gfp.mode = MPEGMode.MONO;\n gfc.channels_out = gfp.mode == MPEGMode.MONO ? 1 : 2;\n gfc.mode_ext = $cPNKB.MPG_MD_MS_LR;\n if (gfp.mode == MPEGMode.MONO) gfp.force_ms = false;\n /*\n * don't allow forced mid/side stereo for mono output\n */ if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off && gfp.VBR_mean_bitrate_kbps != 128 && gfp.brate == 0) gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off || gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_mtrh || gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_mt) ;\n else gfp.free_format = false;\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off && gfp.brate == 0) /* no bitrate or compression ratio specified, use 11.025 */ {\n if ($ctaQC.EQ(gfp.compression_ratio, 0)) gfp.compression_ratio = 11.025;\n }\n /* find bitrate if user specify a compression ratio */ if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off && gfp.compression_ratio > 0) {\n if (gfp.out_samplerate == 0) gfp.out_samplerate = map2MP3Frequency(int(0.97 * gfp.in_samplerate));\n /*\n * round up with a margin of 3 %\n */ /*\n * choose a bitrate for the output samplerate which achieves\n * specified compression ratio\n */ gfp.brate = 0 | gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.compression_ratio);\n /* we need the version for the bitrate table look up */ gfc.samplerate_index = SmpFrqIndex(gfp.out_samplerate, gfp);\n if (!gfp.free_format) /*\n * for non Free Format find the nearest allowed\n * bitrate\n */ gfp.brate = FindNearestBitrate(gfp.brate, gfp.version, gfp.out_samplerate);\n }\n if (gfp.out_samplerate != 0) {\n if (gfp.out_samplerate < 16000) {\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 64);\n } else if (gfp.out_samplerate < 32000) {\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 160);\n } else {\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 32);\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n }\n }\n /****************************************************************/ /* if a filter has not been enabled, see if we should add one: */ /****************************************************************/ if (gfp.lowpassfreq == 0) {\n var lowpass = 16000.;\n switch(gfp.VBR){\n case $ecb6e13812bdc08b$var$VbrMode.vbr_off:\n var lh = new LowPassHighPass();\n optimum_bandwidth(lh, gfp.brate);\n lowpass = lh.lowerlimit;\n break;\n case $ecb6e13812bdc08b$var$VbrMode.vbr_abr:\n var lh = new LowPassHighPass();\n optimum_bandwidth(lh, gfp.VBR_mean_bitrate_kbps);\n lowpass = lh.lowerlimit;\n break;\n case $ecb6e13812bdc08b$var$VbrMode.vbr_rh:\n var x = [\n 19500,\n 19000,\n 18600,\n 18000,\n 17500,\n 16000,\n 15600,\n 14900,\n 12500,\n 10000,\n 3950\n ];\n if (0 <= gfp.VBR_q && gfp.VBR_q <= 9) {\n var a = x[gfp.VBR_q], b = x[gfp.VBR_q + 1], m = gfp.VBR_q_frac;\n lowpass = linear_int(a, b, m);\n } else lowpass = 19500;\n break;\n default:\n var x = [\n 19500,\n 19000,\n 18500,\n 18000,\n 17500,\n 16500,\n 15500,\n 14500,\n 12500,\n 9500,\n 3950\n ];\n if (0 <= gfp.VBR_q && gfp.VBR_q <= 9) {\n var a = x[gfp.VBR_q], b = x[gfp.VBR_q + 1], m = gfp.VBR_q_frac;\n lowpass = linear_int(a, b, m);\n } else lowpass = 19500;\n }\n if (gfp.mode == MPEGMode.MONO && (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off || gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_abr)) lowpass *= 1.5;\n gfp.lowpassfreq = lowpass | 0;\n }\n if (gfp.out_samplerate == 0) {\n if (2 * gfp.lowpassfreq > gfp.in_samplerate) gfp.lowpassfreq = gfp.in_samplerate / 2;\n gfp.out_samplerate = optimum_samplefreq(gfp.lowpassfreq | 0, gfp.in_samplerate);\n }\n gfp.lowpassfreq = Math.min(20500, gfp.lowpassfreq);\n gfp.lowpassfreq = Math.min(gfp.out_samplerate / 2, gfp.lowpassfreq);\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off) gfp.compression_ratio = gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.brate);\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_abr) gfp.compression_ratio = gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.VBR_mean_bitrate_kbps);\n /*\n * do not compute ReplayGain values and do not find the peak sample if\n * we can't store them\n */ if (!gfp.bWriteVbrTag) {\n gfp.findReplayGain = false;\n gfp.decode_on_the_fly = false;\n gfc.findPeakSample = false;\n }\n gfc.findReplayGain = gfp.findReplayGain;\n gfc.decode_on_the_fly = gfp.decode_on_the_fly;\n if (gfc.decode_on_the_fly) gfc.findPeakSample = true;\n if (gfc.findReplayGain) {\n if (ga.InitGainAnalysis(gfc.rgdata, gfp.out_samplerate) == GainAnalysis.INIT_GAIN_ANALYSIS_ERROR) {\n gfp.internal_flags = null;\n return -6;\n }\n }\n if (gfc.decode_on_the_fly && !gfp.decode_only) {\n if (gfc.hip != null) mpglib.hip_decode_exit(gfc.hip);\n gfc.hip = mpglib.hip_decode_init();\n }\n gfc.mode_gr = gfp.out_samplerate <= 24000 ? 1 : 2;\n /*\n * Number of granules per frame\n */ gfp.framesize = 576 * gfc.mode_gr;\n gfp.encoder_delay = $cPNKB.ENCDELAY;\n gfc.resample_ratio = gfp.in_samplerate / gfp.out_samplerate;\n /**\n * <PRE>\n * sample freq bitrate compression ratio\n * [kHz] [kbps/channel] for 16 bit input\n * 44.1 56 12.6\n * 44.1 64 11.025\n * 44.1 80 8.82\n * 22.05 24 14.7\n * 22.05 32 11.025\n * 22.05 40 8.82\n * 16 16 16.0\n * 16 24 10.667\n * </PRE>\n */ /**\n * <PRE>\n * For VBR, take a guess at the compression_ratio.\n * For example:\n *\n * VBR_q compression like\n * - 4.4 320 kbps/44 kHz\n * 0...1 5.5 256 kbps/44 kHz\n * 2 7.3 192 kbps/44 kHz\n * 4 8.8 160 kbps/44 kHz\n * 6 11 128 kbps/44 kHz\n * 9 14.7 96 kbps\n *\n * for lower bitrates, downsample with --resample\n * </PRE>\n */ switch(gfp.VBR){\n case $ecb6e13812bdc08b$var$VbrMode.vbr_mt:\n case $ecb6e13812bdc08b$var$VbrMode.vbr_rh:\n case $ecb6e13812bdc08b$var$VbrMode.vbr_mtrh:\n /* numbers are a bit strange, but they determine the lowpass value */ var cmp = [\n 5.7,\n 6.5,\n 7.3,\n 8.2,\n 10,\n 11.9,\n 13,\n 14,\n 15,\n 16.5\n ];\n gfp.compression_ratio = cmp[gfp.VBR_q];\n break;\n case $ecb6e13812bdc08b$var$VbrMode.vbr_abr:\n gfp.compression_ratio = gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.VBR_mean_bitrate_kbps);\n break;\n default:\n gfp.compression_ratio = gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.brate);\n break;\n }\n /*\n * mode = -1 (not set by user) or mode = MONO (because of only 1 input\n * channel). If mode has not been set, then select J-STEREO\n */ if (gfp.mode == MPEGMode.NOT_SET) gfp.mode = MPEGMode.JOINT_STEREO;\n /* apply user driven high pass filter */ if (gfp.highpassfreq > 0) {\n gfc.highpass1 = 2. * gfp.highpassfreq;\n if (gfp.highpasswidth >= 0) gfc.highpass2 = 2. * (gfp.highpassfreq + gfp.highpasswidth);\n else /* 0% above on default */ gfc.highpass2 = 2 * gfp.highpassfreq;\n gfc.highpass1 /= gfp.out_samplerate;\n gfc.highpass2 /= gfp.out_samplerate;\n } else {\n gfc.highpass1 = 0;\n gfc.highpass2 = 0;\n }\n /* apply user driven low pass filter */ if (gfp.lowpassfreq > 0) {\n gfc.lowpass2 = 2. * gfp.lowpassfreq;\n if (gfp.lowpasswidth >= 0) {\n gfc.lowpass1 = 2. * (gfp.lowpassfreq - gfp.lowpasswidth);\n if (gfc.lowpass1 < 0) /* has to be >= 0 */ gfc.lowpass1 = 0;\n } else gfc.lowpass1 = 2 * gfp.lowpassfreq;\n gfc.lowpass1 /= gfp.out_samplerate;\n gfc.lowpass2 /= gfp.out_samplerate;\n } else {\n gfc.lowpass1 = 0;\n gfc.lowpass2 = 0;\n }\n /**********************************************************************/ /* compute info needed for polyphase filter (filter type==0, default) */ /**********************************************************************/ lame_init_params_ppflt(gfp);\n /*******************************************************\n * samplerate and bitrate index\n *******************************************************/ gfc.samplerate_index = SmpFrqIndex(gfp.out_samplerate, gfp);\n if (gfc.samplerate_index < 0) {\n gfp.internal_flags = null;\n return -1;\n }\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off) {\n if (gfp.free_format) gfc.bitrate_index = 0;\n else {\n gfp.brate = FindNearestBitrate(gfp.brate, gfp.version, gfp.out_samplerate);\n gfc.bitrate_index = BitrateIndex(gfp.brate, gfp.version, gfp.out_samplerate);\n if (gfc.bitrate_index <= 0) {\n gfp.internal_flags = null;\n return -1;\n }\n }\n } else gfc.bitrate_index = 1;\n /* for CBR, we will write an \"info\" tag. */ if (gfp.analysis) gfp.bWriteVbrTag = false;\n /* some file options not allowed if output is: not specified or stdout */ if (gfc.pinfo != null) gfp.bWriteVbrTag = false;\n /* disable Xing VBR tag */ bs.init_bit_stream_w(gfc);\n var j = gfc.samplerate_index + 3 * gfp.version + 6 * (gfp.out_samplerate < 16000 ? 1 : 0);\n for(var i = 0; i < $cPNKB.SBMAX_l + 1; i++)gfc.scalefac_band.l[i] = qupvt.sfBandIndex[j].l[i];\n for(var i = 0; i < $cPNKB.PSFB21 + 1; i++){\n var size = (gfc.scalefac_band.l[22] - gfc.scalefac_band.l[21]) / $cPNKB.PSFB21;\n var start = gfc.scalefac_band.l[21] + i * size;\n gfc.scalefac_band.psfb21[i] = start;\n }\n gfc.scalefac_band.psfb21[$cPNKB.PSFB21] = 576;\n for(var i = 0; i < $cPNKB.SBMAX_s + 1; i++)gfc.scalefac_band.s[i] = qupvt.sfBandIndex[j].s[i];\n for(var i = 0; i < $cPNKB.PSFB12 + 1; i++){\n var size = (gfc.scalefac_band.s[13] - gfc.scalefac_band.s[12]) / $cPNKB.PSFB12;\n var start = gfc.scalefac_band.s[12] + i * size;\n gfc.scalefac_band.psfb12[i] = start;\n }\n gfc.scalefac_band.psfb12[$cPNKB.PSFB12] = 192;\n /* determine the mean bitrate for main data */ if (gfp.version == 1) /* MPEG 1 */ gfc.sideinfo_len = gfc.channels_out == 1 ? 21 : 36;\n else /* MPEG 2 */ gfc.sideinfo_len = gfc.channels_out == 1 ? 13 : 21;\n if (gfp.error_protection) gfc.sideinfo_len += 2;\n lame_init_bitstream(gfp);\n gfc.Class_ID = LAME_ID;\n var k;\n for(k = 0; k < 19; k++)gfc.nsPsy.pefirbuf[k] = 700 * gfc.mode_gr * gfc.channels_out;\n if (gfp.ATHtype == -1) gfp.ATHtype = 4;\n $ecb6e13812bdc08b$var$assert(gfp.VBR_q <= 9);\n $ecb6e13812bdc08b$var$assert(gfp.VBR_q >= 0);\n switch(gfp.VBR){\n case $ecb6e13812bdc08b$var$VbrMode.vbr_mt:\n gfp.VBR = $ecb6e13812bdc08b$var$VbrMode.vbr_mtrh;\n //$FALL-THROUGH$\n case $ecb6e13812bdc08b$var$VbrMode.vbr_mtrh:\n if (gfp.useTemporal == null) gfp.useTemporal = false;\n p.apply_preset(gfp, 500 - gfp.VBR_q * 10, 0);\n /**\n * <PRE>\n * The newer VBR code supports only a limited\n * subset of quality levels:\n * 9-5=5 are the same, uses x^3/4 quantization\n * 4-0=0 are the same 5 plus best huffman divide code\n * </PRE>\n */ if (gfp.quality < 0) gfp.quality = LAME_DEFAULT_QUALITY;\n if (gfp.quality < 5) gfp.quality = 0;\n if (gfp.quality > 5) gfp.quality = 5;\n gfc.PSY.mask_adjust = gfp.maskingadjust;\n gfc.PSY.mask_adjust_short = gfp.maskingadjust_short;\n /*\n * sfb21 extra only with MPEG-1 at higher sampling rates\n */ if (gfp.experimentalY) gfc.sfb21_extra = false;\n else gfc.sfb21_extra = gfp.out_samplerate > 44000;\n gfc.iteration_loop = new VBRNewIterationLoop(qu);\n break;\n case $ecb6e13812bdc08b$var$VbrMode.vbr_rh:\n p.apply_preset(gfp, 500 - gfp.VBR_q * 10, 0);\n gfc.PSY.mask_adjust = gfp.maskingadjust;\n gfc.PSY.mask_adjust_short = gfp.maskingadjust_short;\n /*\n * sfb21 extra only with MPEG-1 at higher sampling rates\n */ if (gfp.experimentalY) gfc.sfb21_extra = false;\n else gfc.sfb21_extra = gfp.out_samplerate > 44000;\n /*\n * VBR needs at least the output of GPSYCHO, so we have to garantee\n * that by setting a minimum quality level, actually level 6 does\n * it. down to level 6\n */ if (gfp.quality > 6) gfp.quality = 6;\n if (gfp.quality < 0) gfp.quality = LAME_DEFAULT_QUALITY;\n gfc.iteration_loop = new VBROldIterationLoop(qu);\n break;\n default:\n var vbrmode;\n /*\n * no sfb21 extra with CBR code\n */ gfc.sfb21_extra = false;\n if (gfp.quality < 0) gfp.quality = LAME_DEFAULT_QUALITY;\n vbrmode = gfp.VBR;\n if (vbrmode == $ecb6e13812bdc08b$var$VbrMode.vbr_off) gfp.VBR_mean_bitrate_kbps = gfp.brate;\n /* second, set parameters depending on bitrate */ p.apply_preset(gfp, gfp.VBR_mean_bitrate_kbps, 0);\n gfp.VBR = vbrmode;\n gfc.PSY.mask_adjust = gfp.maskingadjust;\n gfc.PSY.mask_adjust_short = gfp.maskingadjust_short;\n if (vbrmode == $ecb6e13812bdc08b$var$VbrMode.vbr_off) gfc.iteration_loop = new $e32wu(qu);\n else gfc.iteration_loop = new ABRIterationLoop(qu);\n break;\n }\n $ecb6e13812bdc08b$var$assert(gfp.scale >= 0);\n /* initialize default values common for all modes */ if (gfp.VBR != $ecb6e13812bdc08b$var$VbrMode.vbr_off) {\n /* if the user didn't specify VBR_max_bitrate: */ gfc.VBR_min_bitrate = 1;\n /*\n * default: allow 8 kbps (MPEG-2) or 32 kbps (MPEG-1)\n */ gfc.VBR_max_bitrate = 14;\n /*\n * default: allow 160 kbps (MPEG-2) or 320 kbps (MPEG-1)\n */ if (gfp.out_samplerate < 16000) gfc.VBR_max_bitrate = 8;\n /* default: allow 64 kbps (MPEG-2.5) */ if (gfp.VBR_min_bitrate_kbps != 0) {\n gfp.VBR_min_bitrate_kbps = FindNearestBitrate(gfp.VBR_min_bitrate_kbps, gfp.version, gfp.out_samplerate);\n gfc.VBR_min_bitrate = BitrateIndex(gfp.VBR_min_bitrate_kbps, gfp.version, gfp.out_samplerate);\n if (gfc.VBR_min_bitrate < 0) return -1;\n }\n if (gfp.VBR_max_bitrate_kbps != 0) {\n gfp.VBR_max_bitrate_kbps = FindNearestBitrate(gfp.VBR_max_bitrate_kbps, gfp.version, gfp.out_samplerate);\n gfc.VBR_max_bitrate = BitrateIndex(gfp.VBR_max_bitrate_kbps, gfp.version, gfp.out_samplerate);\n if (gfc.VBR_max_bitrate < 0) return -1;\n }\n gfp.VBR_min_bitrate_kbps = $dQDcS.bitrate_table[gfp.version][gfc.VBR_min_bitrate];\n gfp.VBR_max_bitrate_kbps = $dQDcS.bitrate_table[gfp.version][gfc.VBR_max_bitrate];\n gfp.VBR_mean_bitrate_kbps = Math.min($dQDcS.bitrate_table[gfp.version][gfc.VBR_max_bitrate], gfp.VBR_mean_bitrate_kbps);\n gfp.VBR_mean_bitrate_kbps = Math.max($dQDcS.bitrate_table[gfp.version][gfc.VBR_min_bitrate], gfp.VBR_mean_bitrate_kbps);\n }\n /* just another daily changing developer switch */ if (gfp.tune) {\n gfc.PSY.mask_adjust += gfp.tune_value_a;\n gfc.PSY.mask_adjust_short += gfp.tune_value_a;\n }\n /* initialize internal qval settings */ lame_init_qval(gfp);\n $ecb6e13812bdc08b$var$assert(gfp.scale >= 0);\n /*\n * automatic ATH adjustment on\n */ if (gfp.athaa_type < 0) gfc.ATH.useAdjust = 3;\n else gfc.ATH.useAdjust = gfp.athaa_type;\n /* initialize internal adaptive ATH settings -jd */ gfc.ATH.aaSensitivityP = Math.pow(10.0, gfp.athaa_sensitivity / -10);\n if (gfp.short_blocks == null) gfp.short_blocks = $ecb6e13812bdc08b$var$ShortBlock.short_block_allowed;\n /*\n * Note Jan/2003: Many hardware decoders cannot handle short blocks in\n * regular stereo mode unless they are coupled (same type in both\n * channels) it is a rare event (1 frame per min. or so) that LAME would\n * use uncoupled short blocks, so lets turn them off until we decide how\n * to handle this. No other encoders allow uncoupled short blocks, even\n * though it is in the standard.\n */ /*\n * rh 20040217: coupling makes no sense for mono and dual-mono streams\n */ if (gfp.short_blocks == $ecb6e13812bdc08b$var$ShortBlock.short_block_allowed && (gfp.mode == MPEGMode.JOINT_STEREO || gfp.mode == MPEGMode.STEREO)) gfp.short_blocks = $ecb6e13812bdc08b$var$ShortBlock.short_block_coupled;\n if (gfp.quant_comp < 0) gfp.quant_comp = 1;\n if (gfp.quant_comp_short < 0) gfp.quant_comp_short = 0;\n if (gfp.msfix < 0) gfp.msfix = 0;\n /* select psychoacoustic model */ gfp.exp_nspsytune = gfp.exp_nspsytune | 1;\n if (gfp.internal_flags.nsPsy.attackthre < 0) gfp.internal_flags.nsPsy.attackthre = $d2VP0.NSATTACKTHRE;\n if (gfp.internal_flags.nsPsy.attackthre_s < 0) gfp.internal_flags.nsPsy.attackthre_s = $d2VP0.NSATTACKTHRE_S;\n $ecb6e13812bdc08b$var$assert(gfp.scale >= 0);\n if (gfp.scale < 0) gfp.scale = 1;\n if (gfp.ATHtype < 0) gfp.ATHtype = 4;\n if (gfp.ATHcurve < 0) gfp.ATHcurve = 4;\n if (gfp.athaa_loudapprox < 0) gfp.athaa_loudapprox = 2;\n if (gfp.interChRatio < 0) gfp.interChRatio = 0;\n if (gfp.useTemporal == null) gfp.useTemporal = true;\n /* on by default */ /*\n * padding method as described in\n * \"MPEG-Layer3 / Bitstream Syntax and Decoding\" by Martin Sieler, Ralph\n * Sperschneider\n *\n * note: there is no padding for the very first frame\n *\n * Robert Hegemann 2000-06-22\n */ gfc.slot_lag = gfc.frac_SpF = 0;\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off) gfc.slot_lag = gfc.frac_SpF = (gfp.version + 1) * 72000 * gfp.brate % gfp.out_samplerate | 0;\n qupvt.iteration_init(gfp);\n psy.psymodel_init(gfp);\n $ecb6e13812bdc08b$var$assert(gfp.scale >= 0);\n return 0;\n };\n function update_inbuffer_size(gfc, nsamples) {\n if (gfc.in_buffer_0 == null || gfc.in_buffer_nsamples < nsamples) {\n gfc.in_buffer_0 = $ecb6e13812bdc08b$var$new_float(nsamples);\n gfc.in_buffer_1 = $ecb6e13812bdc08b$var$new_float(nsamples);\n gfc.in_buffer_nsamples = nsamples;\n }\n }\n this.lame_encode_flush = function(gfp, mp3buffer, mp3bufferPos, mp3buffer_size) {\n var gfc = gfp.internal_flags;\n var buffer = $ecb6e13812bdc08b$var$new_short_n([\n 2,\n 1152\n ]);\n var imp3 = 0, mp3count, mp3buffer_size_remaining;\n /*\n * we always add POSTDELAY=288 padding to make sure granule with real\n * data can be complety decoded (because of 50% overlap with next\n * granule\n */ var end_padding;\n var frames_left;\n var samples_to_encode = gfc.mf_samples_to_encode - $cPNKB.POSTDELAY;\n var mf_needed = calcNeeded(gfp);\n /* Was flush already called? */ if (gfc.mf_samples_to_encode < 1) return 0;\n mp3count = 0;\n if (gfp.in_samplerate != gfp.out_samplerate) /*\n * delay due to resampling; needs to be fixed, if resampling code\n * gets changed\n */ samples_to_encode += 16. * gfp.out_samplerate / gfp.in_samplerate;\n end_padding = gfp.framesize - samples_to_encode % gfp.framesize;\n if (end_padding < 576) end_padding += gfp.framesize;\n gfp.encoder_padding = end_padding;\n frames_left = (samples_to_encode + end_padding) / gfp.framesize;\n /*\n * send in a frame of 0 padding until all internal sample buffers are\n * flushed\n */ while(frames_left > 0 && imp3 >= 0){\n var bunch = mf_needed - gfc.mf_size;\n var frame_num = gfp.frameNum;\n bunch *= gfp.in_samplerate;\n bunch /= gfp.out_samplerate;\n if (bunch > 1152) bunch = 1152;\n if (bunch < 1) bunch = 1;\n mp3buffer_size_remaining = mp3buffer_size - mp3count;\n /* if user specifed buffer size = 0, dont check size */ if (mp3buffer_size == 0) mp3buffer_size_remaining = 0;\n imp3 = this.lame_encode_buffer(gfp, buffer[0], buffer[1], bunch, mp3buffer, mp3bufferPos, mp3buffer_size_remaining);\n mp3bufferPos += imp3;\n mp3count += imp3;\n frames_left -= frame_num != gfp.frameNum ? 1 : 0;\n }\n /*\n * Set gfc.mf_samples_to_encode to 0, so we may detect and break loops\n * calling it more than once in a row.\n */ gfc.mf_samples_to_encode = 0;\n if (imp3 < 0) /* some type of fatal error */ return imp3;\n mp3buffer_size_remaining = mp3buffer_size - mp3count;\n /* if user specifed buffer size = 0, dont check size */ if (mp3buffer_size == 0) mp3buffer_size_remaining = 0;\n /* mp3 related stuff. bit buffer might still contain some mp3 data */ bs.flush_bitstream(gfp);\n imp3 = bs.copy_buffer(gfc, mp3buffer, mp3bufferPos, mp3buffer_size_remaining, 1);\n if (imp3 < 0) /* some type of fatal error */ return imp3;\n mp3bufferPos += imp3;\n mp3count += imp3;\n mp3buffer_size_remaining = mp3buffer_size - mp3count;\n /* if user specifed buffer size = 0, dont check size */ if (mp3buffer_size == 0) mp3buffer_size_remaining = 0;\n if (gfp.write_id3tag_automatic) {\n /* write a id3 tag to the bitstream */ id3.id3tag_write_v1(gfp);\n imp3 = bs.copy_buffer(gfc, mp3buffer, mp3bufferPos, mp3buffer_size_remaining, 0);\n if (imp3 < 0) return imp3;\n mp3count += imp3;\n }\n return mp3count;\n };\n this.lame_encode_buffer = function(gfp, buffer_l, buffer_r, nsamples, mp3buf, mp3bufPos, mp3buf_size) {\n var gfc = gfp.internal_flags;\n var in_buffer = [\n null,\n null\n ];\n if (gfc.Class_ID != LAME_ID) return -3;\n if (nsamples == 0) return 0;\n update_inbuffer_size(gfc, nsamples);\n in_buffer[0] = gfc.in_buffer_0;\n in_buffer[1] = gfc.in_buffer_1;\n /* make a copy of input buffer, changing type to sample_t */ for(var i = 0; i < nsamples; i++){\n in_buffer[0][i] = buffer_l[i];\n if (gfc.channels_in > 1) in_buffer[1][i] = buffer_r[i];\n }\n return lame_encode_buffer_sample(gfp, in_buffer[0], in_buffer[1], nsamples, mp3buf, mp3bufPos, mp3buf_size);\n };\n function calcNeeded(gfp) {\n var mf_needed = $cPNKB.BLKSIZE + gfp.framesize - $cPNKB.FFTOFFSET;\n /*\n * amount needed for FFT\n */ mf_needed = Math.max(mf_needed, 512 + gfp.framesize - 32);\n $ecb6e13812bdc08b$var$assert($4SDnr.MFSIZE >= mf_needed);\n return mf_needed;\n }\n function lame_encode_buffer_sample(gfp, buffer_l, buffer_r, nsamples, mp3buf, mp3bufPos, mp3buf_size) {\n var gfc = gfp.internal_flags;\n var mp3size = 0, ret, i, ch, mf_needed;\n var mp3out;\n var mfbuf = [\n null,\n null\n ];\n var in_buffer = [\n null,\n null\n ];\n if (gfc.Class_ID != LAME_ID) return -3;\n if (nsamples == 0) return 0;\n /* copy out any tags that may have been written into bitstream */ mp3out = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 0);\n if (mp3out < 0) return mp3out;\n /* not enough buffer space */ mp3bufPos += mp3out;\n mp3size += mp3out;\n in_buffer[0] = buffer_l;\n in_buffer[1] = buffer_r;\n /* Apply user defined re-scaling */ /* user selected scaling of the samples */ if ($ctaQC.NEQ(gfp.scale, 0) && $ctaQC.NEQ(gfp.scale, 1.0)) for(i = 0; i < nsamples; ++i){\n in_buffer[0][i] *= gfp.scale;\n if (gfc.channels_out == 2) in_buffer[1][i] *= gfp.scale;\n }\n /* user selected scaling of the channel 0 (left) samples */ if ($ctaQC.NEQ(gfp.scale_left, 0) && $ctaQC.NEQ(gfp.scale_left, 1.0)) for(i = 0; i < nsamples; ++i)in_buffer[0][i] *= gfp.scale_left;\n /* user selected scaling of the channel 1 (right) samples */ if ($ctaQC.NEQ(gfp.scale_right, 0) && $ctaQC.NEQ(gfp.scale_right, 1.0)) for(i = 0; i < nsamples; ++i)in_buffer[1][i] *= gfp.scale_right;\n /* Downsample to Mono if 2 channels in and 1 channel out */ if (gfp.num_channels == 2 && gfc.channels_out == 1) for(i = 0; i < nsamples; ++i){\n in_buffer[0][i] = 0.5 * (in_buffer[0][i] + in_buffer[1][i]);\n in_buffer[1][i] = 0.0;\n }\n mf_needed = calcNeeded(gfp);\n mfbuf[0] = gfc.mfbuf[0];\n mfbuf[1] = gfc.mfbuf[1];\n var in_bufferPos = 0;\n while(nsamples > 0){\n var in_buffer_ptr = [\n null,\n null\n ];\n var n_in = 0;\n /* number of input samples processed with fill_buffer */ var n_out = 0;\n /* number of samples output with fill_buffer */ /* n_in <> n_out if we are resampling */ in_buffer_ptr[0] = in_buffer[0];\n in_buffer_ptr[1] = in_buffer[1];\n /* copy in new samples into mfbuf, with resampling */ var inOut = new InOut();\n fill_buffer(gfp, mfbuf, in_buffer_ptr, in_bufferPos, nsamples, inOut);\n n_in = inOut.n_in;\n n_out = inOut.n_out;\n /* compute ReplayGain of resampled input if requested */ if (gfc.findReplayGain && !gfc.decode_on_the_fly) {\n if (ga.AnalyzeSamples(gfc.rgdata, mfbuf[0], gfc.mf_size, mfbuf[1], gfc.mf_size, n_out, gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR) return -6;\n }\n /* update in_buffer counters */ nsamples -= n_in;\n in_bufferPos += n_in;\n gfc.channels_out; // in_bufferPos += n_in;\n /* update mfbuf[] counters */ gfc.mf_size += n_out;\n $ecb6e13812bdc08b$var$assert(gfc.mf_size <= $4SDnr.MFSIZE);\n /*\n * lame_encode_flush may have set gfc.mf_sample_to_encode to 0 so we\n * have to reinitialize it here when that happened.\n */ if (gfc.mf_samples_to_encode < 1) gfc.mf_samples_to_encode = $cPNKB.ENCDELAY + $cPNKB.POSTDELAY;\n gfc.mf_samples_to_encode += n_out;\n if (gfc.mf_size >= mf_needed) {\n /* encode the frame. */ /* mp3buf = pointer to current location in buffer */ /* mp3buf_size = size of original mp3 output buffer */ /* = 0 if we should not worry about the */ /* buffer size because calling program is */ /* to lazy to compute it */ /* mp3size = size of data written to buffer so far */ /* mp3buf_size-mp3size = amount of space avalable */ var buf_size = mp3buf_size - mp3size;\n if (mp3buf_size == 0) buf_size = 0;\n ret = lame_encode_frame(gfp, mfbuf[0], mfbuf[1], mp3buf, mp3bufPos, buf_size);\n if (ret < 0) return ret;\n mp3bufPos += ret;\n mp3size += ret;\n /* shift out old samples */ gfc.mf_size -= gfp.framesize;\n gfc.mf_samples_to_encode -= gfp.framesize;\n for(ch = 0; ch < gfc.channels_out; ch++)for(i = 0; i < gfc.mf_size; i++)mfbuf[ch][i] = mfbuf[ch][i + gfp.framesize];\n }\n }\n $ecb6e13812bdc08b$var$assert(nsamples == 0);\n return mp3size;\n }\n function lame_encode_frame(gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var ret = self.enc.lame_encode_mp3_frame(gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size);\n gfp.frameNum++;\n return ret;\n }\n function InOut() {\n this.n_in = 0;\n this.n_out = 0;\n }\n function NumUsed() {\n this.num_used = 0;\n }\n /**\n * Greatest common divisor.\n * <p>\n * Joint work of Euclid and M. Hendry\n */ function gcd(i, j) {\n return j != 0 ? gcd(j, i % j) : i;\n }\n /**\n * Resampling via FIR filter, blackman window.\n */ function blackman(x, fcn, l) {\n /*\n * This algorithm from: SIGNAL PROCESSING ALGORITHMS IN FORTRAN AND C\n * S.D. Stearns and R.A. David, Prentice-Hall, 1992\n */ var wcn = Math.PI * fcn;\n x /= l;\n if (x < 0) x = 0;\n if (x > 1) x = 1;\n var x2 = x - .5;\n var bkwn = 0.42 - 0.5 * Math.cos(2 * x * Math.PI) + 0.08 * Math.cos(4 * x * Math.PI);\n if (Math.abs(x2) < 1e-9) return wcn / Math.PI;\n else return bkwn * Math.sin(l * wcn * x2) / (Math.PI * l * x2);\n }\n function fill_buffer_resample(gfp, outbuf, outbufPos, desired_len, inbuf, in_bufferPos, len, num_used, ch) {\n var gfc = gfp.internal_flags;\n var i, j = 0, k;\n /* number of convolution functions to pre-compute */ var bpc = gfp.out_samplerate / gcd(gfp.out_samplerate, gfp.in_samplerate);\n if (bpc > $4SDnr.BPC) bpc = $4SDnr.BPC;\n var intratio = Math.abs(gfc.resample_ratio - Math.floor(.5 + gfc.resample_ratio)) < .0001 ? 1 : 0;\n var fcn = 1.00 / gfc.resample_ratio;\n if (fcn > 1.00) fcn = 1.00;\n var filter_l = 31;\n if (0 == filter_l % 2) --filter_l;\n /* must be odd */ filter_l += intratio;\n /* unless resample_ratio=int, it must be even */ var BLACKSIZE = filter_l + 1;\n /* size of data needed for FIR */ if (gfc.fill_buffer_resample_init == 0) {\n gfc.inbuf_old[0] = $ecb6e13812bdc08b$var$new_float(BLACKSIZE);\n gfc.inbuf_old[1] = $ecb6e13812bdc08b$var$new_float(BLACKSIZE);\n for(i = 0; i <= 2 * bpc; ++i)gfc.blackfilt[i] = $ecb6e13812bdc08b$var$new_float(BLACKSIZE);\n gfc.itime[0] = 0;\n gfc.itime[1] = 0;\n /* precompute blackman filter coefficients */ for(j = 0; j <= 2 * bpc; j++){\n var sum = 0.;\n var offset = (j - bpc) / (2. * bpc);\n for(i = 0; i <= filter_l; i++)sum += gfc.blackfilt[j][i] = blackman(i - offset, fcn, filter_l);\n for(i = 0; i <= filter_l; i++)gfc.blackfilt[j][i] /= sum;\n }\n gfc.fill_buffer_resample_init = 1;\n }\n var inbuf_old = gfc.inbuf_old[ch];\n /* time of j'th element in inbuf = itime + j/ifreq; */ /* time of k'th element in outbuf = j/ofreq */ for(k = 0; k < desired_len; k++){\n var time0;\n var joff;\n time0 = k * gfc.resample_ratio;\n /* time of k'th output sample */ j = 0 | Math.floor(time0 - gfc.itime[ch]);\n /* check if we need more input data */ if (filter_l + j - filter_l / 2 >= len) break;\n /* blackman filter. by default, window centered at j+.5(filter_l%2) */ /* but we want a window centered at time0. */ var offset = time0 - gfc.itime[ch] - (j + .5 * (filter_l % 2));\n $ecb6e13812bdc08b$var$assert(Math.abs(offset) <= .501);\n /* find the closest precomputed window for this offset: */ joff = 0 | Math.floor(offset * 2 * bpc + bpc + .5);\n var xvalue = 0.;\n for(i = 0; i <= filter_l; ++i){\n /* force integer index */ var j2 = 0 | i + j - filter_l / 2;\n var y;\n $ecb6e13812bdc08b$var$assert(j2 < len);\n $ecb6e13812bdc08b$var$assert(j2 + BLACKSIZE >= 0);\n y = j2 < 0 ? inbuf_old[BLACKSIZE + j2] : inbuf[in_bufferPos + j2];\n xvalue += y * gfc.blackfilt[joff][i];\n }\n outbuf[outbufPos + k] = xvalue;\n }\n /* k = number of samples added to outbuf */ /* last k sample used data from [j-filter_l/2,j+filter_l-filter_l/2] */ /* how many samples of input data were used: */ num_used.num_used = Math.min(len, filter_l + j - filter_l / 2);\n /*\n * adjust our input time counter. Incriment by the number of samples\n * used, then normalize so that next output sample is at time 0, next\n * input buffer is at time itime[ch]\n */ gfc.itime[ch] += num_used.num_used - k * gfc.resample_ratio;\n /* save the last BLACKSIZE samples into the inbuf_old buffer */ if (num_used.num_used >= BLACKSIZE) for(i = 0; i < BLACKSIZE; i++)inbuf_old[i] = inbuf[in_bufferPos + num_used.num_used + i - BLACKSIZE];\n else {\n /* shift in num_used.num_used samples into inbuf_old */ var n_shift = BLACKSIZE - num_used.num_used;\n /*\n * number of samples to\n * shift\n */ /*\n * shift n_shift samples by num_used.num_used, to make room for the\n * num_used new samples\n */ for(i = 0; i < n_shift; ++i)inbuf_old[i] = inbuf_old[i + num_used.num_used];\n /* shift in the num_used.num_used samples */ for(j = 0; i < BLACKSIZE; ++i, ++j)inbuf_old[i] = inbuf[in_bufferPos + j];\n $ecb6e13812bdc08b$var$assert(j == num_used.num_used);\n }\n return k;\n /* return the number samples created at the new samplerate */ }\n function fill_buffer(gfp, mfbuf, in_buffer, in_bufferPos, nsamples, io) {\n var gfc = gfp.internal_flags;\n /* copy in new samples into mfbuf, with resampling if necessary */ if (gfc.resample_ratio < .9999 || gfc.resample_ratio > 1.0001) for(var ch = 0; ch < gfc.channels_out; ch++){\n var numUsed = new NumUsed();\n io.n_out = fill_buffer_resample(gfp, mfbuf[ch], gfc.mf_size, gfp.framesize, in_buffer[ch], in_bufferPos, nsamples, numUsed, ch);\n io.n_in = numUsed.num_used;\n }\n else {\n io.n_out = Math.min(gfp.framesize, nsamples);\n io.n_in = io.n_out;\n for(var i = 0; i < io.n_out; ++i){\n mfbuf[0][gfc.mf_size + i] = in_buffer[0][in_bufferPos + i];\n if (gfc.channels_out == 2) mfbuf[1][gfc.mf_size + i] = in_buffer[1][in_bufferPos + i];\n }\n }\n }\n}\nmodule.exports = $ecb6e13812bdc08b$var$Lame;\n\n});\nparcelRequire.register(\"3YDN3\", function(module, exports) {\nfunction $2e55d7364d01815c$var$new_byte(count) {\n return new Int8Array(count);\n}\nfunction $2e55d7364d01815c$var$new_short(count) {\n return new Int16Array(count);\n}\nfunction $2e55d7364d01815c$var$new_int(count) {\n return new Int32Array(count);\n}\nfunction $2e55d7364d01815c$var$new_float(count) {\n return new Float32Array(count);\n}\nfunction $2e55d7364d01815c$var$new_double(count) {\n return new Float64Array(count);\n}\nfunction $2e55d7364d01815c$var$new_float_n(args) {\n if (args.length == 1) return $2e55d7364d01815c$var$new_float(args[0]);\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for(var i = 0; i < sz; i++)A.push($2e55d7364d01815c$var$new_float_n(args));\n return A;\n}\nfunction $2e55d7364d01815c$var$new_int_n(args) {\n if (args.length == 1) return $2e55d7364d01815c$var$new_int(args[0]);\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for(var i = 0; i < sz; i++)A.push($2e55d7364d01815c$var$new_int_n(args));\n return A;\n}\nfunction $2e55d7364d01815c$var$new_short_n(args) {\n if (args.length == 1) return $2e55d7364d01815c$var$new_short(args[0]);\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for(var i = 0; i < sz; i++)A.push($2e55d7364d01815c$var$new_short_n(args));\n return A;\n}\nfunction $2e55d7364d01815c$var$new_array_n(args) {\n if (args.length == 1) return new Array(args[0]);\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for(var i = 0; i < sz; i++)A.push($2e55d7364d01815c$var$new_array_n(args));\n return A;\n}\nvar $2e55d7364d01815c$var$Arrays = {};\n$2e55d7364d01815c$var$Arrays.fill = function(a, fromIndex, toIndex, val) {\n if (arguments.length == 2) for(var i = 0; i < a.length; i++)a[i] = arguments[1];\n else for(var i = fromIndex; i < toIndex; i++)a[i] = val;\n};\nvar $2e55d7364d01815c$var$System = {};\n$2e55d7364d01815c$var$System.arraycopy = function(src, srcPos, dest, destPos, length) {\n var srcEnd = srcPos + length;\n while(srcPos < srcEnd)dest[destPos++] = src[srcPos++];\n};\n$2e55d7364d01815c$var$System.out = {};\n$2e55d7364d01815c$var$System.out.println = function(message) {\n console.log(message);\n};\n$2e55d7364d01815c$var$System.out.printf = function() {\n console.log.apply(console, arguments);\n};\nvar $2e55d7364d01815c$var$Util = {};\n$2e55d7364d01815c$var$Util.SQRT2 = 1.41421356237309504880;\n$2e55d7364d01815c$var$Util.FAST_LOG10 = function(x) {\n return Math.log10(x);\n};\n$2e55d7364d01815c$var$Util.FAST_LOG10_X = function(x, y) {\n return Math.log10(x) * y;\n};\nfunction $2e55d7364d01815c$var$ShortBlock(ordinal) {\n this.ordinal = ordinal;\n}\n/**\n * LAME may use them, even different block types for L/R.\n */ $2e55d7364d01815c$var$ShortBlock.short_block_allowed = new $2e55d7364d01815c$var$ShortBlock(0);\n/**\n * LAME may use them, but always same block types in L/R.\n */ $2e55d7364d01815c$var$ShortBlock.short_block_coupled = new $2e55d7364d01815c$var$ShortBlock(1);\n/**\n * LAME will not use short blocks, long blocks only.\n */ $2e55d7364d01815c$var$ShortBlock.short_block_dispensed = new $2e55d7364d01815c$var$ShortBlock(2);\n/**\n * LAME will not use long blocks, short blocks only.\n */ $2e55d7364d01815c$var$ShortBlock.short_block_forced = new $2e55d7364d01815c$var$ShortBlock(3);\nvar $2e55d7364d01815c$var$Float = {};\n$2e55d7364d01815c$var$Float.MAX_VALUE = 3.4028235e+38;\nfunction $2e55d7364d01815c$var$VbrMode(ordinal) {\n this.ordinal = ordinal;\n}\n$2e55d7364d01815c$var$VbrMode.vbr_off = new $2e55d7364d01815c$var$VbrMode(0);\n$2e55d7364d01815c$var$VbrMode.vbr_mt = new $2e55d7364d01815c$var$VbrMode(1);\n$2e55d7364d01815c$var$VbrMode.vbr_rh = new $2e55d7364d01815c$var$VbrMode(2);\n$2e55d7364d01815c$var$VbrMode.vbr_abr = new $2e55d7364d01815c$var$VbrMode(3);\n$2e55d7364d01815c$var$VbrMode.vbr_mtrh = new $2e55d7364d01815c$var$VbrMode(4);\n$2e55d7364d01815c$var$VbrMode.vbr_default = $2e55d7364d01815c$var$VbrMode.vbr_mtrh;\nvar $2e55d7364d01815c$var$assert = function(x) {\n//console.assert(x);\n};\nmodule.exports = {\n \"System\": $2e55d7364d01815c$var$System,\n \"VbrMode\": $2e55d7364d01815c$var$VbrMode,\n \"Float\": $2e55d7364d01815c$var$Float,\n \"ShortBlock\": $2e55d7364d01815c$var$ShortBlock,\n \"Util\": $2e55d7364d01815c$var$Util,\n \"Arrays\": $2e55d7364d01815c$var$Arrays,\n \"new_array_n\": $2e55d7364d01815c$var$new_array_n,\n \"new_byte\": $2e55d7364d01815c$var$new_byte,\n \"new_double\": $2e55d7364d01815c$var$new_double,\n \"new_float\": $2e55d7364d01815c$var$new_float,\n \"new_float_n\": $2e55d7364d01815c$var$new_float_n,\n \"new_int\": $2e55d7364d01815c$var$new_int,\n \"new_int_n\": $2e55d7364d01815c$var$new_int_n,\n \"new_short\": $2e55d7364d01815c$var$new_short,\n \"new_short_n\": $2e55d7364d01815c$var$new_short_n,\n \"assert\": $2e55d7364d01815c$var$assert\n};\n\n});\n\nparcelRequire.register(\"d2VP0\", function(module, exports) {\n/*\n * psymodel.c\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 2001-2002 Naoki Shibata\n * Copyright (c) 2000-2003 Takehiro Tominaga\n * Copyright (c) 2000-2008 Robert Hegemann\n * Copyright (c) 2000-2005 Gabriel Bouvigne\n * Copyright (c) 2000-2005 Alexander Leidinger\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: PsyModel.java,v 1.27 2011/05/24 20:48:06 kenchis Exp $ */ /*\n PSYCHO ACOUSTICS\n\n\n This routine computes the psycho acoustics, delayed by one granule.\n\n Input: buffer of PCM data (1024 samples).\n\n This window should be centered over the 576 sample granule window.\n The routine will compute the psycho acoustics for\n this granule, but return the psycho acoustics computed\n for the *previous* granule. This is because the block\n type of the previous granule can only be determined\n after we have computed the psycho acoustics for the following\n granule.\n\n Output: maskings and energies for each scalefactor band.\n block type, PE, and some correlation measures.\n The PE is used by CBR modes to determine if extra bits\n from the bit reservoir should be used. The correlation\n measures are used to determine mid/side or regular stereo.\n */ /*\n Notation:\n\n barks: a non-linear frequency scale. Mapping from frequency to\n barks is given by freq2bark()\n\n scalefactor bands: The spectrum (frequencies) are broken into\n SBMAX \"scalefactor bands\". Thes bands\n are determined by the MPEG ISO spec. In\n the noise shaping/quantization code, we allocate\n bits among the partition bands to achieve the\n best possible quality\n\n partition bands: The spectrum is also broken into about\n 64 \"partition bands\". Each partition\n band is about .34 barks wide. There are about 2-5\n partition bands for each scalefactor band.\n\n LAME computes all psycho acoustic information for each partition\n band. Then at the end of the computations, this information\n is mapped to scalefactor bands. The energy in each scalefactor\n band is taken as the sum of the energy in all partition bands\n which overlap the scalefactor band. The maskings can be computed\n in the same way (and thus represent the average masking in that band)\n or by taking the minmum value multiplied by the number of\n partition bands used (which represents a minimum masking in that band).\n */ /*\n The general outline is as follows:\n\n 1. compute the energy in each partition band\n 2. compute the tonality in each partition band\n 3. compute the strength of each partion band \"masker\"\n 4. compute the masking (via the spreading function applied to each masker)\n 5. Modifications for mid/side masking.\n\n Each partition band is considiered a \"masker\". The strength\n of the i'th masker in band j is given by:\n\n s3(bark(i)-bark(j))*strength(i)\n\n The strength of the masker is a function of the energy and tonality.\n The more tonal, the less masking. LAME uses a simple linear formula\n (controlled by NMT and TMN) which says the strength is given by the\n energy divided by a linear function of the tonality.\n */ /*\n s3() is the \"spreading function\". It is given by a formula\n determined via listening tests.\n\n The total masking in the j'th partition band is the sum over\n all maskings i. It is thus given by the convolution of\n the strength with s3(), the \"spreading function.\"\n\n masking(j) = sum_over_i s3(i-j)*strength(i) = s3 o strength\n\n where \"o\" = convolution operator. s3 is given by a formula determined\n via listening tests. It is normalized so that s3 o 1 = 1.\n\n Note: instead of a simple convolution, LAME also has the\n option of using \"additive masking\"\n\n The most critical part is step 2, computing the tonality of each\n partition band. LAME has two tonality estimators. The first\n is based on the ISO spec, and measures how predictiable the\n signal is over time. The more predictable, the more tonal.\n The second measure is based on looking at the spectrum of\n a single granule. The more peaky the spectrum, the more\n tonal. By most indications, the latter approach is better.\n\n Finally, in step 5, the maskings for the mid and side\n channel are possibly increased. Under certain circumstances,\n noise in the mid & side channels is assumed to also\n be masked by strong maskers in the L or R channels.\n\n\n Other data computed by the psy-model:\n\n ms_ratio side-channel / mid-channel masking ratio (for previous granule)\n ms_ratio_next side-channel / mid-channel masking ratio for this granule\n\n percep_entropy[2] L and R values (prev granule) of PE - A measure of how\n much pre-echo is in the previous granule\n percep_entropy_MS[2] mid and side channel values (prev granule) of percep_entropy\n energy[4] L,R,M,S energy in each channel, prev granule\n blocktype_d[2] block type to use for previous granule\n */ //package mp3;\n//import java.util.Arrays;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $97f850779472263e$var$System = $3YDN3.System;\nvar $97f850779472263e$var$VbrMode = $3YDN3.VbrMode;\nvar $97f850779472263e$var$Float = $3YDN3.Float;\nvar $97f850779472263e$var$ShortBlock = $3YDN3.ShortBlock;\nvar $97f850779472263e$var$Util = $3YDN3.Util;\nvar $97f850779472263e$var$Arrays = $3YDN3.Arrays;\nvar $97f850779472263e$var$new_array_n = $3YDN3.new_array_n;\nvar $97f850779472263e$var$new_byte = $3YDN3.new_byte;\nvar $97f850779472263e$var$new_double = $3YDN3.new_double;\nvar $97f850779472263e$var$new_float = $3YDN3.new_float;\nvar $97f850779472263e$var$new_float_n = $3YDN3.new_float_n;\nvar $97f850779472263e$var$new_int = $3YDN3.new_int;\nvar $97f850779472263e$var$new_int_n = $3YDN3.new_int_n;\nvar $97f850779472263e$var$assert = $3YDN3.assert;\n\nvar $2g11P = parcelRequire(\"2g11P\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nfunction $97f850779472263e$var$PsyModel() {\n var MPEGMode = (parcelRequire(\"jL6I1\"));\n var fft = new $2g11P();\n var LOG10 = 2.30258509299404568402;\n var rpelev = 2;\n var rpelev2 = 16;\n var rpelev_s = 2;\n var rpelev2_s = 16;\n /* size of each partition band, in barks: */ var DELBARK = .34;\n /* tuned for output level (sensitive to energy scale) */ var VO_SCALE = 1. / 217621504 / ($cPNKB.BLKSIZE / 2);\n var temporalmask_sustain_sec = 0.01;\n var NS_PREECHO_ATT0 = 0.8;\n var NS_PREECHO_ATT1 = 0.6;\n var NS_PREECHO_ATT2 = 0.3;\n var NS_MSFIX = 3.5;\n var NSATTACKTHRE = 4.4;\n var NSATTACKTHRE_S = 25;\n var NSFIRLEN = 21;\n /* size of each partition band, in barks: */ var LN_TO_LOG10 = 0.2302585093;\n function NON_LINEAR_SCALE_ENERGY(x) {\n return x;\n }\n /**\n * <PRE>\n * L3psycho_anal. Compute psycho acoustics.\n *\n * Data returned to the calling program must be delayed by one\n * granule.\n *\n * This is done in two places.\n * If we do not need to know the blocktype, the copying\n * can be done here at the top of the program: we copy the data for\n * the last granule (computed during the last call) before it is\n * overwritten with the new data. It looks like this:\n *\n * 0. static psymodel_data\n * 1. calling_program_data = psymodel_data\n * 2. compute psymodel_data\n *\n * For data which needs to know the blocktype, the copying must be\n * done at the end of this loop, and the old values must be saved:\n *\n * 0. static psymodel_data_old\n * 1. compute psymodel_data\n * 2. compute possible block type of this granule\n * 3. compute final block type of previous granule based on #2.\n * 4. calling_program_data = psymodel_data_old\n * 5. psymodel_data_old = psymodel_data\n * psycho_loudness_approx\n * jd - 2001 mar 12\n * in: energy - BLKSIZE/2 elements of frequency magnitudes ^ 2\n * gfp - uses out_samplerate, ATHtype (also needed for ATHformula)\n * returns: loudness^2 approximation, a positive value roughly tuned for a value\n * of 1.0 for signals near clipping.\n * notes: When calibrated, feeding this function binary white noise at sample\n * values +32767 or -32768 should return values that approach 3.\n * ATHformula is used to approximate an equal loudness curve.\n * future: Data indicates that the shape of the equal loudness curve varies\n * with intensity. This function might be improved by using an equal\n * loudness curve shaped for typical playback levels (instead of the\n * ATH, that is shaped for the threshold). A flexible realization might\n * simply bend the existing ATH curve to achieve the desired shape.\n * However, the potential gain may not be enough to justify an effort.\n * </PRE>\n */ function psycho_loudness_approx(energy, gfc) {\n var loudness_power = 0.0;\n /* apply weights to power in freq. bands */ for(var i = 0; i < $cPNKB.BLKSIZE / 2; ++i)loudness_power += energy[i] * gfc.ATH.eql_w[i];\n loudness_power *= VO_SCALE;\n return loudness_power;\n }\n function compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, wsamp_lPos, wsamp_s, wsamp_sPos, gr_out, chn, buffer, bufPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n } else if (chn == 2) {\n for(var j = $cPNKB.BLKSIZE - 1; j >= 0; --j){\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n }\n for(var b = 2; b >= 0; --b)for(var j = $cPNKB.BLKSIZE_s - 1; j >= 0; --j){\n var l = wsamp_s[wsamp_sPos + 0][b][j];\n var r = wsamp_s[wsamp_sPos + 1][b][j];\n wsamp_s[wsamp_sPos + 0][b][j] = (l + r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][b][j] = (l - r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n }\n }\n /*********************************************************************\n * compute energies\n *********************************************************************/ fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n for(var j = $cPNKB.BLKSIZE / 2 - 1; j >= 0; --j){\n var re = wsamp_l[wsamp_lPos + 0][$cPNKB.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][$cPNKB.BLKSIZE / 2 + j];\n fftenergy[$cPNKB.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re * re + im * im) * 0.5);\n }\n for(var b = 2; b >= 0; --b){\n fftenergy_s[b][0] = wsamp_s[wsamp_sPos + 0][b][0];\n fftenergy_s[b][0] *= fftenergy_s[b][0];\n for(var j = $cPNKB.BLKSIZE_s / 2 - 1; j >= 0; --j){\n var re = wsamp_s[wsamp_sPos + 0][b][$cPNKB.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][b][$cPNKB.BLKSIZE_s / 2 + j];\n fftenergy_s[b][$cPNKB.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re * re + im * im) * 0.5);\n }\n }\n var totalenergy = 0.0;\n for(var j = 11; j < $cPNKB.HBLKSIZE; j++)totalenergy += fftenergy[j];\n gfc.tot_ener[chn] = totalenergy;\n if (gfp.analysis) {\n for(var j = 0; j < $cPNKB.HBLKSIZE; j++){\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n /*********************************************************************\n * compute loudness approximation (used for ATH auto-level adjustment)\n *********************************************************************/ if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n /* mask_add optimization */ /* init the limit values used to avoid computing log in mask_add when it is not necessary */ /**\n * <PRE>\n * For example, with i = 10*log10(m2/m1)/10*16 (= log10(m2/m1)*16)\n *\n * abs(i)>8 is equivalent (as i is an integer) to\n * abs(i)>=9\n * i>=9 || i<=-9\n * equivalent to (as i is the biggest integer smaller than log10(m2/m1)*16\n * or the smallest integer bigger than log10(m2/m1)*16 depending on the sign of log10(m2/m1)*16)\n * log10(m2/m1)>=9/16 || log10(m2/m1)<=-9/16\n * exp10 is strictly increasing thus this is equivalent to\n * m2/m1 >= 10^(9/16) || m2/m1<=10^(-9/16) which are comparisons to constants\n * </PRE>\n */ /**\n * as in if(i>8)\n */ var I1LIMIT = 8;\n /**\n * as in if(i>24) . changed 23\n */ var I2LIMIT = 23;\n /**\n * as in if(m<15)\n */ var MLIMIT = 15;\n var ma_max_i1;\n var ma_max_i2;\n var ma_max_m;\n /**\n * This is the masking table:<BR>\n * According to tonality, values are going from 0dB (TMN) to 9.3dB (NMT).<BR>\n * After additive masking computation, 8dB are added, so final values are\n * going from 8dB to 17.3dB\n *\n * pow(10, -0.0..-0.6)\n */ var tab = [\n 1.0,\n 0.79433,\n 0.63096,\n 0.63096,\n 0.63096,\n 0.63096,\n 0.63096,\n 0.25119,\n 0.11749\n ];\n function init_mask_add_max_values() {\n ma_max_i1 = Math.pow(10, (I1LIMIT + 1) / 16.0);\n ma_max_i2 = Math.pow(10, (I2LIMIT + 1) / 16.0);\n ma_max_m = Math.pow(10, MLIMIT / 10.0);\n }\n var table1 = [\n 3.3246 * 3.3246,\n 3.23837 * 3.23837,\n 9.9500500969,\n 9.0247369744,\n 8.1854926609,\n 7.0440875649,\n 2.46209 * 2.46209,\n 2.284 * 2.284,\n 4.4892710641,\n 1.96552 * 1.96552,\n 1.82335 * 1.82335,\n 1.69146 * 1.69146,\n 2.4621061921,\n 2.1508568964,\n 1.37074 * 1.37074,\n 1.31036 * 1.31036,\n 1.5691069696,\n 1.4555939904,\n 1.16203 * 1.16203,\n 1.2715945225,\n 1.09428 * 1.09428,\n 1.0659 * 1.0659,\n 1.0779838276,\n 1.0382591025,\n 1\n ];\n var table2 = [\n 1.7782755904,\n 1.35879 * 1.35879,\n 1.38454 * 1.38454,\n 1.39497 * 1.39497,\n 1.40548 * 1.40548,\n 1.3537 * 1.3537,\n 1.6999465924,\n 1.22321 * 1.22321,\n 1.3169398564,\n 1\n ];\n var table3 = [\n 5.5396212496,\n 2.29259 * 2.29259,\n 4.9868695969,\n 2.12675 * 2.12675,\n 2.02545 * 2.02545,\n 1.87894 * 1.87894,\n 1.74303 * 1.74303,\n 1.61695 * 1.61695,\n 2.2499700001,\n 1.39148 * 1.39148,\n 1.29083 * 1.29083,\n 1.19746 * 1.19746,\n 1.2339655056,\n 1.0779838276\n ];\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */ function mask_add(m1, m2, kk, b, gfc, shortblock) {\n var ratio;\n if (m2 > m1) {\n if (m2 < m1 * ma_max_i2) ratio = m2 / m1;\n else return m1 + m2;\n } else {\n if (m1 >= m2 * ma_max_i2) return m1 + m2;\n ratio = m1 / m2;\n }\n /* Should always be true, just checking */ $97f850779472263e$var$assert(m1 >= 0);\n $97f850779472263e$var$assert(m2 >= 0);\n m1 += m2;\n //if (((long)(b + 3) & 0xffffffff) <= 3 + 3) {\n if (b + 3 <= 6) {\n /* approximately, 1 bark = 3 partitions */ /* 65% of the cases */ /* originally 'if(i > 8)' */ if (ratio >= ma_max_i1) /* 43% of the total */ return m1;\n /* 22% of the total */ var i = 0 | $97f850779472263e$var$Util.FAST_LOG10_X(ratio, 16.0);\n return m1 * table2[i];\n }\n /**\n * <PRE>\n * m<15 equ log10((m1+m2)/gfc.ATH.cb[k])<1.5\n * equ (m1+m2)/gfc.ATH.cb[k]<10^1.5\n * equ (m1+m2)<10^1.5 * gfc.ATH.cb[k]\n * </PRE>\n */ var i = 0 | $97f850779472263e$var$Util.FAST_LOG10_X(ratio, 16.0);\n if (shortblock != 0) m2 = gfc.ATH.cb_s[kk] * gfc.ATH.adjust;\n else m2 = gfc.ATH.cb_l[kk] * gfc.ATH.adjust;\n $97f850779472263e$var$assert(m2 >= 0);\n if (m1 < ma_max_m * m2) {\n /* 3% of the total */ /* Originally if (m > 0) { */ if (m1 > m2) {\n var f, r;\n f = 1.0;\n if (i <= 13) f = table3[i];\n r = $97f850779472263e$var$Util.FAST_LOG10_X(m1 / m2, 10.0 / 15.0);\n return m1 * ((table1[i] - f) * r + f);\n }\n if (i > 13) return m1;\n return m1 * table3[i];\n }\n /* 10% of total */ return m1 * table1[i];\n }\n var table2_ = [\n 1.7782755904,\n 1.35879 * 1.35879,\n 1.38454 * 1.38454,\n 1.39497 * 1.39497,\n 1.40548 * 1.40548,\n 1.3537 * 1.3537,\n 1.6999465924,\n 1.22321 * 1.22321,\n 1.3169398564,\n 1\n ];\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */ function vbrpsy_mask_add(m1, m2, b) {\n var ratio;\n if (m1 < 0) m1 = 0;\n if (m2 < 0) m2 = 0;\n if (m1 <= 0) return m2;\n if (m2 <= 0) return m1;\n if (m2 > m1) ratio = m2 / m1;\n else ratio = m1 / m2;\n if (-2 <= b && b <= 2) {\n /* approximately, 1 bark = 3 partitions */ /* originally 'if(i > 8)' */ if (ratio >= ma_max_i1) return m1 + m2;\n else {\n var i = 0 | $97f850779472263e$var$Util.FAST_LOG10_X(ratio, 16.0);\n return (m1 + m2) * table2_[i];\n }\n }\n if (ratio < ma_max_i2) return m1 + m2;\n if (m1 < m2) m1 = m2;\n return m1;\n }\n /**\n * compute interchannel masking effects\n */ function calc_interchannel_masking(gfp, ratio) {\n var gfc = gfp.internal_flags;\n if (gfc.channels_out > 1) {\n for(var sb = 0; sb < $cPNKB.SBMAX_l; sb++){\n var l = gfc.thm[0].l[sb];\n var r = gfc.thm[1].l[sb];\n gfc.thm[0].l[sb] += r * ratio;\n gfc.thm[1].l[sb] += l * ratio;\n }\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++)for(var sblock = 0; sblock < 3; sblock++){\n var l = gfc.thm[0].s[sb][sblock];\n var r = gfc.thm[1].s[sb][sblock];\n gfc.thm[0].s[sb][sblock] += r * ratio;\n gfc.thm[1].s[sb][sblock] += l * ratio;\n }\n }\n }\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */ function msfix1(gfc) {\n for(var sb = 0; sb < $cPNKB.SBMAX_l; sb++){\n /* use this fix if L & R masking differs by 2db or less */ /* if db = 10*log10(x2/x1) < 2 */ /* if (x2 < 1.58*x1) { */ if (gfc.thm[0].l[sb] > 1.58 * gfc.thm[1].l[sb] || gfc.thm[1].l[sb] > 1.58 * gfc.thm[0].l[sb]) continue;\n var mld = gfc.mld_l[sb] * gfc.en[3].l[sb];\n var rmid = Math.max(gfc.thm[2].l[sb], Math.min(gfc.thm[3].l[sb], mld));\n mld = gfc.mld_l[sb] * gfc.en[2].l[sb];\n var rside = Math.max(gfc.thm[3].l[sb], Math.min(gfc.thm[2].l[sb], mld));\n gfc.thm[2].l[sb] = rmid;\n gfc.thm[3].l[sb] = rside;\n }\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++)for(var sblock = 0; sblock < 3; sblock++){\n if (gfc.thm[0].s[sb][sblock] > 1.58 * gfc.thm[1].s[sb][sblock] || gfc.thm[1].s[sb][sblock] > 1.58 * gfc.thm[0].s[sb][sblock]) continue;\n var mld = gfc.mld_s[sb] * gfc.en[3].s[sb][sblock];\n var rmid = Math.max(gfc.thm[2].s[sb][sblock], Math.min(gfc.thm[3].s[sb][sblock], mld));\n mld = gfc.mld_s[sb] * gfc.en[2].s[sb][sblock];\n var rside = Math.max(gfc.thm[3].s[sb][sblock], Math.min(gfc.thm[2].s[sb][sblock], mld));\n gfc.thm[2].s[sb][sblock] = rmid;\n gfc.thm[3].s[sb][sblock] = rside;\n }\n }\n /**\n * Adjust M/S maskings if user set \"msfix\"\n *\n * Naoki Shibata 2000\n */ function ns_msfix(gfc, msfix, athadjust) {\n var msfix2 = msfix;\n var athlower = Math.pow(10, athadjust);\n msfix *= 2.0;\n msfix2 *= 2.0;\n for(var sb = 0; sb < $cPNKB.SBMAX_l; sb++){\n var thmLR, thmM, thmS, ath;\n ath = gfc.ATH.cb_l[gfc.bm_l[sb]] * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].l[sb], ath), Math.max(gfc.thm[1].l[sb], ath));\n thmM = Math.max(gfc.thm[2].l[sb], ath);\n thmS = Math.max(gfc.thm[3].l[sb], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix2 / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n $97f850779472263e$var$assert(thmM + thmS > 0);\n }\n gfc.thm[2].l[sb] = Math.min(thmM, gfc.thm[2].l[sb]);\n gfc.thm[3].l[sb] = Math.min(thmS, gfc.thm[3].l[sb]);\n }\n athlower *= $cPNKB.BLKSIZE_s / $cPNKB.BLKSIZE;\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++)for(var sblock = 0; sblock < 3; sblock++){\n var thmLR, thmM, thmS, ath;\n ath = gfc.ATH.cb_s[gfc.bm_s[sb]] * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].s[sb][sblock], ath), Math.max(gfc.thm[1].s[sb][sblock], ath));\n thmM = Math.max(gfc.thm[2].s[sb][sblock], ath);\n thmS = Math.max(gfc.thm[3].s[sb][sblock], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n $97f850779472263e$var$assert(thmM + thmS > 0);\n }\n gfc.thm[2].s[sb][sblock] = Math.min(gfc.thm[2].s[sb][sblock], thmM);\n gfc.thm[3].s[sb][sblock] = Math.min(gfc.thm[3].s[sb][sblock], thmS);\n }\n }\n /**\n * short block threshold calculation (part 2)\n *\n * partition band bo_s[sfb] is at the transition from scalefactor band sfb\n * to the next one sfb+1; enn and thmm have to be split between them\n */ function convert_partition2scalefac_s(gfc, eb, thr, chn, sblock) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for(sb = b = 0; sb < $cPNKB.SBMAX_s; ++b, ++sb){\n var bo_s_sb = gfc.bo_s[sb];\n var npart_s = gfc.npart_s;\n var b_lim = bo_s_sb < npart_s ? bo_s_sb : npart_s;\n while(b < b_lim){\n $97f850779472263e$var$assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n $97f850779472263e$var$assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].s[sb][sblock] = enn;\n gfc.thm[chn].s[sb][sblock] = thmm;\n if (b >= npart_s) {\n ++sb;\n break;\n }\n $97f850779472263e$var$assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n $97f850779472263e$var$assert(thr[b] >= 0);\n /* at transition sfb . sfb+1 */ var w_curr = gfc.PSY.bo_s_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].s[sb][sblock] += enn;\n gfc.thm[chn].s[sb][sblock] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n /* zero initialize the rest */ for(; sb < $cPNKB.SBMAX_s; ++sb){\n gfc.en[chn].s[sb][sblock] = 0;\n gfc.thm[chn].s[sb][sblock] = 0;\n }\n }\n /**\n * longblock threshold calculation (part 2)\n */ function convert_partition2scalefac_l(gfc, eb, thr, chn) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for(sb = b = 0; sb < $cPNKB.SBMAX_l; ++b, ++sb){\n var bo_l_sb = gfc.bo_l[sb];\n var npart_l = gfc.npart_l;\n var b_lim = bo_l_sb < npart_l ? bo_l_sb : npart_l;\n while(b < b_lim){\n $97f850779472263e$var$assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n $97f850779472263e$var$assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].l[sb] = enn;\n gfc.thm[chn].l[sb] = thmm;\n if (b >= npart_l) {\n ++sb;\n break;\n }\n $97f850779472263e$var$assert(eb[b] >= 0);\n $97f850779472263e$var$assert(thr[b] >= 0);\n /* at transition sfb . sfb+1 */ var w_curr = gfc.PSY.bo_l_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].l[sb] += enn;\n gfc.thm[chn].l[sb] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n /* zero initialize the rest */ for(; sb < $cPNKB.SBMAX_l; ++sb){\n gfc.en[chn].l[sb] = 0;\n gfc.thm[chn].l[sb] = 0;\n }\n }\n function compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var j, b;\n for(b = j = 0; b < gfc.npart_s; ++b){\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for(var i = 0; i < n; ++i, ++j){\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el) m = el;\n }\n eb[b] = ebb;\n }\n $97f850779472263e$var$assert(b == gfc.npart_s);\n $97f850779472263e$var$assert(j == 129);\n for(j = b = 0; b < gfc.npart_s; b++){\n var kk = gfc.s3ind_s[b][0];\n var ecb = gfc.s3_ss[j++] * eb[kk];\n ++kk;\n while(kk <= gfc.s3ind_s[b][1]){\n ecb += gfc.s3_ss[j] * eb[kk];\n ++j;\n ++kk;\n }\n var x = rpelev_s * gfc.nb_s1[chn][b];\n thr[b] = Math.min(ecb, x);\n if (gfc.blocktype_old[chn & 1] == $cPNKB.SHORT_TYPE) {\n /* limit calculated threshold by even older granule */ var x = rpelev2_s * gfc.nb_s2[chn][b];\n var y = thr[b];\n thr[b] = Math.min(x, y);\n }\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n $97f850779472263e$var$assert(thr[b] >= 0);\n }\n for(; b <= $cPNKB.CBANDS; ++b){\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n function block_type_set(gfp, uselongblock, blocktype_d, blocktype) {\n var gfc = gfp.internal_flags;\n if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_coupled && !(uselongblock[0] != 0 && uselongblock[1] != 0)) uselongblock[0] = uselongblock[1] = 0;\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */ for(var chn = 0; chn < gfc.channels_out; chn++){\n blocktype[chn] = $cPNKB.NORM_TYPE;\n /* disable short blocks */ if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_dispensed) uselongblock[chn] = 1;\n if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_forced) uselongblock[chn] = 0;\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */ $97f850779472263e$var$assert(gfc.blocktype_old[chn] != $cPNKB.START_TYPE);\n if (gfc.blocktype_old[chn] == $cPNKB.SHORT_TYPE) blocktype[chn] = $cPNKB.STOP_TYPE;\n } else {\n /* attack : use short blocks */ blocktype[chn] = $cPNKB.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == $cPNKB.NORM_TYPE) gfc.blocktype_old[chn] = $cPNKB.START_TYPE;\n if (gfc.blocktype_old[chn] == $cPNKB.STOP_TYPE) gfc.blocktype_old[chn] = $cPNKB.SHORT_TYPE;\n }\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype[chn];\n // save for next call to l3psy_anal\n }\n }\n function NS_INTERP(x, y, r) {\n /* was pow((x),(r))*pow((y),1-(r)) */ if (r >= 1.0) /* 99.7% of the time */ return x;\n if (r <= 0.0) return y;\n if (y > 0.0) /* rest of the time */ return Math.pow(x / y, r) * y;\n /* never happens */ return 0.0;\n }\n /**\n * these values are tuned only for 44.1kHz...\n */ var regcoef_s = [\n 11.8,\n 13.6,\n 17.2,\n 32,\n 46.5,\n 51.3,\n 57.5,\n 67.1,\n 71.5,\n 84.6,\n 97.6,\n 130\n ];\n function pecalc_s(mr, masking_lower) {\n var pe_s = 309.07;\n for(var sb = 0; sb < $cPNKB.SBMAX_s - 1; sb++)for(var sblock = 0; sblock < 3; sblock++){\n var thm = mr.thm.s[sb][sblock];\n $97f850779472263e$var$assert(sb < regcoef_s.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.s[sb][sblock];\n if (en > x) {\n if (en > x * 1e10) pe_s += regcoef_s[sb] * (10.0 * LOG10);\n else {\n $97f850779472263e$var$assert(x > 0);\n pe_s += regcoef_s[sb] * $97f850779472263e$var$Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_s;\n }\n /**\n * these values are tuned only for 44.1kHz...\n */ var regcoef_l = [\n 6.8,\n 5.8,\n 5.8,\n 6.4,\n 6.5,\n 9.9,\n 12.1,\n 14.4,\n 15,\n 18.9,\n 21.6,\n 26.9,\n 34.2,\n 40.2,\n 46.8,\n 56.5,\n 60.7,\n 73.9,\n 85.7,\n 93.4,\n 126.1\n ];\n function pecalc_l(mr, masking_lower) {\n var pe_l = 281.0575;\n for(var sb = 0; sb < $cPNKB.SBMAX_l - 1; sb++){\n var thm = mr.thm.l[sb];\n $97f850779472263e$var$assert(sb < regcoef_l.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.l[sb];\n if (en > x) {\n if (en > x * 1e10) pe_l += regcoef_l[sb] * (10.0 * LOG10);\n else {\n $97f850779472263e$var$assert(x > 0);\n pe_l += regcoef_l[sb] * $97f850779472263e$var$Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_l;\n }\n function calc_energy(gfc, fftenergy, eb, max, avg) {\n var b, j;\n for(b = j = 0; b < gfc.npart_l; ++b){\n var ebb = 0, m = 0;\n var i;\n for(i = 0; i < gfc.numlines_l[b]; ++i, ++j){\n var el = fftenergy[j];\n $97f850779472263e$var$assert(el >= 0);\n ebb += el;\n if (m < el) m = el;\n }\n eb[b] = ebb;\n max[b] = m;\n avg[b] = ebb * gfc.rnumlines_l[b];\n $97f850779472263e$var$assert(gfc.rnumlines_l[b] >= 0);\n $97f850779472263e$var$assert(ebb >= 0);\n $97f850779472263e$var$assert(eb[b] >= 0);\n $97f850779472263e$var$assert(max[b] >= 0);\n $97f850779472263e$var$assert(avg[b] >= 0);\n }\n }\n function calc_mask_index_l(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1]) m = max[b + 1];\n $97f850779472263e$var$assert(gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1 > 0);\n a = 20.0 * (m * 2.0 - a) / (a * (gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n for(b = 1; b < gfc.npart_l - 1; b++){\n a = avg[b - 1] + avg[b] + avg[b + 1];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b]) m = max[b];\n if (m < max[b + 1]) m = max[b + 1];\n $97f850779472263e$var$assert(gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1 > 0);\n a = 20.0 * (m * 3.0 - a) / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n }\n $97f850779472263e$var$assert(b > 0);\n $97f850779472263e$var$assert(b == gfc.npart_l - 1);\n a = avg[b - 1] + avg[b];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b]) m = max[b];\n $97f850779472263e$var$assert(gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1 > 0);\n a = 20.0 * (m * 2.0 - a) / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n $97f850779472263e$var$assert(b == gfc.npart_l - 1);\n }\n var fircoef = [\n -0.00000000000000000865163 * 2,\n -0.01703172,\n -0.00000000000000000674764 * 2,\n 0.0418072,\n -0.0000000000000000336639 * 2,\n -0.0876324,\n -0.0000000000000000154175 * 2,\n 0.1863476,\n -0.0000000000000000552212 * 2,\n -0.627638\n ];\n this.L3psycho_anal_ns = function(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n /*\n * to get a good cache performance, one has to think about the sequence,\n * in which the variables are used.\n */ var gfc = gfp.internal_flags;\n /* fft and energy calculation */ var wsamp_L = $97f850779472263e$var$new_float_n([\n 2,\n $cPNKB.BLKSIZE\n ]);\n var wsamp_S = $97f850779472263e$var$new_float_n([\n 2,\n 3,\n $cPNKB.BLKSIZE_s\n ]);\n /* convolution */ var eb_l = $97f850779472263e$var$new_float($cPNKB.CBANDS + 1);\n var eb_s = $97f850779472263e$var$new_float($cPNKB.CBANDS + 1);\n var thr = $97f850779472263e$var$new_float($cPNKB.CBANDS + 2);\n /* block type */ var blocktype = $97f850779472263e$var$new_int(2), uselongblock = $97f850779472263e$var$new_int(2);\n /* usual variables like loop indices, etc.. */ var numchn, chn;\n var b, i, j, k;\n var sb, sblock;\n /* variables used for --nspsytune */ var ns_hpfsmpl = $97f850779472263e$var$new_float_n([\n 2,\n 576\n ]);\n var pcfact;\n var mask_idx_l = $97f850779472263e$var$new_int($cPNKB.CBANDS + 2), mask_idx_s = $97f850779472263e$var$new_int($cPNKB.CBANDS + 2);\n $97f850779472263e$var$Arrays.fill(mask_idx_s, 0);\n numchn = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */ if (gfp.mode == MPEGMode.JOINT_STEREO) numchn = 4;\n if (gfp.VBR == $97f850779472263e$var$VbrMode.vbr_off) pcfact = gfc.ResvMax == 0 ? 0 : gfc.ResvSize / gfc.ResvMax * 0.5;\n else if (gfp.VBR == $97f850779472263e$var$VbrMode.vbr_rh || gfp.VBR == $97f850779472263e$var$VbrMode.vbr_mtrh || gfp.VBR == $97f850779472263e$var$VbrMode.vbr_mt) pcfact = 0.6;\n else pcfact = 1.0;\n /**********************************************************************\n * Apply HPF of fs/4 to the input signal. This is used for attack\n * detection / handling.\n **********************************************************************/ /* Don't copy the input buffer into a temporary buffer */ /* unroll the loop 2 times */ for(chn = 0; chn < gfc.channels_out; chn++){\n /* apply high pass filter of fs/4 */ var firbuf1 = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n $97f850779472263e$var$assert(fircoef.length == (NSFIRLEN - 1) / 2);\n for(i = 0; i < 576; i++){\n var sum1, sum2;\n sum1 = firbuf1[firbufPos + i + 10];\n sum2 = 0.0;\n for(j = 0; j < (NSFIRLEN - 1) / 2 - 1; j += 2){\n sum1 += fircoef[j] * (firbuf1[firbufPos + i + j] + firbuf1[firbufPos + i + NSFIRLEN - j]);\n sum2 += fircoef[j + 1] * (firbuf1[firbufPos + i + j + 1] + firbuf1[firbufPos + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (numchn > 2) {\n /* MS maskings */ /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */ masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for(chn = 0; chn < numchn; chn++){\n var wsamp_l;\n var wsamp_s;\n var en_subshort = $97f850779472263e$var$new_float(12);\n var en_short = [\n 0,\n 0,\n 0,\n 0\n ];\n var attack_intensity = $97f850779472263e$var$new_float(12);\n var ns_uselongblock = 1;\n var attackThreshold;\n var max = $97f850779472263e$var$new_float($cPNKB.CBANDS), avg = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var ns_attacks = [\n 0,\n 0,\n 0,\n 0\n ];\n var fftenergy = $97f850779472263e$var$new_float($cPNKB.HBLKSIZE);\n var fftenergy_s = $97f850779472263e$var$new_float_n([\n 3,\n $cPNKB.HBLKSIZE_s\n ]);\n /*\n * rh 20040301: the following loops do access one off the limits so\n * I increase the array dimensions by one and initialize the\n * accessed values to zero\n */ $97f850779472263e$var$assert(gfc.npart_s <= $cPNKB.CBANDS);\n $97f850779472263e$var$assert(gfc.npart_l <= $cPNKB.CBANDS);\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/ /* calculate energies of each sub-shortblocks */ for(i = 0; i < 3; i++){\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n $97f850779472263e$var$assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i] / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n if (chn == 2) for(i = 0; i < 576; i++){\n var l, r;\n l = ns_hpfsmpl[0][i];\n r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n for(i = 0; i < 9; i++){\n var pfe = pfPos + 64;\n var p = 1.;\n for(; pfPos < pfe; pfPos++)if (p < Math.abs(pf[pfPos])) p = Math.abs(pf[pfPos]);\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n $97f850779472263e$var$assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n $97f850779472263e$var$assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else p = 0.0;\n attack_intensity[i + 3] = p;\n }\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for(i = 1; i < 12; i++)if (x < attack_intensity[i]) x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n /* compare energies between sub-shortblocks */ attackThreshold = chn == 3 ? gfc.nsPsy.attackthre_s : gfc.nsPsy.attackthre;\n for(i = 0; i < 12; i++)if (0 == ns_attacks[i / 3] && attack_intensity[i] > attackThreshold) ns_attacks[i / 3] = i % 3 + 1;\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */ for(i = 1; i < 4; i++){\n var ratio;\n if (en_short[i - 1] > en_short[i]) {\n $97f850779472263e$var$assert(en_short[i] > 0);\n ratio = en_short[i - 1] / en_short[i];\n } else {\n $97f850779472263e$var$assert(en_short[i - 1] > 0);\n ratio = en_short[i] / en_short[i - 1];\n }\n if (ratio < 1.7) {\n ns_attacks[i] = 0;\n if (i == 1) ns_attacks[0] = 0;\n }\n }\n if (ns_attacks[0] != 0 && gfc.nsPsy.lastAttacks[chn] != 0) ns_attacks[0] = 0;\n if (gfc.nsPsy.lastAttacks[chn] == 3 || ns_attacks[0] + ns_attacks[1] + ns_attacks[2] + ns_attacks[3] != 0) {\n ns_uselongblock = 0;\n if (ns_attacks[1] != 0 && ns_attacks[0] != 0) ns_attacks[1] = 0;\n if (ns_attacks[2] != 0 && ns_attacks[1] != 0) ns_attacks[2] = 0;\n if (ns_attacks[3] != 0 && ns_attacks[2] != 0) ns_attacks[3] = 0;\n }\n if (chn < 2) uselongblock[chn] = ns_uselongblock;\n else if (ns_uselongblock == 0) uselongblock[0] = uselongblock[1] = 0;\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */ energy[chn] = gfc.tot_ener[chn];\n /*********************************************************************\n * compute FFTs\n *********************************************************************/ wsamp_s = wsamp_S;\n wsamp_l = wsamp_L;\n compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, chn & 1, wsamp_s, chn & 1, gr_out, chn, buffer, bufPos);\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/ calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /* compute masking thresholds for short blocks */ for(sblock = 0; sblock < 3; sblock++){\n var enn, thmm;\n compute_masking_s(gfp, fftenergy_s, eb_s, thr, chn, sblock);\n convert_partition2scalefac_s(gfc, eb_s, thr, chn, sblock);\n /**** short block pre-echo control ****/ for(sb = 0; sb < $cPNKB.SBMAX_s; sb++){\n thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[sblock] >= 2 || ns_attacks[sblock + 1] == 1) {\n var idx = sblock != 0 ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n }\n if (ns_attacks[sblock] == 1) {\n var idx = sblock != 0 ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (sblock != 0 && ns_attacks[sblock - 1] == 3 || sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3) {\n var idx = sblock != 2 ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n /* pulse like signal detection for fatboy.wav and so on */ enn = en_subshort[sblock * 3 + 3] + en_subshort[sblock * 3 + 4] + en_subshort[sblock * 3 + 5];\n if (en_subshort[sblock * 3 + 5] * 6 < enn) {\n thmm *= 0.5;\n if (en_subshort[sblock * 3 + 4] * 6 < enn) thmm *= 0.5;\n }\n gfc.thm[chn].s[sb][sblock] = thmm;\n }\n }\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[2];\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/ k = 0;\n for(b = 0; b < gfc.npart_l; b++){\n /*\n * convolve the partitioned energy with the spreading\n * function\n */ var kk = gfc.s3ind[b][0];\n var eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n var ecb = gfc.s3_ll[k++] * eb2;\n while(++kk <= gfc.s3ind[b][1]){\n eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n ecb = mask_add(ecb, gfc.s3_ll[k++] * eb2, kk, kk - b, gfc, 0);\n }\n ecb *= 0.158489319246111;\n /* pow(10,-0.8) */ /**** long block pre-echo control ****/ /**\n * <PRE>\n * dont use long block pre-echo control if previous granule was\n * a short block. This is to avoid the situation:\n * frame0: quiet (very low masking)\n * frame1: surge (triggers short blocks)\n * frame2: regular frame. looks like pre-echo when compared to\n * frame0, but all pre-echo was in frame1.\n * </PRE>\n */ /*\n * chn=0,1 L and R channels\n *\n * chn=2,3 S and M channels.\n */ if (gfc.blocktype_old[chn & 1] == $cPNKB.SHORT_TYPE) thr[b] = ecb;\n else thr[b] = NS_INTERP(Math.min(ecb, Math.min(rpelev * gfc.nb_1[chn][b], rpelev2 * gfc.nb_2[chn][b])), ecb, pcfact);\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n }\n for(; b <= $cPNKB.CBANDS; ++b){\n eb_l[b] = 0;\n thr[b] = 0;\n }\n /* compute masking thresholds for long blocks */ convert_partition2scalefac_l(gfc, eb_l, thr, chn);\n }\n /* end loop over chn */ if (gfp.mode == MPEGMode.STEREO || gfp.mode == MPEGMode.JOINT_STEREO) {\n if (gfp.interChRatio > 0.0) calc_interchannel_masking(gfp, gfp.interChRatio);\n }\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n var msfix;\n msfix1(gfc);\n msfix = gfp.msfix;\n if (Math.abs(msfix) > 0.0) ns_msfix(gfc, msfix, gfp.ATHlower * gfc.ATH.adjust);\n }\n /***************************************************************\n * determine final block type\n ***************************************************************/ block_type_set(gfp, uselongblock, blocktype_d, blocktype);\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/ for(chn = 0; chn < numchn; chn++){\n var ppe;\n var ppePos = 0;\n var type;\n var mr;\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = $cPNKB.NORM_TYPE;\n if (blocktype_d[0] == $cPNKB.SHORT_TYPE || blocktype_d[1] == $cPNKB.SHORT_TYPE) type = $cPNKB.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n if (type == $cPNKB.SHORT_TYPE) ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n if (gfp.analysis) gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n return 0;\n };\n function vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, wsamp_lPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n else if (chn == 2) /* FFT data for mid and side channel is derived from L & R */ for(var j = $cPNKB.BLKSIZE - 1; j >= 0; --j){\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n }\n /*********************************************************************\n * compute energies\n *********************************************************************/ fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n for(var j = $cPNKB.BLKSIZE / 2 - 1; j >= 0; --j){\n var re = wsamp_l[wsamp_lPos + 0][$cPNKB.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][$cPNKB.BLKSIZE / 2 + j];\n fftenergy[$cPNKB.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re * re + im * im) * 0.5);\n }\n var totalenergy = 0.0;\n for(var j = 11; j < $cPNKB.HBLKSIZE; j++)totalenergy += fftenergy[j];\n gfc.tot_ener[chn] = totalenergy;\n if (gfp.analysis) {\n for(var j = 0; j < $cPNKB.HBLKSIZE; j++){\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n }\n function vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, wsamp_sPos) {\n var gfc = gfp.internal_flags;\n if (sblock == 0 && chn < 2) fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n if (chn == 2) /* FFT data for mid and side channel is derived from L & R */ for(var j = $cPNKB.BLKSIZE_s - 1; j >= 0; --j){\n var l = wsamp_s[wsamp_sPos + 0][sblock][j];\n var r = wsamp_s[wsamp_sPos + 1][sblock][j];\n wsamp_s[wsamp_sPos + 0][sblock][j] = (l + r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][sblock][j] = (l - r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n }\n /*********************************************************************\n * compute energies\n *********************************************************************/ fftenergy_s[sblock][0] = wsamp_s[wsamp_sPos + 0][sblock][0];\n fftenergy_s[sblock][0] *= fftenergy_s[sblock][0];\n for(var j = $cPNKB.BLKSIZE_s / 2 - 1; j >= 0; --j){\n var re = wsamp_s[wsamp_sPos + 0][sblock][$cPNKB.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][sblock][$cPNKB.BLKSIZE_s / 2 + j];\n fftenergy_s[sblock][$cPNKB.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re * re + im * im) * 0.5);\n }\n }\n /**\n * compute loudness approximation (used for ATH auto-level adjustment)\n */ function vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy) {\n var gfc = gfp.internal_flags;\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n var fircoef_ = [\n -0.00000000000000000865163 * 2,\n -0.01703172,\n -0.00000000000000000674764 * 2,\n 0.0418072,\n -0.0000000000000000336639 * 2,\n -0.0876324,\n -0.0000000000000000154175 * 2,\n 0.1863476,\n -0.0000000000000000552212 * 2,\n -0.627638\n ];\n /**\n * Apply HPF of fs/4 to the input signal. This is used for attack detection\n * / handling.\n */ function vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock) {\n var ns_hpfsmpl = $97f850779472263e$var$new_float_n([\n 2,\n 576\n ]);\n var gfc = gfp.internal_flags;\n var n_chn_out = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */ var n_chn_psy = gfp.mode == MPEGMode.JOINT_STEREO ? 4 : n_chn_out;\n /* Don't copy the input buffer into a temporary buffer */ /* unroll the loop 2 times */ for(var chn = 0; chn < n_chn_out; chn++){\n /* apply high pass filter of fs/4 */ firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n $97f850779472263e$var$assert(fircoef_.length == (NSFIRLEN - 1) / 2);\n for(var i = 0; i < 576; i++){\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for(var j = 0; j < (NSFIRLEN - 1) / 2 - 1; j += 2){\n sum1 += fircoef_[j] * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i + NSFIRLEN - j]);\n sum2 += fircoef_[j + 1] * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (n_chn_psy > 2) {\n /* MS maskings */ /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */ masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for(var chn = 0; chn < n_chn_psy; chn++){\n var attack_intensity = $97f850779472263e$var$new_float(12);\n var en_subshort = $97f850779472263e$var$new_float(12);\n var en_short = [\n 0,\n 0,\n 0,\n 0\n ];\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n var attackThreshold = chn == 3 ? gfc.nsPsy.attackthre_s : gfc.nsPsy.attackthre;\n var ns_uselongblock = 1;\n if (chn == 2) for(var i = 0, j = 576; j > 0; ++i, --j){\n var l = ns_hpfsmpl[0][i];\n var r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/ /* calculate energies of each sub-shortblocks */ for(var i = 0; i < 3; i++){\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n $97f850779472263e$var$assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i] / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n for(var i = 0; i < 9; i++){\n var pfe = pfPos + 64;\n var p = 1.;\n for(; pfPos < pfe; pfPos++)if (p < Math.abs(pf[pfPos])) p = Math.abs(pf[pfPos]);\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n $97f850779472263e$var$assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n $97f850779472263e$var$assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else p = 0.0;\n attack_intensity[i + 3] = p;\n }\n /* pulse like signal detection for fatboy.wav and so on */ for(var i = 0; i < 3; ++i){\n var enn = en_subshort[i * 3 + 3] + en_subshort[i * 3 + 4] + en_subshort[i * 3 + 5];\n var factor = 1.;\n if (en_subshort[i * 3 + 5] * 6 < enn) {\n factor *= 0.5;\n if (en_subshort[i * 3 + 4] * 6 < enn) factor *= 0.5;\n }\n sub_short_factor[chn][i] = factor;\n }\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for(var i = 1; i < 12; i++)if (x < attack_intensity[i]) x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n /* compare energies between sub-shortblocks */ for(var i = 0; i < 12; i++)if (0 == ns_attacks[chn][i / 3] && attack_intensity[i] > attackThreshold) ns_attacks[chn][i / 3] = i % 3 + 1;\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */ /* Good samples to show the effect are Trumpet test songs */ /*\n * GB: tuned (1) to avoid too many short blocks for test sample\n * TRUMPET\n */ /*\n * RH: tuned (2) to let enough short blocks through for test sample\n * FSOL and SNAPS\n */ for(var i = 1; i < 4; i++){\n var u = en_short[i - 1];\n var v = en_short[i];\n var m = Math.max(u, v);\n if (m < 40000) {\n if (u < 1.7 * v && v < 1.7 * u) {\n if (i == 1 && ns_attacks[chn][0] <= ns_attacks[chn][i]) ns_attacks[chn][0] = 0;\n ns_attacks[chn][i] = 0;\n }\n }\n }\n if (ns_attacks[chn][0] <= gfc.nsPsy.lastAttacks[chn]) ns_attacks[chn][0] = 0;\n if (gfc.nsPsy.lastAttacks[chn] == 3 || ns_attacks[chn][0] + ns_attacks[chn][1] + ns_attacks[chn][2] + ns_attacks[chn][3] != 0) {\n ns_uselongblock = 0;\n if (ns_attacks[chn][1] != 0 && ns_attacks[chn][0] != 0) ns_attacks[chn][1] = 0;\n if (ns_attacks[chn][2] != 0 && ns_attacks[chn][1] != 0) ns_attacks[chn][2] = 0;\n if (ns_attacks[chn][3] != 0 && ns_attacks[chn][2] != 0) ns_attacks[chn][3] = 0;\n }\n if (chn < 2) uselongblock[chn] = ns_uselongblock;\n else if (ns_uselongblock == 0) uselongblock[0] = uselongblock[1] = 0;\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */ energy[chn] = gfc.tot_ener[chn];\n }\n }\n function vbrpsy_skip_masking_s(gfc, chn, sblock) {\n if (sblock == 0) for(var b = 0; b < gfc.npart_s; b++){\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = 0;\n }\n }\n function vbrpsy_skip_masking_l(gfc, chn) {\n for(var b = 0; b < gfc.npart_l; b++){\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = 0;\n }\n }\n function psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1]) m = max[b + 1];\n $97f850779472263e$var$assert(gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1 > 0);\n a = 20.0 * (m * 2.0 - a) / (a * (gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n for(b = 1; b < gfc.npart_s - 1; b++){\n a = avg[b - 1] + avg[b] + avg[b + 1];\n $97f850779472263e$var$assert(b + 1 < gfc.npart_s);\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b]) m = max[b];\n if (m < max[b + 1]) m = max[b + 1];\n $97f850779472263e$var$assert(gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1 > 0);\n a = 20.0 * (m * 3.0 - a) / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n }\n $97f850779472263e$var$assert(b > 0);\n $97f850779472263e$var$assert(b == gfc.npart_s - 1);\n a = avg[b - 1] + avg[b];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b]) m = max[b];\n $97f850779472263e$var$assert(gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1 > 0);\n a = 20.0 * (m * 2.0 - a) / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n $97f850779472263e$var$assert(b == gfc.npart_s - 1);\n }\n function vbrpsy_compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var max = new float[$cPNKB.CBANDS], avg = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var i, j, b;\n var mask_idx_s = new int[$cPNKB.CBANDS];\n for(b = j = 0; b < gfc.npart_s; ++b){\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for(i = 0; i < n; ++i, ++j){\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el) m = el;\n }\n eb[b] = ebb;\n $97f850779472263e$var$assert(ebb >= 0);\n max[b] = m;\n $97f850779472263e$var$assert(n > 0);\n avg[b] = ebb / n;\n $97f850779472263e$var$assert(avg[b] >= 0);\n }\n $97f850779472263e$var$assert(b == gfc.npart_s);\n $97f850779472263e$var$assert(j == 129);\n for(; b < $cPNKB.CBANDS; ++b){\n max[b] = 0;\n avg[b] = 0;\n }\n psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx_s);\n for(j = b = 0; b < gfc.npart_s; b++){\n var kk = gfc.s3ind_s[b][0];\n var last = gfc.s3ind_s[b][1];\n var dd, dd_n;\n var x, ecb, avg_mask;\n dd = mask_idx_s[kk];\n dd_n = 1;\n ecb = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ++j;\n ++kk;\n while(kk <= last){\n dd += mask_idx_s[kk];\n dd_n += 1;\n x = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ecb = vbrpsy_mask_add(ecb, x, kk - b);\n ++j;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n thr[b] = ecb;\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */ x = max[b];\n x *= gfc.minval_s[b];\n x *= avg_mask;\n if (thr[b] > x) thr[b] = x;\n if (gfc.masking_lower > 1) thr[b] *= gfc.masking_lower;\n if (thr[b] > eb[b]) thr[b] = eb[b];\n if (gfc.masking_lower < 1) thr[b] *= gfc.masking_lower;\n $97f850779472263e$var$assert(thr[b] >= 0);\n }\n for(; b < $cPNKB.CBANDS; ++b){\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n function vbrpsy_compute_masking_l(gfc, fftenergy, eb_l, thr, chn) {\n var max = $97f850779472263e$var$new_float($cPNKB.CBANDS), avg = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var mask_idx_l = $97f850779472263e$var$new_int($cPNKB.CBANDS + 2);\n var b;\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/ calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/ var k = 0;\n for(b = 0; b < gfc.npart_l; b++){\n var x, ecb, avg_mask, t;\n /* convolve the partitioned energy with the spreading function */ var kk = gfc.s3ind[b][0];\n var last = gfc.s3ind[b][1];\n var dd = 0, dd_n = 0;\n dd = mask_idx_l[kk];\n dd_n += 1;\n ecb = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n ++k;\n ++kk;\n while(kk <= last){\n dd += mask_idx_l[kk];\n dd_n += 1;\n x = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n t = vbrpsy_mask_add(ecb, x, kk - b);\n ecb = t;\n ++k;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n /**** long block pre-echo control ****/ /**\n * <PRE>\n * dont use long block pre-echo control if previous granule was\n * a short block. This is to avoid the situation:\n * frame0: quiet (very low masking)\n * frame1: surge (triggers short blocks)\n * frame2: regular frame. looks like pre-echo when compared to\n * frame0, but all pre-echo was in frame1.\n * </PRE>\n */ /*\n * chn=0,1 L and R channels chn=2,3 S and M channels.\n */ if (gfc.blocktype_old[chn & 0x01] == $cPNKB.SHORT_TYPE) {\n var ecb_limit = rpelev * gfc.nb_1[chn][b];\n if (ecb_limit > 0) thr[b] = Math.min(ecb, ecb_limit);\n else /**\n * <PRE>\n * Robert 071209:\n * Because we don't calculate long block psy when we know a granule\n * should be of short blocks, we don't have any clue how the granule\n * before would have looked like as a long block. So we have to guess\n * a little bit for this END_TYPE block.\n * Most of the time we get away with this sloppyness. (fingers crossed :)\n * The speed increase is worth it.\n * </PRE>\n */ thr[b] = Math.min(ecb, eb_l[b] * NS_PREECHO_ATT2);\n } else {\n var ecb_limit_2 = rpelev2 * gfc.nb_2[chn][b];\n var ecb_limit_1 = rpelev * gfc.nb_1[chn][b];\n var ecb_limit;\n if (ecb_limit_2 <= 0) ecb_limit_2 = ecb;\n if (ecb_limit_1 <= 0) ecb_limit_1 = ecb;\n if (gfc.blocktype_old[chn & 0x01] == $cPNKB.NORM_TYPE) ecb_limit = Math.min(ecb_limit_1, ecb_limit_2);\n else ecb_limit = ecb_limit_1;\n thr[b] = Math.min(ecb, ecb_limit);\n }\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */ x = max[b];\n x *= gfc.minval_l[b];\n x *= avg_mask;\n if (thr[b] > x) thr[b] = x;\n if (gfc.masking_lower > 1) thr[b] *= gfc.masking_lower;\n if (thr[b] > eb_l[b]) thr[b] = eb_l[b];\n if (gfc.masking_lower < 1) thr[b] *= gfc.masking_lower;\n $97f850779472263e$var$assert(thr[b] >= 0);\n }\n for(; b < $cPNKB.CBANDS; ++b){\n eb_l[b] = 0;\n thr[b] = 0;\n }\n }\n function vbrpsy_compute_block_type(gfp, uselongblock) {\n var gfc = gfp.internal_flags;\n if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_coupled && !(uselongblock[0] != 0 && uselongblock[1] != 0)) uselongblock[0] = uselongblock[1] = 0;\n for(var chn = 0; chn < gfc.channels_out; chn++){\n /* disable short blocks */ if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_dispensed) uselongblock[chn] = 1;\n if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_forced) uselongblock[chn] = 0;\n }\n }\n function vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d) {\n var gfc = gfp.internal_flags;\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */ for(var chn = 0; chn < gfc.channels_out; chn++){\n var blocktype = $cPNKB.NORM_TYPE;\n /* disable short blocks */ if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */ $97f850779472263e$var$assert(gfc.blocktype_old[chn] != $cPNKB.START_TYPE);\n if (gfc.blocktype_old[chn] == $cPNKB.SHORT_TYPE) blocktype = $cPNKB.STOP_TYPE;\n } else {\n /* attack : use short blocks */ blocktype = $cPNKB.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == $cPNKB.NORM_TYPE) gfc.blocktype_old[chn] = $cPNKB.START_TYPE;\n if (gfc.blocktype_old[chn] == $cPNKB.STOP_TYPE) gfc.blocktype_old[chn] = $cPNKB.SHORT_TYPE;\n }\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype;\n // save for next call to l3psy_anal\n }\n }\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */ function vbrpsy_compute_MS_thresholds(eb, thr, cb_mld, ath_cb, athadjust, msfix, n) {\n var msfix2 = msfix * 2;\n var athlower = msfix > 0 ? Math.pow(10, athadjust) : 1;\n var rside, rmid;\n for(var b = 0; b < n; ++b){\n var ebM = eb[2][b];\n var ebS = eb[3][b];\n var thmL = thr[0][b];\n var thmR = thr[1][b];\n var thmM = thr[2][b];\n var thmS = thr[3][b];\n /* use this fix if L & R masking differs by 2db or less */ if (thmL <= 1.58 * thmR && thmR <= 1.58 * thmL) {\n var mld_m = cb_mld[b] * ebS;\n var mld_s = cb_mld[b] * ebM;\n rmid = Math.max(thmM, Math.min(thmS, mld_m));\n rside = Math.max(thmS, Math.min(thmM, mld_s));\n } else {\n rmid = thmM;\n rside = thmS;\n }\n if (msfix > 0) {\n /***************************************************************/ /* Adjust M/S maskings if user set \"msfix\" */ /***************************************************************/ /* Naoki Shibata 2000 */ var thmLR, thmMS;\n var ath = ath_cb[b] * athlower;\n thmLR = Math.min(Math.max(thmL, ath), Math.max(thmR, ath));\n thmM = Math.max(rmid, ath);\n thmS = Math.max(rside, ath);\n thmMS = thmM + thmS;\n if (thmMS > 0 && thmLR * msfix2 < thmMS) {\n var f = thmLR * msfix2 / thmMS;\n thmM *= f;\n thmS *= f;\n $97f850779472263e$var$assert(thmMS > 0);\n }\n rmid = Math.min(thmM, rmid);\n rside = Math.min(thmS, rside);\n }\n if (rmid > ebM) rmid = ebM;\n if (rside > ebS) rside = ebS;\n thr[2][b] = rmid;\n thr[3][b] = rside;\n }\n }\n this.L3psycho_anal_vbr = function(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n var gfc = gfp.internal_flags;\n /* fft and energy calculation */ var wsamp_l;\n var wsamp_s;\n var fftenergy = $97f850779472263e$var$new_float($cPNKB.HBLKSIZE);\n var fftenergy_s = $97f850779472263e$var$new_float_n([\n 3,\n $cPNKB.HBLKSIZE_s\n ]);\n var wsamp_L = $97f850779472263e$var$new_float_n([\n 2,\n $cPNKB.BLKSIZE\n ]);\n var wsamp_S = $97f850779472263e$var$new_float_n([\n 2,\n 3,\n $cPNKB.BLKSIZE_s\n ]);\n var eb = $97f850779472263e$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]), thr = $97f850779472263e$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n var sub_short_factor = $97f850779472263e$var$new_float_n([\n 4,\n 3\n ]);\n var pcfact = 0.6;\n /* block type */ var ns_attacks = [\n [\n 0,\n 0,\n 0,\n 0\n ],\n [\n 0,\n 0,\n 0,\n 0\n ],\n [\n 0,\n 0,\n 0,\n 0\n ],\n [\n 0,\n 0,\n 0,\n 0\n ]\n ];\n var uselongblock = $97f850779472263e$var$new_int(2);\n /* usual variables like loop indices, etc.. */ /* chn=2 and 3 = Mid and Side channels */ var n_chn_psy = gfp.mode == MPEGMode.JOINT_STEREO ? 4 : gfc.channels_out;\n vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock);\n vbrpsy_compute_block_type(gfp, uselongblock);\n for(var chn = 0; chn < n_chn_psy; chn++){\n var ch01 = chn & 0x01;\n wsamp_l = wsamp_L;\n vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, ch01);\n vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy);\n if (uselongblock[ch01] != 0) vbrpsy_compute_masking_l(gfc, fftenergy, eb[chn], thr[chn], chn);\n else vbrpsy_skip_masking_l(gfc, chn);\n }\n if (uselongblock[0] + uselongblock[1] == 2) /* M/S channel */ {\n if (gfp.mode == MPEGMode.JOINT_STEREO) vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_l, gfc.ATH.cb_l, gfp.ATHlower * gfc.ATH.adjust, gfp.msfix, gfc.npart_l);\n }\n /* TODO: apply adaptive ATH masking here ?? */ for(var chn = 0; chn < n_chn_psy; chn++){\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) convert_partition2scalefac_l(gfc, eb[chn], thr[chn], chn);\n }\n for(var sblock = 0; sblock < 3; sblock++){\n for(var chn = 0; chn < n_chn_psy; ++chn){\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) vbrpsy_skip_masking_s(gfc, chn, sblock);\n else {\n /* compute masking thresholds for short blocks */ wsamp_s = wsamp_S;\n vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, ch01);\n vbrpsy_compute_masking_s(gfp, fftenergy_s, eb[chn], thr[chn], chn, sblock);\n }\n }\n if (uselongblock[0] + uselongblock[1] == 0) /* M/S channel */ {\n if (gfp.mode == MPEGMode.JOINT_STEREO) vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_s, gfc.ATH.cb_s, gfp.ATHlower * gfc.ATH.adjust, gfp.msfix, gfc.npart_s);\n }\n /* TODO: apply adaptive ATH masking here ?? */ for(var chn = 0; chn < n_chn_psy; ++chn){\n var ch01 = chn & 0x01;\n if (0 == uselongblock[ch01]) convert_partition2scalefac_s(gfc, eb[chn], thr[chn], chn, sblock);\n }\n }\n /**** short block pre-echo control ****/ for(var chn = 0; chn < n_chn_psy; chn++){\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) continue;\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++){\n var new_thmm = $97f850779472263e$var$new_float(3);\n for(var sblock = 0; sblock < 3; sblock++){\n var thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[chn][sblock] >= 2 || ns_attacks[chn][sblock + 1] == 1) {\n var idx = sblock != 0 ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (ns_attacks[chn][sblock] == 1) {\n var idx = sblock != 0 ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (sblock != 0 && ns_attacks[chn][sblock - 1] == 3 || sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3) {\n var idx = sblock != 2 ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n /* pulse like signal detection for fatboy.wav and so on */ thmm *= sub_short_factor[chn][sblock];\n new_thmm[sblock] = thmm;\n }\n for(var sblock = 0; sblock < 3; sblock++)gfc.thm[chn].s[sb][sblock] = new_thmm[sblock];\n }\n }\n for(var chn = 0; chn < n_chn_psy; chn++)gfc.nsPsy.lastAttacks[chn] = ns_attacks[chn][2];\n /***************************************************************\n * determine final block type\n ***************************************************************/ vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d);\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/ for(var chn = 0; chn < n_chn_psy; chn++){\n var ppe;\n var ppePos;\n var type;\n var mr;\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = $cPNKB.NORM_TYPE;\n if (blocktype_d[0] == $cPNKB.SHORT_TYPE || blocktype_d[1] == $cPNKB.SHORT_TYPE) type = $cPNKB.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n if (type == $cPNKB.SHORT_TYPE) ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n if (gfp.analysis) gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n return 0;\n };\n function s3_func_x(bark, hf_slope) {\n var tempx = bark, tempy;\n if (tempx >= 0) tempy = -tempx * 27;\n else tempy = tempx * hf_slope;\n if (tempy <= -72) return 0;\n return Math.exp(tempy * LN_TO_LOG10);\n }\n function norm_s3_func_x(hf_slope) {\n var lim_a = 0, lim_b = 0;\n var x = 0, l, h;\n for(x = 0; s3_func_x(x, hf_slope) > 1e-20; x -= 1);\n l = x;\n h = 0;\n while(Math.abs(h - l) > 1e-12){\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) h = x;\n else l = x;\n }\n lim_a = l;\n var x = 0, l, h;\n for(x = 0; s3_func_x(x, hf_slope) > 1e-20; x += 1);\n l = 0;\n h = x;\n while(Math.abs(h - l) > 1e-12){\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) l = x;\n else h = x;\n }\n lim_b = h;\n var sum = 0;\n var m = 1000;\n var i;\n for(i = 0; i <= m; ++i){\n var x = lim_a + i * (lim_b - lim_a) / m;\n var y = s3_func_x(x, hf_slope);\n sum += y;\n }\n var norm = (m + 1) / (sum * (lim_b - lim_a));\n /* printf( \"norm = %lf\\n\",norm); */ return norm;\n }\n /**\n * The spreading function. Values returned in units of energy\n */ function s3_func(bark) {\n var tempx, x, tempy, temp;\n tempx = bark;\n if (tempx >= 0) tempx *= 3;\n else tempx *= 1.5;\n if (tempx >= 0.5 && tempx <= 2.5) {\n temp = tempx - 0.5;\n x = 8.0 * (temp * temp - 2.0 * temp);\n } else x = 0.0;\n tempx += 0.474;\n tempy = 15.811389 + 7.5 * tempx - 17.5 * Math.sqrt(1.0 + tempx * tempx);\n if (tempy <= -60) return 0.0;\n tempx = Math.exp((x + tempy) * LN_TO_LOG10);\n /**\n * <PRE>\n * Normalization. The spreading function should be normalized so that:\n * +inf\n * /\n * | s3 [ bark ] d(bark) = 1\n * /\n * -inf\n * </PRE>\n */ tempx /= .6609193;\n return tempx;\n }\n /**\n * see for example \"Zwicker: Psychoakustik, 1982; ISBN 3-540-11401-7\n */ function freq2bark(freq) {\n /* input: freq in hz output: barks */ if (freq < 0) freq = 0;\n freq = freq * 0.001;\n return 13.0 * Math.atan(.76 * freq) + 3.5 * Math.atan(freq * freq / 56.25);\n }\n function init_numline(numlines, bo, bm, bval, bval_width, mld, bo_w, sfreq, blksize, scalepos, deltafreq, sbmax) {\n var b_frq = $97f850779472263e$var$new_float($cPNKB.CBANDS + 1);\n var sample_freq_frac = sfreq / (sbmax > 15 ? 1152 : 384);\n var partition = $97f850779472263e$var$new_int($cPNKB.HBLKSIZE);\n var i;\n sfreq /= blksize;\n var j = 0;\n var ni = 0;\n /* compute numlines, the number of spectral lines in each partition band */ /* each partition band should be about DELBARK wide. */ for(i = 0; i < $cPNKB.CBANDS; i++){\n var bark1;\n var j2;\n bark1 = freq2bark(sfreq * j);\n b_frq[i] = sfreq * j;\n for(j2 = j; freq2bark(sfreq * j2) - bark1 < DELBARK && j2 <= blksize / 2; j2++);\n numlines[i] = j2 - j;\n ni = i + 1;\n while(j < j2){\n $97f850779472263e$var$assert(j < $cPNKB.HBLKSIZE);\n partition[j++] = i;\n }\n if (j > blksize / 2) {\n j = blksize / 2;\n ++i;\n break;\n }\n }\n $97f850779472263e$var$assert(i < $cPNKB.CBANDS);\n b_frq[i] = sfreq * j;\n for(var sfb = 0; sfb < sbmax; sfb++){\n var i1, i2, start, end;\n var arg;\n start = scalepos[sfb];\n end = scalepos[sfb + 1];\n i1 = 0 | Math.floor(.5 + deltafreq * (start - .5));\n if (i1 < 0) i1 = 0;\n i2 = 0 | Math.floor(.5 + deltafreq * (end - .5));\n if (i2 > blksize / 2) i2 = blksize / 2;\n bm[sfb] = (partition[i1] + partition[i2]) / 2;\n bo[sfb] = partition[i2];\n var f_tmp = sample_freq_frac * end;\n /*\n * calculate how much of this band belongs to current scalefactor\n * band\n */ bo_w[sfb] = (f_tmp - b_frq[bo[sfb]]) / (b_frq[bo[sfb] + 1] - b_frq[bo[sfb]]);\n if (bo_w[sfb] < 0) bo_w[sfb] = 0;\n else if (bo_w[sfb] > 1) bo_w[sfb] = 1;\n /* setup stereo demasking thresholds */ /* formula reverse enginerred from plot in paper */ arg = freq2bark(sfreq * scalepos[sfb] * deltafreq);\n arg = Math.min(arg, 15.5) / 15.5;\n mld[sfb] = Math.pow(10.0, 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n /* compute bark values of each critical band */ j = 0;\n for(var k = 0; k < ni; k++){\n var w = numlines[k];\n var bark1, bark2;\n bark1 = freq2bark(sfreq * j);\n bark2 = freq2bark(sfreq * (j + w - 1));\n bval[k] = .5 * (bark1 + bark2);\n bark1 = freq2bark(sfreq * (j - .5));\n bark2 = freq2bark(sfreq * (j + w - .5));\n bval_width[k] = bark2 - bark1;\n j += w;\n }\n return ni;\n }\n function init_s3_values(s3ind, npart, bval, bval_width, norm, use_old_s3) {\n var s3 = $97f850779472263e$var$new_float_n([\n $cPNKB.CBANDS,\n $cPNKB.CBANDS\n ]);\n /*\n * The s3 array is not linear in the bark scale.\n *\n * bval[x] should be used to get the bark value.\n */ var j;\n var numberOfNoneZero = 0;\n /**\n * <PRE>\n * s[i][j], the value of the spreading function,\n * centered at band j (masker), for band i (maskee)\n *\n * i.e.: sum over j to spread into signal barkval=i\n * NOTE: i and j are used opposite as in the ISO docs\n * </PRE>\n */ if (use_old_s3) {\n for(var i = 0; i < npart; i++)for(j = 0; j < npart; j++){\n var v = s3_func(bval[i] - bval[j]) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n } else for(j = 0; j < npart; j++){\n var hf_slope = 15 + Math.min(21 / bval[j], 12);\n var s3_x_norm = norm_s3_func_x(hf_slope);\n for(var i = 0; i < npart; i++){\n var v = s3_x_norm * s3_func_x(bval[i] - bval[j], hf_slope) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n for(var i = 0; i < npart; i++){\n for(j = 0; j < npart; j++){\n if (s3[i][j] > 0.0) break;\n }\n s3ind[i][0] = j;\n for(j = npart - 1; j > 0; j--){\n if (s3[i][j] > 0.0) break;\n }\n s3ind[i][1] = j;\n numberOfNoneZero += s3ind[i][1] - s3ind[i][0] + 1;\n }\n var p = $97f850779472263e$var$new_float(numberOfNoneZero);\n var k = 0;\n for(var i = 0; i < npart; i++)for(j = s3ind[i][0]; j <= s3ind[i][1]; j++)p[k++] = s3[i][j];\n return p;\n }\n function stereo_demask(f) {\n /* setup stereo demasking thresholds */ /* formula reverse enginerred from plot in paper */ var arg = freq2bark(f);\n arg = Math.min(arg, 15.5) / 15.5;\n return Math.pow(10.0, 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n /**\n * NOTE: the bitrate reduction from the inter-channel masking effect is low\n * compared to the chance of getting annyoing artefacts. L3psycho_anal_vbr\n * does not use this feature. (Robert 071216)\n */ this.psymodel_init = function(gfp) {\n var gfc = gfp.internal_flags;\n var i;\n var useOldS3 = true;\n var bvl_a = 13, bvl_b = 24;\n var snr_l_a = 0, snr_l_b = 0;\n var snr_s_a = -8.25, snr_s_b = -4.5;\n var bval = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var bval_width = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var norm = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var sfreq = gfp.out_samplerate;\n switch(gfp.experimentalZ){\n default:\n case 0:\n useOldS3 = true;\n break;\n case 1:\n useOldS3 = gfp.VBR == $97f850779472263e$var$VbrMode.vbr_mtrh || gfp.VBR == $97f850779472263e$var$VbrMode.vbr_mt ? false : true;\n break;\n case 2:\n useOldS3 = false;\n break;\n case 3:\n bvl_a = 8;\n snr_l_a = -1.75;\n snr_l_b = -0.0125;\n snr_s_a = -8.25;\n snr_s_b = -2.25;\n break;\n }\n gfc.ms_ener_ratio_old = .25;\n gfc.blocktype_old[0] = gfc.blocktype_old[1] = $cPNKB.NORM_TYPE;\n // the vbr header is long blocks\n for(i = 0; i < 4; ++i){\n for(var j = 0; j < $cPNKB.CBANDS; ++j){\n gfc.nb_1[i][j] = 1e20;\n gfc.nb_2[i][j] = 1e20;\n gfc.nb_s1[i][j] = gfc.nb_s2[i][j] = 1.0;\n }\n for(var sb = 0; sb < $cPNKB.SBMAX_l; sb++){\n gfc.en[i].l[sb] = 1e20;\n gfc.thm[i].l[sb] = 1e20;\n }\n for(var j = 0; j < 3; ++j){\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++){\n gfc.en[i].s[sb][j] = 1e20;\n gfc.thm[i].s[sb][j] = 1e20;\n }\n gfc.nsPsy.lastAttacks[i] = 0;\n }\n for(var j = 0; j < 9; j++)gfc.nsPsy.last_en_subshort[i][j] = 10.;\n }\n /* init. for loudness approx. -jd 2001 mar 27 */ gfc.loudness_sq_save[0] = gfc.loudness_sq_save[1] = 0.0;\n /*************************************************************************\n * now compute the psychoacoustic model specific constants\n ************************************************************************/ /* compute numlines, bo, bm, bval, bval_width, mld */ gfc.npart_l = init_numline(gfc.numlines_l, gfc.bo_l, gfc.bm_l, bval, bval_width, gfc.mld_l, gfc.PSY.bo_l_weight, sfreq, $cPNKB.BLKSIZE, gfc.scalefac_band.l, $cPNKB.BLKSIZE / 1152, $cPNKB.SBMAX_l);\n $97f850779472263e$var$assert(gfc.npart_l < $cPNKB.CBANDS);\n /* compute the spreading function */ for(i = 0; i < gfc.npart_l; i++){\n var snr = snr_l_a;\n if (bval[i] >= bvl_a) snr = snr_l_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_l_a * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n norm[i] = Math.pow(10.0, snr / 10.0);\n if (gfc.numlines_l[i] > 0) gfc.rnumlines_l[i] = 1.0 / gfc.numlines_l[i];\n else gfc.rnumlines_l[i] = 0;\n }\n gfc.s3_ll = init_s3_values(gfc.s3ind, gfc.npart_l, bval, bval_width, norm, useOldS3);\n /* compute long block specific values, ATH and MINVAL */ var j = 0;\n for(i = 0; i < gfc.npart_l; i++){\n var x;\n /* ATH */ x = $97f850779472263e$var$Float.MAX_VALUE;\n for(var k = 0; k < gfc.numlines_l[i]; k++, j++){\n var freq = sfreq * j / (1000.0 * $cPNKB.BLKSIZE);\n var level;\n /*\n * ATH below 100 Hz constant, not further climbing\n */ level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_l[i];\n if (x > level) x = level;\n }\n gfc.ATH.cb_l[i] = x;\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */ /*\n * FIXME: it does work to reduce low-freq problems in S53-Wind-Sax\n * and lead-voice samples, but introduces some 3 kbps bit bloat too.\n * TODO: Further refinement of the shape of this hack.\n */ x = -20 + bval[i] * 20 / 10;\n if (x > 6) x = 100;\n if (x < -15) x = -15;\n x -= 8.;\n gfc.minval_l[i] = Math.pow(10.0, x / 10.) * gfc.numlines_l[i];\n }\n /************************************************************************\n * do the same things for short blocks\n ************************************************************************/ gfc.npart_s = init_numline(gfc.numlines_s, gfc.bo_s, gfc.bm_s, bval, bval_width, gfc.mld_s, gfc.PSY.bo_s_weight, sfreq, $cPNKB.BLKSIZE_s, gfc.scalefac_band.s, $cPNKB.BLKSIZE_s / 384, $cPNKB.SBMAX_s);\n $97f850779472263e$var$assert(gfc.npart_s < $cPNKB.CBANDS);\n /* SNR formula. short block is normalized by SNR. is it still right ? */ j = 0;\n for(i = 0; i < gfc.npart_s; i++){\n var x;\n var snr = snr_s_a;\n if (bval[i] >= bvl_a) snr = snr_s_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_s_a * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n norm[i] = Math.pow(10.0, snr / 10.0);\n /* ATH */ x = $97f850779472263e$var$Float.MAX_VALUE;\n for(var k = 0; k < gfc.numlines_s[i]; k++, j++){\n var freq = sfreq * j / (1000.0 * $cPNKB.BLKSIZE_s);\n var level;\n /* freq = Min(.1,freq); */ /*\n * ATH below 100 Hz constant, not\n * further climbing\n */ level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_s[i];\n if (x > level) x = level;\n }\n gfc.ATH.cb_s[i] = x;\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */ x = -7 + bval[i] * 7.0 / 12.0;\n if (bval[i] > 12) x *= 1 + Math.log(1 + x) * 3.1;\n if (bval[i] < 12) x *= 1 + Math.log(1 - x) * 2.3;\n if (x < -15) x = -15;\n x -= 8;\n gfc.minval_s[i] = Math.pow(10.0, x / 10) * gfc.numlines_s[i];\n }\n gfc.s3_ss = init_s3_values(gfc.s3ind_s, gfc.npart_s, bval, bval_width, norm, useOldS3);\n init_mask_add_max_values();\n fft.init_fft(gfc);\n /* setup temporal masking */ gfc.decay = Math.exp(-1 * LOG10 / (temporalmask_sustain_sec * sfreq / 192.0));\n var msfix;\n msfix = NS_MSFIX;\n if ((gfp.exp_nspsytune & 2) != 0) msfix = 1.0;\n if (Math.abs(gfp.msfix) > 0.0) msfix = gfp.msfix;\n gfp.msfix = msfix;\n /*\n * spread only from npart_l bands. Normally, we use the spreading\n * function to convolve from npart_l down to npart_l bands\n */ for(var b = 0; b < gfc.npart_l; b++)if (gfc.s3ind[b][1] > gfc.npart_l - 1) gfc.s3ind[b][1] = gfc.npart_l - 1;\n /*\n * prepare for ATH auto adjustment: we want to decrease the ATH by 12 dB\n * per second\n */ var frame_duration = 576. * gfc.mode_gr / sfreq;\n gfc.ATH.decay = Math.pow(10., -1.2 * frame_duration);\n gfc.ATH.adjust = 0.01;\n /* minimum, for leading low loudness */ gfc.ATH.adjustLimit = 1.0;\n /* on lead, allow adjust up to maximum */ $97f850779472263e$var$assert(gfc.bo_l[$cPNKB.SBMAX_l - 1] <= gfc.npart_l);\n $97f850779472263e$var$assert(gfc.bo_s[$cPNKB.SBMAX_s - 1] <= gfc.npart_s);\n if (gfp.ATHtype != -1) {\n /* compute equal loudness weights (eql_w) */ var freq;\n var freq_inc = gfp.out_samplerate / $cPNKB.BLKSIZE;\n var eql_balance = 0.0;\n freq = 0.0;\n for(i = 0; i < $cPNKB.BLKSIZE / 2; ++i){\n /* convert ATH dB to relative power (not dB) */ /* to determine eql_w */ freq += freq_inc;\n gfc.ATH.eql_w[i] = 1. / Math.pow(10, this.ATHformula(freq, gfp) / 10);\n eql_balance += gfc.ATH.eql_w[i];\n }\n eql_balance = 1.0 / eql_balance;\n for(i = $cPNKB.BLKSIZE / 2; --i >= 0;)gfc.ATH.eql_w[i] *= eql_balance;\n }\n for(var b = j = 0; b < gfc.npart_s; ++b)for(i = 0; i < gfc.numlines_s[b]; ++i)++j;\n $97f850779472263e$var$assert(j == 129);\n for(var b = j = 0; b < gfc.npart_l; ++b)for(i = 0; i < gfc.numlines_l[b]; ++i)++j;\n $97f850779472263e$var$assert(j == 513);\n j = 0;\n for(i = 0; i < gfc.npart_l; i++){\n var freq = sfreq * (j + gfc.numlines_l[i] / 2) / (1.0 * $cPNKB.BLKSIZE);\n gfc.mld_cb_l[i] = stereo_demask(freq);\n j += gfc.numlines_l[i];\n }\n for(; i < $cPNKB.CBANDS; ++i)gfc.mld_cb_l[i] = 1;\n j = 0;\n for(i = 0; i < gfc.npart_s; i++){\n var freq = sfreq * (j + gfc.numlines_s[i] / 2) / (1.0 * $cPNKB.BLKSIZE_s);\n gfc.mld_cb_s[i] = stereo_demask(freq);\n j += gfc.numlines_s[i];\n }\n for(; i < $cPNKB.CBANDS; ++i)gfc.mld_cb_s[i] = 1;\n return 0;\n };\n /**\n * Those ATH formulas are returning their minimum value for input = -1\n */ function ATHformula_GB(f, value) {\n /**\n * <PRE>\n * from Painter & Spanias\n * modified by Gabriel Bouvigne to better fit the reality\n * ath = 3.640 * pow(f,-0.8)\n * - 6.800 * exp(-0.6*pow(f-3.4,2.0))\n * + 6.000 * exp(-0.15*pow(f-8.7,2.0))\n * + 0.6* 0.001 * pow(f,4.0);\n *\n *\n * In the past LAME was using the Painter &Spanias formula.\n * But we had some recurrent problems with HF content.\n * We measured real ATH values, and found the older formula\n * to be inaccurate in the higher part. So we made this new\n * formula and this solved most of HF problematic test cases.\n * The tradeoff is that in VBR mode it increases a lot the\n * bitrate.\n * </PRE>\n */ /*\n * This curve can be adjusted according to the VBR scale: it adjusts\n * from something close to Painter & Spanias on V9 up to Bouvigne's\n * formula for V0. This way the VBR bitrate is more balanced according\n * to the -V value.\n */ // the following Hack allows to ask for the lowest value\n if (f < -0.3) f = 3410;\n // convert to khz\n f /= 1000;\n f = Math.max(0.1, f);\n var ath = 3.640 * Math.pow(f, -0.8) - 6.800 * Math.exp(-0.6 * Math.pow(f - 3.4, 2.0)) + 6.000 * Math.exp(-0.15 * Math.pow(f - 8.7, 2.0)) + (0.6 + 0.04 * value) * 0.001 * Math.pow(f, 4.0);\n return ath;\n }\n this.ATHformula = function(f, gfp) {\n var ath;\n switch(gfp.ATHtype){\n case 0:\n ath = ATHformula_GB(f, 9);\n break;\n case 1:\n // over sensitive, should probably be removed\n ath = ATHformula_GB(f, -1);\n break;\n case 2:\n ath = ATHformula_GB(f, 0);\n break;\n case 3:\n // modification of GB formula by Roel\n ath = ATHformula_GB(f, 1) + 6;\n break;\n case 4:\n ath = ATHformula_GB(f, gfp.ATHcurve);\n break;\n default:\n ath = ATHformula_GB(f, 0);\n break;\n }\n return ath;\n };\n}\nmodule.exports = $97f850779472263e$var$PsyModel;\n\n});\nparcelRequire.register(\"2g11P\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $1a4ddf9b01454eb6$var$System = $3YDN3.System;\nvar $1a4ddf9b01454eb6$var$VbrMode = $3YDN3.VbrMode;\nvar $1a4ddf9b01454eb6$var$Float = $3YDN3.Float;\nvar $1a4ddf9b01454eb6$var$ShortBlock = $3YDN3.ShortBlock;\nvar $1a4ddf9b01454eb6$var$Util = $3YDN3.Util;\nvar $1a4ddf9b01454eb6$var$Arrays = $3YDN3.Arrays;\nvar $1a4ddf9b01454eb6$var$new_array_n = $3YDN3.new_array_n;\nvar $1a4ddf9b01454eb6$var$new_byte = $3YDN3.new_byte;\nvar $1a4ddf9b01454eb6$var$new_double = $3YDN3.new_double;\nvar $1a4ddf9b01454eb6$var$new_float = $3YDN3.new_float;\nvar $1a4ddf9b01454eb6$var$new_float_n = $3YDN3.new_float_n;\nvar $1a4ddf9b01454eb6$var$new_int = $3YDN3.new_int;\nvar $1a4ddf9b01454eb6$var$new_int_n = $3YDN3.new_int_n;\nvar $1a4ddf9b01454eb6$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\nfunction $1a4ddf9b01454eb6$var$FFT() {\n var window = $1a4ddf9b01454eb6$var$new_float($cPNKB.BLKSIZE);\n var window_s = $1a4ddf9b01454eb6$var$new_float($cPNKB.BLKSIZE_s / 2);\n var costab = [\n 9.238795325112867e-01,\n 3.826834323650898e-01,\n 9.951847266721969e-01,\n 9.801714032956060e-02,\n 9.996988186962042e-01,\n 2.454122852291229e-02,\n 9.999811752826011e-01,\n 6.135884649154475e-03\n ];\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */ var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = $1a4ddf9b01454eb6$var$Util.SQRT2 * fz[gi + k3];\n f2 = $1a4ddf9b01454eb6$var$Util.SQRT2 * fz[gi + k2];\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n }while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for(i = 1; i < kx; i++){\n var c2, s2;\n c2 = 1 - 2 * s1 * s1;\n s2 = 2 * s1 * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n }while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n }while (k4 < n);\n }\n var rv_tbl = [\n 0x00,\n 0x80,\n 0x40,\n 0xc0,\n 0x20,\n 0xa0,\n 0x60,\n 0xe0,\n 0x10,\n 0x90,\n 0x50,\n 0xd0,\n 0x30,\n 0xb0,\n 0x70,\n 0xf0,\n 0x08,\n 0x88,\n 0x48,\n 0xc8,\n 0x28,\n 0xa8,\n 0x68,\n 0xe8,\n 0x18,\n 0x98,\n 0x58,\n 0xd8,\n 0x38,\n 0xb8,\n 0x78,\n 0xf8,\n 0x04,\n 0x84,\n 0x44,\n 0xc4,\n 0x24,\n 0xa4,\n 0x64,\n 0xe4,\n 0x14,\n 0x94,\n 0x54,\n 0xd4,\n 0x34,\n 0xb4,\n 0x74,\n 0xf4,\n 0x0c,\n 0x8c,\n 0x4c,\n 0xcc,\n 0x2c,\n 0xac,\n 0x6c,\n 0xec,\n 0x1c,\n 0x9c,\n 0x5c,\n 0xdc,\n 0x3c,\n 0xbc,\n 0x7c,\n 0xfc,\n 0x02,\n 0x82,\n 0x42,\n 0xc2,\n 0x22,\n 0xa2,\n 0x62,\n 0xe2,\n 0x12,\n 0x92,\n 0x52,\n 0xd2,\n 0x32,\n 0xb2,\n 0x72,\n 0xf2,\n 0x0a,\n 0x8a,\n 0x4a,\n 0xca,\n 0x2a,\n 0xaa,\n 0x6a,\n 0xea,\n 0x1a,\n 0x9a,\n 0x5a,\n 0xda,\n 0x3a,\n 0xba,\n 0x7a,\n 0xfa,\n 0x06,\n 0x86,\n 0x46,\n 0xc6,\n 0x26,\n 0xa6,\n 0x66,\n 0xe6,\n 0x16,\n 0x96,\n 0x56,\n 0xd6,\n 0x36,\n 0xb6,\n 0x76,\n 0xf6,\n 0x0e,\n 0x8e,\n 0x4e,\n 0xce,\n 0x2e,\n 0xae,\n 0x6e,\n 0xee,\n 0x1e,\n 0x9e,\n 0x5e,\n 0xde,\n 0x3e,\n 0xbe,\n 0x7e,\n 0xfe\n ];\n this.fft_short = function(gfc, x_real, chn, buffer, bufPos) {\n for(var b = 0; b < 3; b++){\n var x = $cPNKB.BLKSIZE_s / 2;\n var k = 0xffff & 192 * (b + 1);\n var j = $cPNKB.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n x_real[b][x + $cPNKB.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + $cPNKB.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + $cPNKB.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + $cPNKB.BLKSIZE_s / 2 + 3] = f1 - f3;\n }while (--j >= 0);\n fht(x_real[b], x, $cPNKB.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */ /* BLKSIZE/2 because of 3DNow! ASM routine */ }\n };\n this.fft_long = function(gfc, y, chn, buffer, bufPos) {\n var jj = $cPNKB.BLKSIZE / 8 - 1;\n var x = $cPNKB.BLKSIZE / 2;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n y[x + $cPNKB.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + $cPNKB.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + $cPNKB.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + $cPNKB.BLKSIZE / 2 + 3] = f1 - f3;\n }while (--jj >= 0);\n fht(y, x, $cPNKB.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */ };\n this.init_fft = function(gfc) {\n /* The type of window used here will make no real difference, but */ /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */ for(var i = 0; i < $cPNKB.BLKSIZE; i++)/* blackman window */ window[i] = 0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5) / $cPNKB.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5) / $cPNKB.BLKSIZE);\n for(var i = 0; i < $cPNKB.BLKSIZE_s / 2; i++)window_s[i] = 0.5 * (1.0 - Math.cos(2.0 * Math.PI * (i + 0.5) / $cPNKB.BLKSIZE_s));\n };\n}\nmodule.exports = $1a4ddf9b01454eb6$var$FFT;\n\n});\nparcelRequire.register(\"cPNKB\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $9580d6e047027232$var$System = $3YDN3.System;\nvar $9580d6e047027232$var$VbrMode = $3YDN3.VbrMode;\nvar $9580d6e047027232$var$Float = $3YDN3.Float;\nvar $9580d6e047027232$var$ShortBlock = $3YDN3.ShortBlock;\nvar $9580d6e047027232$var$Util = $3YDN3.Util;\nvar $9580d6e047027232$var$Arrays = $3YDN3.Arrays;\nvar $9580d6e047027232$var$new_array_n = $3YDN3.new_array_n;\nvar $9580d6e047027232$var$new_byte = $3YDN3.new_byte;\nvar $9580d6e047027232$var$new_double = $3YDN3.new_double;\nvar $9580d6e047027232$var$new_float = $3YDN3.new_float;\nvar $9580d6e047027232$var$new_float_n = $3YDN3.new_float_n;\nvar $9580d6e047027232$var$new_int = $3YDN3.new_int;\nvar $9580d6e047027232$var$new_int_n = $3YDN3.new_int_n;\nvar $9580d6e047027232$var$assert = $3YDN3.assert;\n/**\n * ENCDELAY The encoder delay.\n *\n * Minimum allowed is MDCTDELAY (see below)\n *\n * The first 96 samples will be attenuated, so using a value less than 96\n * will result in corrupt data for the first 96-ENCDELAY samples.\n *\n * suggested: 576 set to 1160 to sync with FhG.\n */ $9580d6e047027232$var$Encoder.ENCDELAY = 576;\n/**\n * make sure there is at least one complete frame after the last frame\n * containing real data\n *\n * Using a value of 288 would be sufficient for a a very sophisticated\n * decoder that can decode granule-by-granule instead of frame by frame. But\n * lets not assume this, and assume the decoder will not decode frame N\n * unless it also has data for frame N+1\n */ $9580d6e047027232$var$Encoder.POSTDELAY = 1152;\n/**\n * delay of the MDCT used in mdct.c original ISO routines had a delay of\n * 528! Takehiro's routines:\n */ $9580d6e047027232$var$Encoder.MDCTDELAY = 48;\n$9580d6e047027232$var$Encoder.FFTOFFSET = 224 + $9580d6e047027232$var$Encoder.MDCTDELAY;\n/**\n * Most decoders, including the one we use, have a delay of 528 samples.\n */ $9580d6e047027232$var$Encoder.DECDELAY = 528;\n/**\n * number of subbands\n */ $9580d6e047027232$var$Encoder.SBLIMIT = 32;\n/**\n * parition bands bands\n */ $9580d6e047027232$var$Encoder.CBANDS = 64;\n/**\n * number of critical bands/scale factor bands where masking is computed\n */ $9580d6e047027232$var$Encoder.SBPSY_l = 21;\n$9580d6e047027232$var$Encoder.SBPSY_s = 12;\n/**\n * total number of scalefactor bands encoded\n */ $9580d6e047027232$var$Encoder.SBMAX_l = 22;\n$9580d6e047027232$var$Encoder.SBMAX_s = 13;\n$9580d6e047027232$var$Encoder.PSFB21 = 6;\n$9580d6e047027232$var$Encoder.PSFB12 = 6;\n/**\n * FFT sizes\n */ $9580d6e047027232$var$Encoder.BLKSIZE = 1024;\n$9580d6e047027232$var$Encoder.HBLKSIZE = $9580d6e047027232$var$Encoder.BLKSIZE / 2 + 1;\n$9580d6e047027232$var$Encoder.BLKSIZE_s = 256;\n$9580d6e047027232$var$Encoder.HBLKSIZE_s = $9580d6e047027232$var$Encoder.BLKSIZE_s / 2 + 1;\n$9580d6e047027232$var$Encoder.NORM_TYPE = 0;\n$9580d6e047027232$var$Encoder.START_TYPE = 1;\n$9580d6e047027232$var$Encoder.SHORT_TYPE = 2;\n$9580d6e047027232$var$Encoder.STOP_TYPE = 3;\n/**\n * <PRE>\n * Mode Extention:\n * When we are in stereo mode, there are 4 possible methods to store these\n * two channels. The stereo modes -m? are using a subset of them.\n *\n * -ms: MPG_MD_LR_LR\n * -mj: MPG_MD_LR_LR and MPG_MD_MS_LR\n * -mf: MPG_MD_MS_LR\n * -mi: all\n * </PRE>\n */ $9580d6e047027232$var$Encoder.MPG_MD_LR_LR = 0;\n$9580d6e047027232$var$Encoder.MPG_MD_LR_I = 1;\n$9580d6e047027232$var$Encoder.MPG_MD_MS_LR = 2;\n$9580d6e047027232$var$Encoder.MPG_MD_MS_I = 3;\n$9580d6e047027232$var$Encoder.fircoef = [\n -0.1039435,\n -0.1892065,\n -0.0432472 * 5,\n -0.155915,\n 7.79609e-18 * 5,\n 0.0467745 * 5,\n 0.50455,\n 0.756825,\n 0.187098 * 5\n];\n\n\n\nfunction $9580d6e047027232$var$Encoder() {\n var NewMDCT = (parcelRequire(\"drj3v\"));\n var III_psy_ratio = (parcelRequire(\"hvy40\"));\n var MPEGMode = (parcelRequire(\"jL6I1\"));\n var FFTOFFSET = $9580d6e047027232$var$Encoder.FFTOFFSET;\n var MPG_MD_MS_LR = $9580d6e047027232$var$Encoder.MPG_MD_MS_LR;\n //BitStream bs;\n //PsyModel psy;\n //VBRTag vbr;\n //QuantizePVT qupvt;\n var bs = null;\n this.psy = null;\n var psy = null;\n var vbr = null;\n var qupvt = null;\n //public final void setModules(BitStream bs, PsyModel psy, QuantizePVT qupvt,\n // VBRTag vbr) {\n this.setModules = function(_bs, _psy, _qupvt, _vbr) {\n bs = _bs;\n this.psy = _psy;\n psy = _psy;\n vbr = _vbr;\n qupvt = _qupvt;\n };\n var newMDCT = new NewMDCT();\n /***********************************************************************\n *\n * encoder and decoder delays\n *\n ***********************************************************************/ /**\n * <PRE>\n * layer III enc->dec delay: 1056 (1057?) (observed)\n * layer II enc->dec delay: 480 (481?) (observed)\n *\n * polyphase 256-16 (dec or enc) = 240\n * mdct 256+32 (9*32) (dec or enc) = 288\n * total: 512+16\n *\n * My guess is that delay of polyphase filterbank is actualy 240.5\n * (there are technical reasons for this, see postings in mp3encoder).\n * So total Encode+Decode delay = ENCDELAY + 528 + 1\n * </PRE>\n */ /**\n * auto-adjust of ATH, useful for low volume Gabriel Bouvigne 3 feb 2001\n *\n * modifies some values in gfp.internal_flags.ATH (gfc.ATH)\n */ //private void adjust_ATH(final LameInternalFlags gfc) {\n function adjust_ATH(gfc) {\n var gr2_max, max_pow;\n if (gfc.ATH.useAdjust == 0) {\n gfc.ATH.adjust = 1.0;\n /* no adjustment */ return;\n }\n /* jd - 2001 mar 12, 27, jun 30 */ /* loudness based on equal loudness curve; */ /* use granule with maximum combined loudness */ max_pow = gfc.loudness_sq[0][0];\n gr2_max = gfc.loudness_sq[1][0];\n if (gfc.channels_out == 2) {\n max_pow += gfc.loudness_sq[0][1];\n gr2_max += gfc.loudness_sq[1][1];\n } else {\n max_pow += max_pow;\n gr2_max += gr2_max;\n }\n if (gfc.mode_gr == 2) max_pow = Math.max(max_pow, gr2_max);\n max_pow *= 0.5;\n /* max_pow approaches 1.0 for full band noise */ /* jd - 2001 mar 31, jun 30 */ /* user tuning of ATH adjustment region */ max_pow *= gfc.ATH.aaSensitivityP;\n /*\n * adjust ATH depending on range of maximum value\n */ /* jd - 2001 feb27, mar12,20, jun30, jul22 */ /* continuous curves based on approximation */ /* to GB's original values. */ /* For an increase in approximate loudness, */ /* set ATH adjust to adjust_limit immediately */ /* after a delay of one frame. */ /* For a loudness decrease, reduce ATH adjust */ /* towards adjust_limit gradually. */ /* max_pow is a loudness squared or a power. */ if (max_pow > 0.03125) {\n if (gfc.ATH.adjust >= 1.0) gfc.ATH.adjust = 1.0;\n else /* preceding frame has lower ATH adjust; */ /* ascend only to the preceding adjust_limit */ /* in case there is leading low volume */ if (gfc.ATH.adjust < gfc.ATH.adjustLimit) gfc.ATH.adjust = gfc.ATH.adjustLimit;\n gfc.ATH.adjustLimit = 1.0;\n } else {\n /* about 32 dB maximum adjust (0.000625) */ var adj_lim_new = 31.98 * max_pow + 0.000625;\n if (gfc.ATH.adjust >= adj_lim_new) {\n gfc.ATH.adjust *= adj_lim_new * 0.075 + 0.925;\n if (gfc.ATH.adjust < adj_lim_new) gfc.ATH.adjust = adj_lim_new;\n } else {\n if (gfc.ATH.adjustLimit >= adj_lim_new) gfc.ATH.adjust = adj_lim_new;\n else /* preceding frame has lower ATH adjust; */ /* ascend only to the preceding adjust_limit */ if (gfc.ATH.adjust < gfc.ATH.adjustLimit) gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n gfc.ATH.adjustLimit = adj_lim_new;\n }\n }\n /**\n * <PRE>\n * some simple statistics\n *\n * bitrate index 0: free bitrate . not allowed in VBR mode\n * : bitrates, kbps depending on MPEG version\n * bitrate index 15: forbidden\n *\n * mode_ext:\n * 0: LR\n * 1: LR-i\n * 2: MS\n * 3: MS-i\n * </PRE>\n */ function updateStats(gfc) {\n var gr, ch;\n $9580d6e047027232$var$assert(0 <= gfc.bitrate_index && gfc.bitrate_index < 16);\n $9580d6e047027232$var$assert(0 <= gfc.mode_ext && gfc.mode_ext < 4);\n /* count bitrate indices */ gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][4]++;\n gfc.bitrate_stereoMode_Hist[15][4]++;\n /* count 'em for every mode extension in case of 2 channel encoding */ if (gfc.channels_out == 2) {\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][gfc.mode_ext]++;\n gfc.bitrate_stereoMode_Hist[15][gfc.mode_ext]++;\n }\n for(gr = 0; gr < gfc.mode_gr; ++gr)for(ch = 0; ch < gfc.channels_out; ++ch){\n var bt = gfc.l3_side.tt[gr][ch].block_type | 0;\n if (gfc.l3_side.tt[gr][ch].mixed_block_flag != 0) bt = 4;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][bt]++;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][5]++;\n gfc.bitrate_blockType_Hist[15][bt]++;\n gfc.bitrate_blockType_Hist[15][5]++;\n }\n }\n function lame_encode_frame_init(gfp, inbuf) {\n var gfc = gfp.internal_flags;\n var ch, gr;\n if (gfc.lame_encode_frame_init == 0) {\n /* prime the MDCT/polyphase filterbank with a short block */ var i, j;\n var primebuff0 = $9580d6e047027232$var$new_float(2014);\n var primebuff1 = $9580d6e047027232$var$new_float(2014);\n gfc.lame_encode_frame_init = 1;\n for(i = 0, j = 0; i < 286 + 576 * (1 + gfc.mode_gr); ++i)if (i < 576 * gfc.mode_gr) {\n primebuff0[i] = 0;\n if (gfc.channels_out == 2) primebuff1[i] = 0;\n } else {\n primebuff0[i] = inbuf[0][j];\n if (gfc.channels_out == 2) primebuff1[i] = inbuf[1][j];\n ++j;\n }\n /* polyphase filtering / mdct */ for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++)gfc.l3_side.tt[gr][ch].block_type = $9580d6e047027232$var$Encoder.SHORT_TYPE;\n newMDCT.mdct_sub48(gfc, primebuff0, primebuff1);\n /* check FFT will not use a negative starting offset */ $9580d6e047027232$var$assert(576 >= $9580d6e047027232$var$Encoder.FFTOFFSET);\n /* check if we have enough data for FFT */ $9580d6e047027232$var$assert(gfc.mf_size >= $9580d6e047027232$var$Encoder.BLKSIZE + gfp.framesize - $9580d6e047027232$var$Encoder.FFTOFFSET);\n /* check if we have enough data for polyphase filterbank */ $9580d6e047027232$var$assert(gfc.mf_size >= 512 + gfp.framesize - 32);\n }\n }\n /**\n * <PRE>\n * encodeframe() Layer 3\n *\n * encode a single frame\n *\n *\n * lame_encode_frame()\n *\n *\n * gr 0 gr 1\n * inbuf: |--------------|--------------|--------------|\n *\n *\n * Polyphase (18 windows, each shifted 32)\n * gr 0:\n * window1 <----512---.\n * window18 <----512---.\n *\n * gr 1:\n * window1 <----512---.\n * window18 <----512---.\n *\n *\n *\n * MDCT output: |--------------|--------------|--------------|\n *\n * FFT's <---------1024---------.\n * <---------1024-------.\n *\n *\n *\n * inbuf = buffer of PCM data size=MP3 framesize\n * encoder acts on inbuf[ch][0], but output is delayed by MDCTDELAY\n * so the MDCT coefficints are from inbuf[ch][-MDCTDELAY]\n *\n * psy-model FFT has a 1 granule delay, so we feed it data for the\n * next granule.\n * FFT is centered over granule: 224+576+224\n * So FFT starts at: 576-224-MDCTDELAY\n *\n * MPEG2: FFT ends at: BLKSIZE+576-224-MDCTDELAY (1328)\n * MPEG1: FFT ends at: BLKSIZE+2*576-224-MDCTDELAY (1904)\n *\n * MPEG2: polyphase first window: [0..511]\n * 18th window: [544..1055] (1056)\n * MPEG1: 36th window: [1120..1631] (1632)\n * data needed: 512+framesize-32\n *\n * A close look newmdct.c shows that the polyphase filterbank\n * only uses data from [0..510] for each window. Perhaps because the window\n * used by the filterbank is zero for the last point, so Takehiro's\n * code doesn't bother to compute with it.\n *\n * FFT starts at 576-224-MDCTDELAY (304) = 576-FFTOFFSET\n *\n * </PRE>\n */ this.lame_encode_mp3_frame = function(gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var mp3count;\n var masking_LR = $9580d6e047027232$var$new_array_n([\n 2,\n 2\n ]);\n /*\n * LR masking &\n * energy\n */ masking_LR[0][0] = new III_psy_ratio();\n masking_LR[0][1] = new III_psy_ratio();\n masking_LR[1][0] = new III_psy_ratio();\n masking_LR[1][1] = new III_psy_ratio();\n var masking_MS = $9580d6e047027232$var$new_array_n([\n 2,\n 2\n ]);\n /* MS masking & energy */ masking_MS[0][0] = new III_psy_ratio();\n masking_MS[0][1] = new III_psy_ratio();\n masking_MS[1][0] = new III_psy_ratio();\n masking_MS[1][1] = new III_psy_ratio();\n //III_psy_ratio masking[][];\n var masking;\n /* pointer to selected maskings */ var inbuf = [\n null,\n null\n ];\n var gfc = gfp.internal_flags;\n var tot_ener = $9580d6e047027232$var$new_float_n([\n 2,\n 4\n ]);\n var ms_ener_ratio = [\n .5,\n .5\n ];\n var pe = [\n [\n 0.,\n 0.\n ],\n [\n 0.,\n 0.\n ]\n ];\n var pe_MS = [\n [\n 0.,\n 0.\n ],\n [\n 0.,\n 0.\n ]\n ];\n //float[][] pe_use;\n var pe_use;\n var ch, gr;\n inbuf[0] = inbuf_l;\n inbuf[1] = inbuf_r;\n if (gfc.lame_encode_frame_init == 0) /* first run? */ lame_encode_frame_init(gfp, inbuf);\n /********************** padding *****************************/ /**\n * <PRE>\n * padding method as described in\n * \"MPEG-Layer3 / Bitstream Syntax and Decoding\"\n * by Martin Sieler, Ralph Sperschneider\n *\n * note: there is no padding for the very first frame\n *\n * Robert Hegemann 2000-06-22\n * </PRE>\n */ gfc.padding = 0;\n if ((gfc.slot_lag -= gfc.frac_SpF) < 0) {\n gfc.slot_lag += gfp.out_samplerate;\n gfc.padding = 1;\n }\n /****************************************\n * Stage 1: psychoacoustic model *\n ****************************************/ if (gfc.psymodel != 0) {\n /*\n * psychoacoustic model psy model has a 1 granule (576) delay that\n * we must compensate for (mt 6/99).\n */ var ret;\n var bufp = [\n null,\n null\n ];\n /* address of beginning of left & right granule */ var bufpPos = 0;\n /* address of beginning of left & right granule */ var blocktype = $9580d6e047027232$var$new_int(2);\n for(gr = 0; gr < gfc.mode_gr; gr++){\n for(ch = 0; ch < gfc.channels_out; ch++){\n bufp[ch] = inbuf[ch];\n bufpPos = 576 + gr * 576 - $9580d6e047027232$var$Encoder.FFTOFFSET;\n }\n if (gfp.VBR == $9580d6e047027232$var$VbrMode.vbr_mtrh || gfp.VBR == $9580d6e047027232$var$VbrMode.vbr_mt) ret = psy.L3psycho_anal_vbr(gfp, bufp, bufpPos, gr, masking_LR, masking_MS, pe[gr], pe_MS[gr], tot_ener[gr], blocktype);\n else ret = psy.L3psycho_anal_ns(gfp, bufp, bufpPos, gr, masking_LR, masking_MS, pe[gr], pe_MS[gr], tot_ener[gr], blocktype);\n if (ret != 0) return -4;\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n ms_ener_ratio[gr] = tot_ener[gr][2] + tot_ener[gr][3];\n if (ms_ener_ratio[gr] > 0) ms_ener_ratio[gr] = tot_ener[gr][3] / ms_ener_ratio[gr];\n }\n /* block type flags */ for(ch = 0; ch < gfc.channels_out; ch++){\n var cod_info = gfc.l3_side.tt[gr][ch];\n cod_info.block_type = blocktype[ch];\n cod_info.mixed_block_flag = 0;\n }\n }\n } else {\n /* no psy model */ for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n gfc.l3_side.tt[gr][ch].block_type = $9580d6e047027232$var$Encoder.NORM_TYPE;\n gfc.l3_side.tt[gr][ch].mixed_block_flag = 0;\n pe_MS[gr][ch] = pe[gr][ch] = 700;\n }\n }\n /* auto-adjust of ATH, useful for low volume */ adjust_ATH(gfc);\n /****************************************\n * Stage 2: MDCT *\n ****************************************/ /* polyphase filtering / mdct */ newMDCT.mdct_sub48(gfc, inbuf[0], inbuf[1]);\n /****************************************\n * Stage 3: MS/LR decision *\n ****************************************/ /* Here will be selected MS or LR coding of the 2 stereo channels */ gfc.mode_ext = $9580d6e047027232$var$Encoder.MPG_MD_LR_LR;\n if (gfp.force_ms) gfc.mode_ext = $9580d6e047027232$var$Encoder.MPG_MD_MS_LR;\n else if (gfp.mode == MPEGMode.JOINT_STEREO) {\n /*\n * ms_ratio = is scaled, for historical reasons, to look like a\n * ratio of side_channel / total. 0 = signal is 100% mono .5 = L & R\n * uncorrelated\n */ /**\n * <PRE>\n * [0] and [1] are the results for the two granules in MPEG-1,\n * in MPEG-2 it's only a faked averaging of the same value\n * _prev is the value of the last granule of the previous frame\n * _next is the value of the first granule of the next frame\n * </PRE>\n */ var sum_pe_MS = 0.;\n var sum_pe_LR = 0.;\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n sum_pe_MS += pe_MS[gr][ch];\n sum_pe_LR += pe[gr][ch];\n }\n /* based on PE: M/S coding would not use much more bits than L/R */ if (sum_pe_MS <= 1.00 * sum_pe_LR) {\n var gi0 = gfc.l3_side.tt[0];\n var gi1 = gfc.l3_side.tt[gfc.mode_gr - 1];\n if (gi0[0].block_type == gi0[1].block_type && gi1[0].block_type == gi1[1].block_type) gfc.mode_ext = $9580d6e047027232$var$Encoder.MPG_MD_MS_LR;\n }\n }\n /* bit and noise allocation */ if (gfc.mode_ext == MPG_MD_MS_LR) {\n masking = masking_MS;\n /* use MS masking */ pe_use = pe_MS;\n } else {\n masking = masking_LR;\n /* use LR masking */ pe_use = pe;\n }\n /* copy data for MP3 frame analyzer */ if (gfp.analysis && gfc.pinfo != null) {\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n gfc.pinfo.ms_ratio[gr] = gfc.ms_ratio[gr];\n gfc.pinfo.ms_ener_ratio[gr] = ms_ener_ratio[gr];\n gfc.pinfo.blocktype[gr][ch] = gfc.l3_side.tt[gr][ch].block_type;\n gfc.pinfo.pe[gr][ch] = pe_use[gr][ch];\n $9580d6e047027232$var$System.arraycopy(gfc.l3_side.tt[gr][ch].xr, 0, gfc.pinfo.xr[gr][ch], 0, 576);\n /*\n * in psymodel, LR and MS data was stored in pinfo. switch\n * to MS data:\n */ if (gfc.mode_ext == MPG_MD_MS_LR) {\n gfc.pinfo.ers[gr][ch] = gfc.pinfo.ers[gr][ch + 2];\n $9580d6e047027232$var$System.arraycopy(gfc.pinfo.energy[gr][ch + 2], 0, gfc.pinfo.energy[gr][ch], 0, gfc.pinfo.energy[gr][ch].length);\n }\n }\n }\n /****************************************\n * Stage 4: quantization loop *\n ****************************************/ if (gfp.VBR == $9580d6e047027232$var$VbrMode.vbr_off || gfp.VBR == $9580d6e047027232$var$VbrMode.vbr_abr) {\n var i;\n var f;\n for(i = 0; i < 18; i++)gfc.nsPsy.pefirbuf[i] = gfc.nsPsy.pefirbuf[i + 1];\n f = 0.0;\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++)f += pe_use[gr][ch];\n gfc.nsPsy.pefirbuf[18] = f;\n f = gfc.nsPsy.pefirbuf[9];\n for(i = 0; i < 9; i++)f += (gfc.nsPsy.pefirbuf[i] + gfc.nsPsy.pefirbuf[18 - i]) * $9580d6e047027232$var$Encoder.fircoef[i];\n f = 3350 * gfc.mode_gr * gfc.channels_out / f;\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++)pe_use[gr][ch] *= f;\n }\n gfc.iteration_loop.iteration_loop(gfp, pe_use, ms_ener_ratio, masking);\n /****************************************\n * Stage 5: bitstream formatting *\n ****************************************/ /* write the frame to the bitstream */ bs.format_bitstream(gfp);\n /* copy mp3 bit buffer into array */ mp3count = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 1);\n if (gfp.bWriteVbrTag) vbr.addVbrFrame(gfp);\n if (gfp.analysis && gfc.pinfo != null) {\n for(ch = 0; ch < gfc.channels_out; ch++){\n var j;\n for(j = 0; j < FFTOFFSET; j++)gfc.pinfo.pcmdata[ch][j] = gfc.pinfo.pcmdata[ch][j + gfp.framesize];\n for(j = FFTOFFSET; j < 1600; j++)gfc.pinfo.pcmdata[ch][j] = inbuf[ch][j - FFTOFFSET];\n }\n qupvt.set_frame_pinfo(gfp, masking);\n }\n updateStats(gfc);\n return mp3count;\n };\n}\nmodule.exports = $9580d6e047027232$var$Encoder;\n\n});\nparcelRequire.register(\"drj3v\", function(module, exports) {\n/*\n * MP3 window subband -> subband filtering -> mdct routine\n *\n * Copyright (c) 1999-2000 Takehiro Tominaga\n *\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Library General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /*\n * Special Thanks to Patrick De Smet for your advices.\n */ /* $Id: NewMDCT.java,v 1.11 2011/05/24 20:48:06 kenchis Exp $ */ //package mp3;\n//import java.util.Arrays;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $9c8c9409243421ca$var$System = $3YDN3.System;\nvar $9c8c9409243421ca$var$VbrMode = $3YDN3.VbrMode;\nvar $9c8c9409243421ca$var$Float = $3YDN3.Float;\nvar $9c8c9409243421ca$var$ShortBlock = $3YDN3.ShortBlock;\nvar $9c8c9409243421ca$var$Util = $3YDN3.Util;\nvar $9c8c9409243421ca$var$Arrays = $3YDN3.Arrays;\nvar $9c8c9409243421ca$var$new_array_n = $3YDN3.new_array_n;\nvar $9c8c9409243421ca$var$new_byte = $3YDN3.new_byte;\nvar $9c8c9409243421ca$var$new_double = $3YDN3.new_double;\nvar $9c8c9409243421ca$var$new_float = $3YDN3.new_float;\nvar $9c8c9409243421ca$var$new_float_n = $3YDN3.new_float_n;\nvar $9c8c9409243421ca$var$new_int = $3YDN3.new_int;\nvar $9c8c9409243421ca$var$new_int_n = $3YDN3.new_int_n;\nvar $9c8c9409243421ca$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\nfunction $9c8c9409243421ca$var$NewMDCT() {\n var enwindow = [\n -0.1482523854003001,\n 32.308141959636465,\n 296.40344946382766,\n 883.1344870032432,\n 11113.947376231741,\n 1057.2713659324597,\n 305.7402417275812,\n 30.825928907280012,\n /* 15 */ 3.8533188138216365,\n 59.42900443849514,\n 709.5899960123345,\n 5281.91112291017,\n -5829.66483675846,\n -817.6293103748613,\n -76.91656988279972,\n -4.594269939176596,\n 9.063471690191471e-01,\n 1.960342806591213e-01,\n -0.15466694054279598,\n 34.324387823855965,\n 301.8067566458425,\n 817.599602898885,\n 11573.795901679885,\n 1181.2520595540152,\n 321.59731579894424,\n 31.232021761053772,\n /* 14 */ 3.7107095756221318,\n 53.650946155329365,\n 684.167428119626,\n 5224.56624370173,\n -6366.391851890084,\n -908.9766368219582,\n -89.83068876699639,\n -5.411397422890401,\n 8.206787908286602e-01,\n 3.901806440322567e-01,\n -0.16070888947830023,\n 36.147034243915876,\n 304.11815768187864,\n 732.7429163887613,\n 11989.60988270091,\n 1300.012278487897,\n 335.28490093152146,\n 31.48816102859945,\n /* 13 */ 3.373875931311736,\n 47.232241542899175,\n 652.7371796173471,\n 5132.414255594984,\n -6909.087078780055,\n -1001.9990371107289,\n -103.62185754286375,\n -6.104916304710272,\n 7.416505462720353e-01,\n 5.805693545089249e-01,\n -0.16636367662261495,\n 37.751650073343995,\n 303.01103387567713,\n 627.9747488785183,\n 12358.763425278165,\n 1412.2779918482834,\n 346.7496836825721,\n 31.598286663170416,\n /* 12 */ 3.1598635433980946,\n 40.57878626349686,\n 616.1671130880391,\n 5007.833007176154,\n -7454.040671756168,\n -1095.7960341867115,\n -118.24411666465777,\n -6.818469345853504,\n 6.681786379192989e-01,\n 7.653668647301797e-01,\n -0.1716176790982088,\n 39.11551877123304,\n 298.3413246578966,\n 503.5259106886539,\n 12679.589408408976,\n 1516.5821921214542,\n 355.9850766329023,\n 31.395241710249053,\n /* 11 */ 2.9164211881972335,\n 33.79716964664243,\n 574.8943997801362,\n 4853.234992253242,\n -7997.57021486075,\n -1189.7624067269965,\n -133.6444792601766,\n -7.7202770609839915,\n 5.993769336819237e-01,\n 9.427934736519954e-01,\n -0.17645823955292173,\n 40.21879108166477,\n 289.9982036694474,\n 359.3226160751053,\n 12950.259102786438,\n 1612.1013903507662,\n 362.85067106591504,\n 31.045922092242872,\n /* 10 */ 2.822222032597987,\n 26.988862316190684,\n 529.8996541764288,\n 4671.371946949588,\n -8535.899136645805,\n -1282.5898586244496,\n -149.58553632943463,\n -8.643494270763135,\n 5.345111359507916e-01,\n 1.111140466039205e+00,\n -0.36174739330527045,\n 41.04429910497807,\n 277.5463268268618,\n 195.6386023135583,\n 13169.43812144731,\n 1697.6433561479398,\n 367.40983966190305,\n 30.557037410382826,\n /* 9 */ 2.531473372857427,\n 20.070154905927314,\n 481.50208566532336,\n 4464.970341588308,\n -9065.36882077239,\n -1373.62841526722,\n -166.1660487028118,\n -9.58289321133207,\n 4.729647758913199e-01,\n 1.268786568327291e+00,\n -0.36970682634889585,\n 41.393213350082036,\n 261.2935935556502,\n 12.935476055240873,\n 13336.131683328815,\n 1772.508612059496,\n 369.76534388639965,\n 29.751323653701338,\n 2.4023193045459172,\n 13.304795348228817,\n 430.5615775526625,\n 4237.0568611071185,\n -9581.931701634761,\n -1461.6913552409758,\n -183.12733958476446,\n -10.718010163869403,\n 4.1421356237309504879e-01,\n /* tan(PI/8) */ 1.414213562373095e+00,\n -0.37677560326535325,\n 41.619486213528496,\n 241.05423794991074,\n -187.94665032361226,\n 13450.063605744153,\n 1836.153896465782,\n 369.4908799925761,\n 29.001847876923147,\n /* 7 */ 2.0714759319987186,\n 6.779591200894186,\n 377.7767837205709,\n 3990.386575512536,\n -10081.709459700915,\n -1545.947424837898,\n -200.3762958015653,\n -11.864482073055006,\n 3.578057213145241e-01,\n 1.546020906725474e+00,\n -0.3829366947518991,\n 41.1516456456653,\n 216.47684307105183,\n -406.1569483347166,\n 13511.136535077321,\n 1887.8076599260432,\n 367.3025214564151,\n 28.136213436723654,\n /* 6 */ 1.913880671464418,\n 0.3829366947518991,\n 323.85365704338597,\n 3728.1472257487526,\n -10561.233882199509,\n -1625.2025997821418,\n -217.62525175416,\n -13.015432208941645,\n 3.033466836073424e-01,\n 1.662939224605090e+00,\n -0.5822628872992417,\n 40.35639251440489,\n 188.20071124269245,\n -640.2706748618148,\n 13519.21490106562,\n 1927.6022433578062,\n 362.8197642637487,\n 26.968821921868447,\n /* 5 */ 1.7463817695935329,\n -5.62650678237171,\n 269.3016715297017,\n 3453.386536448852,\n -11016.145278780888,\n -1698.6569643425091,\n -234.7658734267683,\n -14.16351421663124,\n 2.504869601913055e-01,\n 1.763842528696710e+00,\n -0.5887180101749253,\n 39.23429103868072,\n 155.76096234403798,\n -889.2492977967378,\n 13475.470561874661,\n 1955.0535223723712,\n 356.4450994756727,\n 25.894952980042156,\n /* 4 */ 1.5695032905781554,\n -11.181939564328772,\n 214.80884394039484,\n 3169.1640829158237,\n -11443.321309975563,\n -1765.1588461316153,\n -251.68908574481912,\n -15.49755935939164,\n 1.989123673796580e-01,\n 1.847759065022573e+00,\n -0.7912582233652842,\n 37.39369355329111,\n 119.699486012458,\n -1151.0956593239027,\n 13380.446257078214,\n 1970.3952110853447,\n 348.01959814116185,\n 24.731487364283044,\n /* 3 */ 1.3850130831637748,\n -16.421408865300393,\n 161.05030052864092,\n 2878.3322807850063,\n -11838.991423510031,\n -1823.985884688674,\n -268.2854986386903,\n -16.81724543849939,\n 1.483359875383474e-01,\n 1.913880671464418e+00,\n -0.7960642926861912,\n 35.2322109610459,\n 80.01928065061526,\n -1424.0212633405113,\n 13235.794061869668,\n 1973.804052543835,\n 337.9908651258184,\n 23.289159354463873,\n 1.3934255946442087,\n -21.099669467133474,\n 108.48348407242611,\n 2583.700758091299,\n -12199.726194855148,\n -1874.2780658979746,\n -284.2467154529415,\n -18.11369784385905,\n 9.849140335716425e-02,\n 1.961570560806461e+00,\n -0.998795456205172,\n 32.56307803611191,\n 36.958364584370486,\n -1706.075448829146,\n 13043.287458812016,\n 1965.3831106103316,\n 326.43182772364605,\n 22.175018750622293,\n 1.198638339011324,\n -25.371248002043963,\n 57.53505923036915,\n 2288.41886619975,\n -12522.674544337233,\n -1914.8400385312243,\n -299.26241273417224,\n -19.37805630698734,\n 4.912684976946725e-02,\n 1.990369453344394e+00,\n 3.5780907e-02 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 1.7876148e-02 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 3.134727e-03 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 2.457142e-03 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 9.71317e-04 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 2.18868e-04 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 1.01566e-04 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 1.3828e-05 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 12804.797818791945,\n 1945.5515939597317,\n 313.4244966442953,\n 20.801593959731544,\n 1995.1556208053692,\n 9.000838926174497,\n -29.20218120805369\n ];\n var NS = 12;\n var NL = 36;\n var win = [\n [\n 2.382191739347913e-13,\n 6.423305872147834e-13,\n 9.400849094049688e-13,\n 1.122435026096556e-12,\n 1.183840321267481e-12,\n 1.122435026096556e-12,\n 9.400849094049690e-13,\n 6.423305872147839e-13,\n 2.382191739347918e-13,\n 5.456116108943412e-12,\n 4.878985199565852e-12,\n 4.240448995017367e-12,\n 3.559909094758252e-12,\n 2.858043359288075e-12,\n 2.156177623817898e-12,\n 1.475637723558783e-12,\n 8.371015190102974e-13,\n 2.599706096327376e-13,\n -0.000000000005456116108943412,\n -0.000000000004878985199565852,\n -0.000000000004240448995017367,\n -0.000000000003559909094758252,\n -0.000000000002858043359288076,\n -0.000000000002156177623817898,\n -0.000000000001475637723558783,\n -0.0000000000008371015190102975,\n -0.0000000000002599706096327376,\n -0.0000000000002382191739347923,\n -0.0000000000006423305872147843,\n -0.0000000000009400849094049696,\n -0.000000000001122435026096556,\n -0.000000000001183840321267481,\n -0.000000000001122435026096556,\n -0.0000000000009400849094049694,\n -0.000000000000642330587214784,\n -0.0000000000002382191739347918\n ],\n [\n 2.382191739347913e-13,\n 6.423305872147834e-13,\n 9.400849094049688e-13,\n 1.122435026096556e-12,\n 1.183840321267481e-12,\n 1.122435026096556e-12,\n 9.400849094049688e-13,\n 6.423305872147841e-13,\n 2.382191739347918e-13,\n 5.456116108943413e-12,\n 4.878985199565852e-12,\n 4.240448995017367e-12,\n 3.559909094758253e-12,\n 2.858043359288075e-12,\n 2.156177623817898e-12,\n 1.475637723558782e-12,\n 8.371015190102975e-13,\n 2.599706096327376e-13,\n -0.000000000005461314069809755,\n -0.000000000004921085770524055,\n -0.000000000004343405037091838,\n -0.000000000003732668368707687,\n -0.000000000003093523840190885,\n -0.000000000002430835727329465,\n -0.000000000001734679010007751,\n -0.000000000000974825365660928,\n -0.0000000000002797435120168326,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n -0.0000000000002283748241799531,\n -0.0000000000004037858874020686,\n -0.0000000000002146547464825323\n ],\n [\n 1.316524975873958e-01,\n /* win[SHORT_TYPE] */ 4.142135623730950e-01,\n 7.673269879789602e-01,\n 1.091308501069271e+00,\n /* tantab_l */ 1.303225372841206e+00,\n 1.569685577117490e+00,\n 1.920982126971166e+00,\n 2.414213562373094e+00,\n 3.171594802363212e+00,\n 4.510708503662055e+00,\n 7.595754112725146e+00,\n 2.290376554843115e+01,\n 0.98480775301220802032,\n /* cx */ 0.64278760968653936292,\n 0.34202014332566882393,\n 0.93969262078590842791,\n -0.1736481776669303,\n -0.7660444431189779,\n 0.86602540378443870761,\n 0.500000000000000e+00,\n -0.5144957554275265,\n /* ca */ -0.4717319685649723,\n -0.3133774542039019,\n -0.1819131996109812,\n -0.09457419252642064,\n -0.04096558288530405,\n -0.01419856857247115,\n -0.003699974673760037,\n 8.574929257125442e-01,\n /* cs */ 8.817419973177052e-01,\n 9.496286491027329e-01,\n 9.833145924917901e-01,\n 9.955178160675857e-01,\n 9.991605581781475e-01,\n 9.998991952444470e-01,\n 9.999931550702802e-01\n ],\n [\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 2.283748241799531e-13,\n 4.037858874020686e-13,\n 2.146547464825323e-13,\n 5.461314069809755e-12,\n 4.921085770524055e-12,\n 4.343405037091838e-12,\n 3.732668368707687e-12,\n 3.093523840190885e-12,\n 2.430835727329466e-12,\n 1.734679010007751e-12,\n 9.748253656609281e-13,\n 2.797435120168326e-13,\n -0.000000000005456116108943413,\n -0.000000000004878985199565852,\n -0.000000000004240448995017367,\n -0.000000000003559909094758253,\n -0.000000000002858043359288075,\n -0.000000000002156177623817898,\n -0.000000000001475637723558782,\n -0.0000000000008371015190102975,\n -0.0000000000002599706096327376,\n -0.0000000000002382191739347913,\n -0.0000000000006423305872147834,\n -0.0000000000009400849094049688,\n -0.000000000001122435026096556,\n -0.000000000001183840321267481,\n -0.000000000001122435026096556,\n -0.0000000000009400849094049688,\n -0.0000000000006423305872147841,\n -0.0000000000002382191739347918\n ]\n ];\n var tantab_l = win[$cPNKB.SHORT_TYPE];\n var cx = win[$cPNKB.SHORT_TYPE];\n var ca = win[$cPNKB.SHORT_TYPE];\n var cs = win[$cPNKB.SHORT_TYPE];\n /**\n\t * new IDCT routine written by Takehiro TOMINAGA\n\t *\n\t * PURPOSE: Overlapping window on PCM samples<BR>\n\t *\n\t * SEMANTICS:<BR>\n\t * 32 16-bit pcm samples are scaled to fractional 2's complement and\n\t * concatenated to the end of the window buffer #x#. The updated window\n\t * buffer #x# is then windowed by the analysis window #c# to produce the\n\t * windowed sample #z#\n\t */ var order = [\n 0,\n 1,\n 16,\n 17,\n 8,\n 9,\n 24,\n 25,\n 4,\n 5,\n 20,\n 21,\n 12,\n 13,\n 28,\n 29,\n 2,\n 3,\n 18,\n 19,\n 10,\n 11,\n 26,\n 27,\n 6,\n 7,\n 22,\n 23,\n 14,\n 15,\n 30,\n 31\n ];\n /**\n\t * returns sum_j=0^31 a[j]*cos(PI*j*(k+1/2)/32), 0<=k<32\n\t */ function window_subband(x1, x1Pos, a) {\n var wp = 10;\n var x2 = x1Pos + 238 - 14 - 286;\n for(var i = -15; i < 0; i++){\n var w, s, t;\n w = enwindow[wp + -10];\n s = x1[x2 + -224] * w;\n t = x1[x1Pos + 224] * w;\n w = enwindow[wp + -9];\n s += x1[x2 + -160] * w;\n t += x1[x1Pos + 160] * w;\n w = enwindow[wp + -8];\n s += x1[x2 + -96] * w;\n t += x1[x1Pos + 96] * w;\n w = enwindow[wp + -7];\n s += x1[x2 + -32] * w;\n t += x1[x1Pos + 32] * w;\n w = enwindow[wp + -6];\n s += x1[x2 + 32] * w;\n t += x1[x1Pos + -32] * w;\n w = enwindow[wp + -5];\n s += x1[x2 + 96] * w;\n t += x1[x1Pos + -96] * w;\n w = enwindow[wp + -4];\n s += x1[x2 + 160] * w;\n t += x1[x1Pos + -160] * w;\n w = enwindow[wp + -3];\n s += x1[x2 + 224] * w;\n t += x1[x1Pos + -224] * w;\n w = enwindow[wp + -2];\n s += x1[x1Pos + -256] * w;\n t -= x1[x2 + 256] * w;\n w = enwindow[wp + -1];\n s += x1[x1Pos + -192] * w;\n t -= x1[x2 + 192] * w;\n w = enwindow[wp + 0];\n s += x1[x1Pos + -128] * w;\n t -= x1[x2 + 128] * w;\n w = enwindow[wp + 1];\n s += x1[x1Pos + -64] * w;\n t -= x1[x2 + 64] * w;\n w = enwindow[wp + 2];\n s += x1[x1Pos + 0] * w;\n t -= x1[x2 + 0] * w;\n w = enwindow[wp + 3];\n s += x1[x1Pos + 64] * w;\n t -= x1[x2 + -64] * w;\n w = enwindow[wp + 4];\n s += x1[x1Pos + 128] * w;\n t -= x1[x2 + -128] * w;\n w = enwindow[wp + 5];\n s += x1[x1Pos + 192] * w;\n t -= x1[x2 + -192] * w;\n /*\n\t\t\t * this multiplyer could be removed, but it needs more 256 FLOAT\n\t\t\t * data. thinking about the data cache performance, I think we\n\t\t\t * should not use such a huge table. tt 2000/Oct/25\n\t\t\t */ s *= enwindow[wp + 6];\n w = t - s;\n a[30 + i * 2] = t + s;\n a[31 + i * 2] = enwindow[wp + 7] * w;\n wp += 18;\n x1Pos--;\n x2++;\n }\n var s, t, u, v;\n t = x1[x1Pos + -16] * enwindow[wp + -10];\n s = x1[x1Pos + -32] * enwindow[wp + -2];\n t += (x1[x1Pos + -48] - x1[x1Pos + 16]) * enwindow[wp + -9];\n s += x1[x1Pos + -96] * enwindow[wp + -1];\n t += (x1[x1Pos + -80] + x1[x1Pos + 48]) * enwindow[wp + -8];\n s += x1[x1Pos + -160] * enwindow[wp + 0];\n t += (x1[x1Pos + -112] - x1[x1Pos + 80]) * enwindow[wp + -7];\n s += x1[x1Pos + -224] * enwindow[wp + 1];\n t += (x1[x1Pos + -144] + x1[x1Pos + 112]) * enwindow[wp + -6];\n s -= x1[x1Pos + 32] * enwindow[wp + 2];\n t += (x1[x1Pos + -176] - x1[x1Pos + 144]) * enwindow[wp + -5];\n s -= x1[x1Pos + 96] * enwindow[wp + 3];\n t += (x1[x1Pos + -208] + x1[x1Pos + 176]) * enwindow[wp + -4];\n s -= x1[x1Pos + 160] * enwindow[wp + 4];\n t += (x1[x1Pos + -240] - x1[x1Pos + 208]) * enwindow[wp + -3];\n s -= x1[x1Pos + 224];\n u = s - t;\n v = s + t;\n t = a[14];\n s = a[15] - t;\n a[31] = v + t; /* A0 */ \n a[30] = u + s; /* A1 */ \n a[15] = u - s; /* A2 */ \n a[14] = v - t; /* A3 */ \n var xr;\n xr = a[28] - a[0];\n a[0] += a[28];\n a[28] = xr * enwindow[wp + -36 + 7];\n xr = a[29] - a[1];\n a[1] += a[29];\n a[29] = xr * enwindow[wp + -36 + 7];\n xr = a[26] - a[2];\n a[2] += a[26];\n a[26] = xr * enwindow[wp + -72 + 7];\n xr = a[27] - a[3];\n a[3] += a[27];\n a[27] = xr * enwindow[wp + -72 + 7];\n xr = a[24] - a[4];\n a[4] += a[24];\n a[24] = xr * enwindow[wp + -108 + 7];\n xr = a[25] - a[5];\n a[5] += a[25];\n a[25] = xr * enwindow[wp + -108 + 7];\n xr = a[22] - a[6];\n a[6] += a[22];\n a[22] = xr * $9c8c9409243421ca$var$Util.SQRT2;\n xr = a[23] - a[7];\n a[7] += a[23];\n a[23] = xr * $9c8c9409243421ca$var$Util.SQRT2 - a[7];\n a[7] -= a[6];\n a[22] -= a[7];\n a[23] -= a[22];\n xr = a[6];\n a[6] = a[31] - xr;\n a[31] = a[31] + xr;\n xr = a[7];\n a[7] = a[30] - xr;\n a[30] = a[30] + xr;\n xr = a[22];\n a[22] = a[15] - xr;\n a[15] = a[15] + xr;\n xr = a[23];\n a[23] = a[14] - xr;\n a[14] = a[14] + xr;\n xr = a[20] - a[8];\n a[8] += a[20];\n a[20] = xr * enwindow[wp + -180 + 7];\n xr = a[21] - a[9];\n a[9] += a[21];\n a[21] = xr * enwindow[wp + -180 + 7];\n xr = a[18] - a[10];\n a[10] += a[18];\n a[18] = xr * enwindow[wp + -216 + 7];\n xr = a[19] - a[11];\n a[11] += a[19];\n a[19] = xr * enwindow[wp + -216 + 7];\n xr = a[16] - a[12];\n a[12] += a[16];\n a[16] = xr * enwindow[wp + -252 + 7];\n xr = a[17] - a[13];\n a[13] += a[17];\n a[17] = xr * enwindow[wp + -252 + 7];\n xr = -a[20] + a[24];\n a[20] += a[24];\n a[24] = xr * enwindow[wp + -216 + 7];\n xr = -a[21] + a[25];\n a[21] += a[25];\n a[25] = xr * enwindow[wp + -216 + 7];\n xr = a[4] - a[8];\n a[4] += a[8];\n a[8] = xr * enwindow[wp + -216 + 7];\n xr = a[5] - a[9];\n a[5] += a[9];\n a[9] = xr * enwindow[wp + -216 + 7];\n xr = a[0] - a[12];\n a[0] += a[12];\n a[12] = xr * enwindow[wp + -72 + 7];\n xr = a[1] - a[13];\n a[1] += a[13];\n a[13] = xr * enwindow[wp + -72 + 7];\n xr = a[16] - a[28];\n a[16] += a[28];\n a[28] = xr * enwindow[wp + -72 + 7];\n xr = -a[17] + a[29];\n a[17] += a[29];\n a[29] = xr * enwindow[wp + -72 + 7];\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[2] - a[10]);\n a[2] += a[10];\n a[10] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[3] - a[11]);\n a[3] += a[11];\n a[11] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (-a[18] + a[26]);\n a[18] += a[26];\n a[26] = xr - a[18];\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (-a[19] + a[27]);\n a[19] += a[27];\n a[27] = xr - a[19];\n xr = a[2];\n a[19] -= a[3];\n a[3] -= xr;\n a[2] = a[31] - xr;\n a[31] += xr;\n xr = a[3];\n a[11] -= a[19];\n a[18] -= xr;\n a[3] = a[30] - xr;\n a[30] += xr;\n xr = a[18];\n a[27] -= a[11];\n a[19] -= xr;\n a[18] = a[15] - xr;\n a[15] += xr;\n xr = a[19];\n a[10] -= xr;\n a[19] = a[14] - xr;\n a[14] += xr;\n xr = a[10];\n a[11] -= xr;\n a[10] = a[23] - xr;\n a[23] += xr;\n xr = a[11];\n a[26] -= xr;\n a[11] = a[22] - xr;\n a[22] += xr;\n xr = a[26];\n a[27] -= xr;\n a[26] = a[7] - xr;\n a[7] += xr;\n xr = a[27];\n a[27] = a[6] - xr;\n a[6] += xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[0] - a[4]);\n a[0] += a[4];\n a[4] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[1] - a[5]);\n a[1] += a[5];\n a[5] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[16] - a[20]);\n a[16] += a[20];\n a[20] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[17] - a[21]);\n a[17] += a[21];\n a[21] = xr;\n xr = -$9c8c9409243421ca$var$Util.SQRT2 * (a[8] - a[12]);\n a[8] += a[12];\n a[12] = xr - a[8];\n xr = -$9c8c9409243421ca$var$Util.SQRT2 * (a[9] - a[13]);\n a[9] += a[13];\n a[13] = xr - a[9];\n xr = -$9c8c9409243421ca$var$Util.SQRT2 * (a[25] - a[29]);\n a[25] += a[29];\n a[29] = xr - a[25];\n xr = -$9c8c9409243421ca$var$Util.SQRT2 * (a[24] + a[28]);\n a[24] -= a[28];\n a[28] = xr - a[24];\n xr = a[24] - a[16];\n a[24] = xr;\n xr = a[20] - xr;\n a[20] = xr;\n xr = a[28] - xr;\n a[28] = xr;\n xr = a[25] - a[17];\n a[25] = xr;\n xr = a[21] - xr;\n a[21] = xr;\n xr = a[29] - xr;\n a[29] = xr;\n xr = a[17] - a[1];\n a[17] = xr;\n xr = a[9] - xr;\n a[9] = xr;\n xr = a[25] - xr;\n a[25] = xr;\n xr = a[5] - xr;\n a[5] = xr;\n xr = a[21] - xr;\n a[21] = xr;\n xr = a[13] - xr;\n a[13] = xr;\n xr = a[29] - xr;\n a[29] = xr;\n xr = a[1] - a[0];\n a[1] = xr;\n xr = a[16] - xr;\n a[16] = xr;\n xr = a[17] - xr;\n a[17] = xr;\n xr = a[8] - xr;\n a[8] = xr;\n xr = a[9] - xr;\n a[9] = xr;\n xr = a[24] - xr;\n a[24] = xr;\n xr = a[25] - xr;\n a[25] = xr;\n xr = a[4] - xr;\n a[4] = xr;\n xr = a[5] - xr;\n a[5] = xr;\n xr = a[20] - xr;\n a[20] = xr;\n xr = a[21] - xr;\n a[21] = xr;\n xr = a[12] - xr;\n a[12] = xr;\n xr = a[13] - xr;\n a[13] = xr;\n xr = a[28] - xr;\n a[28] = xr;\n xr = a[29] - xr;\n a[29] = xr;\n xr = a[0];\n a[0] += a[31];\n a[31] -= xr;\n xr = a[1];\n a[1] += a[30];\n a[30] -= xr;\n xr = a[16];\n a[16] += a[15];\n a[15] -= xr;\n xr = a[17];\n a[17] += a[14];\n a[14] -= xr;\n xr = a[8];\n a[8] += a[23];\n a[23] -= xr;\n xr = a[9];\n a[9] += a[22];\n a[22] -= xr;\n xr = a[24];\n a[24] += a[7];\n a[7] -= xr;\n xr = a[25];\n a[25] += a[6];\n a[6] -= xr;\n xr = a[4];\n a[4] += a[27];\n a[27] -= xr;\n xr = a[5];\n a[5] += a[26];\n a[26] -= xr;\n xr = a[20];\n a[20] += a[11];\n a[11] -= xr;\n xr = a[21];\n a[21] += a[10];\n a[10] -= xr;\n xr = a[12];\n a[12] += a[19];\n a[19] -= xr;\n xr = a[13];\n a[13] += a[18];\n a[18] -= xr;\n xr = a[28];\n a[28] += a[3];\n a[3] -= xr;\n xr = a[29];\n a[29] += a[2];\n a[2] -= xr;\n }\n /**\n\t * Function: Calculation of the MDCT In the case of long blocks (type 0,1,3)\n\t * there are 36 coefficents in the time domain and 18 in the frequency\n\t * domain.<BR>\n\t * In the case of short blocks (type 2) there are 3 transformations with\n\t * short length. This leads to 12 coefficents in the time and 6 in the\n\t * frequency domain. In this case the results are stored side by side in the\n\t * vector out[].\n\t *\n\t * New layer3\n\t */ function mdct_short(inout, inoutPos) {\n for(var l = 0; l < 3; l++){\n var tc0, tc1, tc2, ts0, ts1, ts2;\n ts0 = inout[inoutPos + 6] * win[$cPNKB.SHORT_TYPE][0] - inout[inoutPos + 15];\n tc0 = inout[inoutPos + 0] * win[$cPNKB.SHORT_TYPE][2] - inout[inoutPos + 9];\n tc1 = ts0 + tc0;\n tc2 = ts0 - tc0;\n ts0 = inout[inoutPos + 15] * win[$cPNKB.SHORT_TYPE][0] + inout[inoutPos + 6];\n tc0 = inout[inoutPos + 9] * win[$cPNKB.SHORT_TYPE][2] + inout[inoutPos + 0];\n ts1 = ts0 + tc0;\n ts2 = -ts0 + tc0;\n tc0 = (inout[inoutPos + 3] * win[$cPNKB.SHORT_TYPE][1] - inout[inoutPos + 12]) * 2.069978111953089e-11;\n /*\n\t\t\t * tritab_s [ 1 ]\n\t\t\t */ ts0 = (inout[inoutPos + 12] * win[$cPNKB.SHORT_TYPE][1] + inout[inoutPos + 3]) * 2.069978111953089e-11;\n /*\n\t\t\t * tritab_s [ 1 ]\n\t\t\t */ inout[inoutPos + 0] = tc1 * 1.907525191737280e-11 + tc0;\n /*\n\t\t\t * tritab_s[ 2 ]\n\t\t\t */ inout[inoutPos + 15] = -ts1 * 1.907525191737280e-11 + ts0;\n /*\n\t\t\t * tritab_s[0 ]\n\t\t\t */ tc2 = tc2 * 0.000000000016519652744032674;\n /*\n\t\t\t * tritab_s[ 2]\n\t\t\t */ ts1 = ts1 * 0.5 * 1.907525191737281e-11 + ts0;\n inout[inoutPos + 3] = tc2 - ts1;\n inout[inoutPos + 6] = tc2 + ts1;\n tc1 = tc1 * 0.5 * 1.907525191737281e-11 - tc0;\n ts2 = ts2 * 0.000000000016519652744032674;\n /*\n\t\t\t * tritab_s[ 0]\n\t\t\t */ inout[inoutPos + 9] = tc1 + ts2;\n inout[inoutPos + 12] = tc1 - ts2;\n inoutPos++;\n }\n }\n function mdct_long(out, outPos, _in) {\n var ct, st;\n var tc1, tc2, tc3, tc4, ts5, ts6, ts7, ts8;\n /* 1,2, 5,6, 9,10, 13,14, 17 */ tc1 = _in[17] - _in[9];\n tc3 = _in[15] - _in[11];\n tc4 = _in[14] - _in[12];\n ts5 = _in[0] + _in[8];\n ts6 = _in[1] + _in[7];\n ts7 = _in[2] + _in[6];\n ts8 = _in[3] + _in[5];\n out[outPos + 17] = ts5 + ts7 - ts8 - (ts6 - _in[4]);\n st = (ts5 + ts7 - ts8) * cx[19] + (ts6 - _in[4]);\n ct = (tc1 - tc3 - tc4) * cx[18];\n out[outPos + 5] = ct + st;\n out[outPos + 6] = ct - st;\n tc2 = (_in[16] - _in[10]) * cx[18];\n ts6 = ts6 * cx[19] + _in[4];\n ct = tc1 * cx[12] + tc2 + tc3 * cx[13] + tc4 * cx[14];\n st = -ts5 * cx[16] + ts6 - ts7 * cx[17] + ts8 * cx[15];\n out[outPos + 1] = ct + st;\n out[outPos + 2] = ct - st;\n ct = tc1 * cx[13] - tc2 - tc3 * cx[14] + tc4 * cx[12];\n st = -ts5 * cx[17] + ts6 - ts7 * cx[15] + ts8 * cx[16];\n out[outPos + 9] = ct + st;\n out[outPos + 10] = ct - st;\n ct = tc1 * cx[14] - tc2 + tc3 * cx[12] - tc4 * cx[13];\n st = ts5 * cx[15] - ts6 + ts7 * cx[16] - ts8 * cx[17];\n out[outPos + 13] = ct + st;\n out[outPos + 14] = ct - st;\n var ts1, ts2, ts3, ts4, tc5, tc6, tc7, tc8;\n ts1 = _in[8] - _in[0];\n ts3 = _in[6] - _in[2];\n ts4 = _in[5] - _in[3];\n tc5 = _in[17] + _in[9];\n tc6 = _in[16] + _in[10];\n tc7 = _in[15] + _in[11];\n tc8 = _in[14] + _in[12];\n out[outPos + 0] = tc5 + tc7 + tc8 + (tc6 + _in[13]);\n ct = (tc5 + tc7 + tc8) * cx[19] - (tc6 + _in[13]);\n st = (ts1 - ts3 + ts4) * cx[18];\n out[outPos + 11] = ct + st;\n out[outPos + 12] = ct - st;\n ts2 = (_in[7] - _in[1]) * cx[18];\n tc6 = _in[13] - tc6 * cx[19];\n ct = tc5 * cx[15] - tc6 + tc7 * cx[16] + tc8 * cx[17];\n st = ts1 * cx[14] + ts2 + ts3 * cx[12] + ts4 * cx[13];\n out[outPos + 3] = ct + st;\n out[outPos + 4] = ct - st;\n ct = -tc5 * cx[17] + tc6 - tc7 * cx[15] - tc8 * cx[16];\n st = ts1 * cx[13] + ts2 - ts3 * cx[14] - ts4 * cx[12];\n out[outPos + 7] = ct + st;\n out[outPos + 8] = ct - st;\n ct = -tc5 * cx[16] + tc6 - tc7 * cx[17] - tc8 * cx[15];\n st = ts1 * cx[12] - ts2 + ts3 * cx[13] - ts4 * cx[14];\n out[outPos + 15] = ct + st;\n out[outPos + 16] = ct - st;\n }\n this.mdct_sub48 = function(gfc, w0, w1) {\n var wk = w0;\n var wkPos = 286;\n /* thinking cache performance, ch->gr loop is better than gr->ch loop */ for(var ch = 0; ch < gfc.channels_out; ch++){\n for(var gr = 0; gr < gfc.mode_gr; gr++){\n var band;\n var gi = gfc.l3_side.tt[gr][ch];\n var mdct_enc = gi.xr;\n var mdct_encPos = 0;\n var samp = gfc.sb_sample[ch][1 - gr];\n var sampPos = 0;\n for(var k = 0; k < 9; k++){\n window_subband(wk, wkPos, samp[sampPos]);\n window_subband(wk, wkPos + 32, samp[sampPos + 1]);\n sampPos += 2;\n wkPos += 64;\n /*\n\t\t\t\t\t * Compensate for inversion in the analysis filter\n\t\t\t\t\t */ for(band = 1; band < 32; band += 2)samp[sampPos - 1][band] *= -1;\n }\n /*\n\t\t\t\t * Perform imdct of 18 previous subband samples + 18 current\n\t\t\t\t * subband samples\n\t\t\t\t */ for(band = 0; band < 32; band++, mdct_encPos += 18){\n var type = gi.block_type;\n var band0 = gfc.sb_sample[ch][gr];\n var band1 = gfc.sb_sample[ch][1 - gr];\n if (gi.mixed_block_flag != 0 && band < 2) type = 0;\n if (gfc.amp_filter[band] < 1e-12) $9c8c9409243421ca$var$Arrays.fill(mdct_enc, mdct_encPos + 0, mdct_encPos + 18, 0);\n else {\n if (gfc.amp_filter[band] < 1.0) for(var k = 0; k < 18; k++)band1[k][order[band]] *= gfc.amp_filter[band];\n if (type == $cPNKB.SHORT_TYPE) {\n for(var k = -NS / 4; k < 0; k++){\n var w = win[$cPNKB.SHORT_TYPE][k + 3];\n mdct_enc[mdct_encPos + k * 3 + 9] = band0[9 + k][order[band]] * w - band0[8 - k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 18] = band0[14 - k][order[band]] * w + band0[15 + k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 10] = band0[15 + k][order[band]] * w - band0[14 - k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 19] = band1[2 - k][order[band]] * w + band1[3 + k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 11] = band1[3 + k][order[band]] * w - band1[2 - k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 20] = band1[8 - k][order[band]] * w + band1[9 + k][order[band]];\n }\n mdct_short(mdct_enc, mdct_encPos);\n } else {\n var work = $9c8c9409243421ca$var$new_float(18);\n for(var k = -NL / 4; k < 0; k++){\n var a, b;\n a = win[type][k + 27] * band1[k + 9][order[band]] + win[type][k + 36] * band1[8 - k][order[band]];\n b = win[type][k + 9] * band0[k + 9][order[band]] - win[type][k + 18] * band0[8 - k][order[band]];\n work[k + 9] = a - b * tantab_l[3 + k + 9];\n work[k + 18] = a * tantab_l[3 + k + 9] + b;\n }\n mdct_long(mdct_enc, mdct_encPos, work);\n }\n }\n /*\n\t\t\t\t\t * Perform aliasing reduction butterfly\n\t\t\t\t\t */ if (type != $cPNKB.SHORT_TYPE && band != 0) for(var k = 7; k >= 0; --k){\n var bu, bd;\n bu = mdct_enc[mdct_encPos + k] * ca[20 + k] + mdct_enc[mdct_encPos + -1 - k] * cs[28 + k];\n bd = mdct_enc[mdct_encPos + k] * cs[28 + k] - mdct_enc[mdct_encPos + -1 - k] * ca[20 + k];\n mdct_enc[mdct_encPos + -1 - k] = bu;\n mdct_enc[mdct_encPos + k] = bd;\n }\n }\n }\n wk = w1;\n wkPos = 286;\n if (gfc.mode_gr == 1) for(var i = 0; i < 18; i++)$9c8c9409243421ca$var$System.arraycopy(gfc.sb_sample[ch][1][i], 0, gfc.sb_sample[ch][0][i], 0, 32);\n }\n };\n}\nmodule.exports = $9c8c9409243421ca$var$NewMDCT;\n\n});\n\nparcelRequire.register(\"hvy40\", function(module, exports) {\n//package mp3;\n\nvar $51XxS = parcelRequire(\"51XxS\");\nfunction $cbefc13b27188c2b$var$III_psy_ratio() {\n this.thm = new $51XxS();\n this.en = new $51XxS();\n}\nmodule.exports = $cbefc13b27188c2b$var$III_psy_ratio;\n\n});\nparcelRequire.register(\"51XxS\", function(module, exports) {\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $3a9b3c3a1c7d1011$var$System = $3YDN3.System;\nvar $3a9b3c3a1c7d1011$var$VbrMode = $3YDN3.VbrMode;\nvar $3a9b3c3a1c7d1011$var$Float = $3YDN3.Float;\nvar $3a9b3c3a1c7d1011$var$ShortBlock = $3YDN3.ShortBlock;\nvar $3a9b3c3a1c7d1011$var$Util = $3YDN3.Util;\nvar $3a9b3c3a1c7d1011$var$Arrays = $3YDN3.Arrays;\nvar $3a9b3c3a1c7d1011$var$new_array_n = $3YDN3.new_array_n;\nvar $3a9b3c3a1c7d1011$var$new_byte = $3YDN3.new_byte;\nvar $3a9b3c3a1c7d1011$var$new_double = $3YDN3.new_double;\nvar $3a9b3c3a1c7d1011$var$new_float = $3YDN3.new_float;\nvar $3a9b3c3a1c7d1011$var$new_float_n = $3YDN3.new_float_n;\nvar $3a9b3c3a1c7d1011$var$new_int = $3YDN3.new_int;\nvar $3a9b3c3a1c7d1011$var$new_int_n = $3YDN3.new_int_n;\nvar $3a9b3c3a1c7d1011$var$assert = $3YDN3.assert;\nfunction $3a9b3c3a1c7d1011$var$III_psy_xmin() {\n this.l = $3a9b3c3a1c7d1011$var$new_float($cPNKB.SBMAX_l);\n this.s = $3a9b3c3a1c7d1011$var$new_float_n([\n $cPNKB.SBMAX_s,\n 3\n ]);\n var self = this;\n this.assign = function(iii_psy_xmin) {\n $3a9b3c3a1c7d1011$var$System.arraycopy(iii_psy_xmin.l, 0, self.l, 0, $cPNKB.SBMAX_l);\n for(var i = 0; i < $cPNKB.SBMAX_s; i++)for(var j = 0; j < 3; j++)self.s[i][j] = iii_psy_xmin.s[i][j];\n };\n}\nmodule.exports = $3a9b3c3a1c7d1011$var$III_psy_xmin;\n\n});\n\n\nparcelRequire.register(\"jL6I1\", function(module, exports) {\n//package mp3;\n/* MPEG modes */ function $e6279c632d7fdac0$var$MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function() {\n return _ordinal;\n };\n}\n$e6279c632d7fdac0$var$MPEGMode.STEREO = new $e6279c632d7fdac0$var$MPEGMode(0);\n$e6279c632d7fdac0$var$MPEGMode.JOINT_STEREO = new $e6279c632d7fdac0$var$MPEGMode(1);\n$e6279c632d7fdac0$var$MPEGMode.DUAL_CHANNEL = new $e6279c632d7fdac0$var$MPEGMode(2);\n$e6279c632d7fdac0$var$MPEGMode.MONO = new $e6279c632d7fdac0$var$MPEGMode(3);\n$e6279c632d7fdac0$var$MPEGMode.NOT_SET = new $e6279c632d7fdac0$var$MPEGMode(4);\nmodule.exports = $e6279c632d7fdac0$var$MPEGMode;\n\n});\n\n\n\n\nparcelRequire.register(\"5HJeD\", function(module, exports) {\n\nvar $jL6I1 = parcelRequire(\"jL6I1\");\nfunction $42740ea95db3cb8e$var$LameGlobalFlags() {\n this.class_id = 0;\n /* input description */ /**\n * number of samples. default=-1\n */ this.num_samples = 0;\n /**\n * input number of channels. default=2\n */ this.num_channels = 0;\n /**\n * input_samp_rate in Hz. default=44.1 kHz\n */ this.in_samplerate = 0;\n /**\n * output_samp_rate. default: LAME picks best value at least not used for\n * MP3 decoding: Remember 44.1 kHz MP3s and AC97\n */ this.out_samplerate = 0;\n /**\n * scale input by this amount before encoding at least not used for MP3\n * decoding\n */ this.scale = 0.;\n /**\n * scale input of channel 0 (left) by this amount before encoding\n */ this.scale_left = 0.;\n /**\n * scale input of channel 1 (right) by this amount before encoding\n */ this.scale_right = 0.;\n /* general control params */ /**\n * collect data for a MP3 frame analyzer?\n */ this.analysis = false;\n /**\n * add Xing VBR tag?\n */ this.bWriteVbrTag = false;\n /**\n * use lame/mpglib to convert mp3 to wav\n */ this.decode_only = false;\n /**\n * quality setting 0=best, 9=worst default=5\n */ this.quality = 0;\n /**\n * see enum default = LAME picks best value\n */ this.mode = $jL6I1.STEREO;\n /**\n * force M/S mode. requires mode=1\n */ this.force_ms = false;\n /**\n * use free format? default=0\n */ this.free_format = false;\n /**\n * find the RG value? default=0\n */ this.findReplayGain = false;\n /**\n * decode on the fly? default=0\n */ this.decode_on_the_fly = false;\n /**\n * 1 (default) writes ID3 tags, 0 not\n */ this.write_id3tag_automatic = false;\n /*\n * set either brate>0 or compression_ratio>0, LAME will compute the value of\n * the variable not set. Default is compression_ratio = 11.025\n */ /**\n * bitrate\n */ this.brate = 0;\n /**\n * sizeof(wav file)/sizeof(mp3 file)\n */ this.compression_ratio = 0.;\n /* frame params */ /**\n * mark as copyright. default=0\n */ this.copyright = 0;\n /**\n * mark as original. default=1\n */ this.original = 0;\n /**\n * the MP3 'private extension' bit. Meaningless\n */ this.extension = 0;\n /**\n * Input PCM is emphased PCM (for instance from one of the rarely emphased\n * CDs), it is STRONGLY not recommended to use this, because psycho does not\n * take it into account, and last but not least many decoders don't care\n * about these bits\n */ this.emphasis = 0;\n /**\n * use 2 bytes per frame for a CRC checksum. default=0\n */ this.error_protection = 0;\n /**\n * enforce ISO spec as much as possible\n */ this.strict_ISO = false;\n /**\n * use bit reservoir?\n */ this.disable_reservoir = false;\n /* quantization/noise shaping */ this.quant_comp = 0;\n this.quant_comp_short = 0;\n this.experimentalY = false;\n this.experimentalZ = 0;\n this.exp_nspsytune = 0;\n this.preset = 0;\n /* VBR control */ this.VBR = null;\n /**\n * Range [0,...,1[\n */ this.VBR_q_frac = 0.;\n /**\n * Range [0,...,9]\n */ this.VBR_q = 0;\n this.VBR_mean_bitrate_kbps = 0;\n this.VBR_min_bitrate_kbps = 0;\n this.VBR_max_bitrate_kbps = 0;\n /**\n * strictly enforce VBR_min_bitrate normaly, it will be violated for analog\n * silence\n */ this.VBR_hard_min = 0;\n /* resampling and filtering */ /**\n * freq in Hz. 0=lame choses. -1=no filter\n */ this.lowpassfreq = 0;\n /**\n * freq in Hz. 0=lame choses. -1=no filter\n */ this.highpassfreq = 0;\n /**\n * freq width of filter, in Hz (default=15%)\n */ this.lowpasswidth = 0;\n /**\n * freq width of filter, in Hz (default=15%)\n */ this.highpasswidth = 0;\n /*\n * psycho acoustics and other arguments which you should not change unless\n * you know what you are doing\n */ this.maskingadjust = 0.;\n this.maskingadjust_short = 0.;\n /**\n * only use ATH\n */ this.ATHonly = false;\n /**\n * only use ATH for short blocks\n */ this.ATHshort = false;\n /**\n * disable ATH\n */ this.noATH = false;\n /**\n * select ATH formula\n */ this.ATHtype = 0;\n /**\n * change ATH formula 4 shape\n */ this.ATHcurve = 0.;\n /**\n * lower ATH by this many db\n */ this.ATHlower = 0.;\n /**\n * select ATH auto-adjust scheme\n */ this.athaa_type = 0;\n /**\n * select ATH auto-adjust loudness calc\n */ this.athaa_loudapprox = 0;\n /**\n * dB, tune active region of auto-level\n */ this.athaa_sensitivity = 0.;\n this.short_blocks = null;\n /**\n * use temporal masking effect\n */ this.useTemporal = false;\n this.interChRatio = 0.;\n /**\n * Naoki's adjustment of Mid/Side maskings\n */ this.msfix = 0.;\n /**\n * 0 off, 1 on\n */ this.tune = false;\n /**\n * used to pass values for debugging and stuff\n */ this.tune_value_a = 0.;\n /************************************************************************/ /* internal variables, do not set... */ /* provided because they may be of use to calling application */ /************************************************************************/ /**\n * 0=MPEG-2/2.5 1=MPEG-1\n */ this.version = 0;\n this.encoder_delay = 0;\n /**\n * number of samples of padding appended to input\n */ this.encoder_padding = 0;\n this.framesize = 0;\n /**\n * number of frames encoded\n */ this.frameNum = 0;\n /**\n * is this struct owned by calling program or lame?\n */ this.lame_allocated_gfp = 0;\n /**************************************************************************/ /* more internal variables are stored in this structure: */ /**************************************************************************/ this.internal_flags = null;\n}\nmodule.exports = $42740ea95db3cb8e$var$LameGlobalFlags;\n\n});\n\nparcelRequire.register(\"4SDnr\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $38dac00579cf6ffc$var$System = $3YDN3.System;\nvar $38dac00579cf6ffc$var$VbrMode = $3YDN3.VbrMode;\nvar $38dac00579cf6ffc$var$Float = $3YDN3.Float;\nvar $38dac00579cf6ffc$var$ShortBlock = $3YDN3.ShortBlock;\nvar $38dac00579cf6ffc$var$Util = $3YDN3.Util;\nvar $38dac00579cf6ffc$var$Arrays = $3YDN3.Arrays;\nvar $38dac00579cf6ffc$var$new_array_n = $3YDN3.new_array_n;\nvar $38dac00579cf6ffc$var$new_byte = $3YDN3.new_byte;\nvar $38dac00579cf6ffc$var$new_double = $3YDN3.new_double;\nvar $38dac00579cf6ffc$var$new_float = $3YDN3.new_float;\nvar $38dac00579cf6ffc$var$new_float_n = $3YDN3.new_float_n;\nvar $38dac00579cf6ffc$var$new_int = $3YDN3.new_int;\nvar $38dac00579cf6ffc$var$new_int_n = $3YDN3.new_int_n;\nvar $38dac00579cf6ffc$var$assert = $3YDN3.assert;\n\nvar $eWXBy = parcelRequire(\"eWXBy\");\n\nvar $7imnH = parcelRequire(\"7imnH\");\n\nvar $7yzUB = parcelRequire(\"7yzUB\");\n\nvar $jTmCQ = parcelRequire(\"jTmCQ\");\n\nvar $51XxS = parcelRequire(\"51XxS\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $arIi9 = parcelRequire(\"arIi9\");\n$38dac00579cf6ffc$var$LameInternalFlags.MFSIZE = 3456 + $cPNKB.ENCDELAY - $cPNKB.MDCTDELAY;\n$38dac00579cf6ffc$var$LameInternalFlags.MAX_HEADER_BUF = 256;\n$38dac00579cf6ffc$var$LameInternalFlags.MAX_BITS_PER_CHANNEL = 4095;\n$38dac00579cf6ffc$var$LameInternalFlags.MAX_BITS_PER_GRANULE = 7680;\n$38dac00579cf6ffc$var$LameInternalFlags.BPC = 320;\nfunction $38dac00579cf6ffc$var$LameInternalFlags() {\n var MAX_HEADER_LEN = 40;\n /********************************************************************\n * internal variables NOT set by calling program, and should not be *\n * modified by the calling program *\n ********************************************************************/ /**\n * Some remarks to the Class_ID field: The Class ID is an Identifier for a\n * pointer to this struct. It is very unlikely that a pointer to\n * lame_global_flags has the same 32 bits in it's structure (large and other\n * special properties, for instance prime).\n *\n * To test that the structure is right and initialized, use: if ( gfc .\n * Class_ID == LAME_ID ) ... Other remark: If you set a flag to 0 for uninit\n * data and 1 for init data, the right test should be \"if (flag == 1)\" and\n * NOT \"if (flag)\". Unintended modification of this element will be\n * otherwise misinterpreted as an init.\n */ this.Class_ID = 0;\n this.lame_encode_frame_init = 0;\n this.iteration_init_init = 0;\n this.fill_buffer_resample_init = 0;\n //public float mfbuf[][] = new float[2][MFSIZE];\n this.mfbuf = $38dac00579cf6ffc$var$new_float_n([\n 2,\n $38dac00579cf6ffc$var$LameInternalFlags.MFSIZE\n ]);\n /**\n * granules per frame\n */ this.mode_gr = 0;\n /**\n * number of channels in the input data stream (PCM or decoded PCM)\n */ this.channels_in = 0;\n /**\n * number of channels in the output data stream (not used for decoding)\n */ this.channels_out = 0;\n /**\n * input_samp_rate/output_samp_rate\n */ //public double resample_ratio;\n this.resample_ratio = 0.;\n this.mf_samples_to_encode = 0;\n this.mf_size = 0;\n /**\n * min bitrate index\n */ this.VBR_min_bitrate = 0;\n /**\n * max bitrate index\n */ this.VBR_max_bitrate = 0;\n this.bitrate_index = 0;\n this.samplerate_index = 0;\n this.mode_ext = 0;\n /* lowpass and highpass filter control */ /**\n * normalized frequency bounds of passband\n */ this.lowpass1 = 0.;\n this.lowpass2 = 0.;\n /**\n * normalized frequency bounds of passband\n */ this.highpass1 = 0.;\n this.highpass2 = 0.;\n /**\n * 0 = none 1 = ISO AAC model 2 = allow scalefac_select=1\n */ this.noise_shaping = 0;\n /**\n * 0 = ISO model: amplify all distorted bands<BR>\n * 1 = amplify within 50% of max (on db scale)<BR>\n * 2 = amplify only most distorted band<BR>\n * 3 = method 1 and refine with method 2<BR>\n */ this.noise_shaping_amp = 0;\n /**\n * 0 = no substep<BR>\n * 1 = use substep shaping at last step(VBR only)<BR>\n * (not implemented yet)<BR>\n * 2 = use substep inside loop<BR>\n * 3 = use substep inside loop and last step<BR>\n */ this.substep_shaping = 0;\n /**\n * 1 = gpsycho. 0 = none\n */ this.psymodel = 0;\n /**\n * 0 = stop at over=0, all scalefacs amplified or<BR>\n * a scalefac has reached max value<BR>\n * 1 = stop when all scalefacs amplified or a scalefac has reached max value<BR>\n * 2 = stop when all scalefacs amplified\n */ this.noise_shaping_stop = 0;\n /**\n * 0 = no, 1 = yes\n */ this.subblock_gain = 0;\n /**\n * 0 = no. 1=outside loop 2=inside loop(slow)\n */ this.use_best_huffman = 0;\n /**\n * 0 = stop early after 0 distortion found. 1 = full search\n */ this.full_outer_loop = 0;\n //public IIISideInfo l3_side = new IIISideInfo();\n this.l3_side = new $eWXBy();\n this.ms_ratio = $38dac00579cf6ffc$var$new_float(2);\n /* used for padding */ /**\n * padding for the current frame?\n */ this.padding = 0;\n this.frac_SpF = 0;\n this.slot_lag = 0;\n /**\n * optional ID3 tags\n */ //public ID3TagSpec tag_spec;\n this.tag_spec = null;\n this.nMusicCRC = 0;\n /* variables used by Quantize */ //public int OldValue[] = new int[2];\n this.OldValue = $38dac00579cf6ffc$var$new_int(2);\n //public int CurrentStep[] = new int[2];\n this.CurrentStep = $38dac00579cf6ffc$var$new_int(2);\n this.masking_lower = 0.;\n //public int bv_scf[] = new int[576];\n this.bv_scf = $38dac00579cf6ffc$var$new_int(576);\n //public int pseudohalf[] = new int[L3Side.SFBMAX];\n this.pseudohalf = $38dac00579cf6ffc$var$new_int($arIi9.SFBMAX);\n /**\n * will be set in lame_init_params\n */ this.sfb21_extra = false;\n /* BPC = maximum number of filter convolution windows to precompute */ //public float[][] inbuf_old = new float[2][];\n this.inbuf_old = new Array(2);\n //public float[][] blackfilt = new float[2 * BPC + 1][];\n this.blackfilt = new Array(2 * $38dac00579cf6ffc$var$LameInternalFlags.BPC + 1);\n //public double itime[] = new double[2];\n this.itime = $38dac00579cf6ffc$var$new_double(2);\n this.sideinfo_len = 0;\n /* variables for newmdct.c */ //public float sb_sample[][][][] = new float[2][2][18][Encoder.SBLIMIT];\n this.sb_sample = $38dac00579cf6ffc$var$new_float_n([\n 2,\n 2,\n 18,\n $cPNKB.SBLIMIT\n ]);\n this.amp_filter = $38dac00579cf6ffc$var$new_float(32);\n /* variables for BitStream */ /**\n * <PRE>\n * mpeg1: buffer=511 bytes smallest frame: 96-38(sideinfo)=58\n * max number of frames in reservoir: 8\n * mpeg2: buffer=255 bytes. smallest frame: 24-23bytes=1\n * with VBR, if you are encoding all silence, it is possible to\n * have 8kbs/24khz frames with 1byte of data each, which means we need\n * to buffer up to 255 headers!\n * </PRE>\n */ /**\n * also, max_header_buf has to be a power of two\n */ /**\n * max size of header is 38\n */ function Header() {\n this.write_timing = 0;\n this.ptr = 0;\n //public byte buf[] = new byte[MAX_HEADER_LEN];\n this.buf = $38dac00579cf6ffc$var$new_byte(MAX_HEADER_LEN);\n }\n this.header = new Array($38dac00579cf6ffc$var$LameInternalFlags.MAX_HEADER_BUF);\n this.h_ptr = 0;\n this.w_ptr = 0;\n this.ancillary_flag = 0;\n /* variables for Reservoir */ /**\n * in bits\n */ this.ResvSize = 0;\n /**\n * in bits\n */ this.ResvMax = 0;\n //public ScaleFac scalefac_band = new ScaleFac();\n this.scalefac_band = new $7imnH();\n /* daa from PsyModel */ /* The static variables \"r\", \"phi_sav\", \"new\", \"old\" and \"oldest\" have */ /* to be remembered for the unpredictability measure. For \"r\" and */ /* \"phi_sav\", the first index from the left is the channel select and */ /* the second index is the \"age\" of the data. */ this.minval_l = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.minval_s = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.nb_1 = $38dac00579cf6ffc$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n this.nb_2 = $38dac00579cf6ffc$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n this.nb_s1 = $38dac00579cf6ffc$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n this.nb_s2 = $38dac00579cf6ffc$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n this.s3_ss = null;\n this.s3_ll = null;\n this.decay = 0.;\n //public III_psy_xmin[] thm = new III_psy_xmin[4];\n //public III_psy_xmin[] en = new III_psy_xmin[4];\n this.thm = new Array(4);\n this.en = new Array(4);\n /**\n * fft and energy calculation\n */ this.tot_ener = $38dac00579cf6ffc$var$new_float(4);\n /* loudness calculation (for adaptive threshold of hearing) */ /**\n * loudness^2 approx. per granule and channel\n */ this.loudness_sq = $38dac00579cf6ffc$var$new_float_n([\n 2,\n 2\n ]);\n /**\n * account for granule delay of L3psycho_anal\n */ this.loudness_sq_save = $38dac00579cf6ffc$var$new_float(2);\n /**\n * Scale Factor Bands\n */ this.mld_l = $38dac00579cf6ffc$var$new_float($cPNKB.SBMAX_l);\n this.mld_s = $38dac00579cf6ffc$var$new_float($cPNKB.SBMAX_s);\n this.bm_l = $38dac00579cf6ffc$var$new_int($cPNKB.SBMAX_l);\n this.bo_l = $38dac00579cf6ffc$var$new_int($cPNKB.SBMAX_l);\n this.bm_s = $38dac00579cf6ffc$var$new_int($cPNKB.SBMAX_s);\n this.bo_s = $38dac00579cf6ffc$var$new_int($cPNKB.SBMAX_s);\n this.npart_l = 0;\n this.npart_s = 0;\n this.s3ind = $38dac00579cf6ffc$var$new_int_n([\n $cPNKB.CBANDS,\n 2\n ]);\n this.s3ind_s = $38dac00579cf6ffc$var$new_int_n([\n $cPNKB.CBANDS,\n 2\n ]);\n this.numlines_s = $38dac00579cf6ffc$var$new_int($cPNKB.CBANDS);\n this.numlines_l = $38dac00579cf6ffc$var$new_int($cPNKB.CBANDS);\n this.rnumlines_l = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.mld_cb_l = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.mld_cb_s = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.numlines_s_num1 = 0;\n this.numlines_l_num1 = 0;\n /* ratios */ this.pe = $38dac00579cf6ffc$var$new_float(4);\n this.ms_ratio_s_old = 0.;\n this.ms_ratio_l_old = 0.;\n this.ms_ener_ratio_old = 0.;\n /**\n * block type\n */ this.blocktype_old = $38dac00579cf6ffc$var$new_int(2);\n /**\n * variables used for --nspsytune\n */ this.nsPsy = new $7yzUB();\n /**\n * used for Xing VBR header\n */ this.VBR_seek_table = new $jTmCQ();\n /**\n * all ATH related stuff\n */ //public ATH ATH;\n this.ATH = null;\n this.PSY = null;\n this.nogap_total = 0;\n this.nogap_current = 0;\n /* ReplayGain */ this.decode_on_the_fly = true;\n this.findReplayGain = true;\n this.findPeakSample = true;\n this.PeakSample = 0.;\n this.RadioGain = 0;\n this.AudiophileGain = 0;\n //public ReplayGain rgdata;\n this.rgdata = null;\n /**\n * gain change required for preventing clipping\n */ this.noclipGainChange = 0;\n /**\n * user-specified scale factor required for preventing clipping\n */ this.noclipScale = 0.;\n /* simple statistics */ this.bitrate_stereoMode_Hist = $38dac00579cf6ffc$var$new_int_n([\n 16,\n 5\n ]);\n /**\n * norm/start/short/stop/mixed(short)/sum\n */ this.bitrate_blockType_Hist = $38dac00579cf6ffc$var$new_int_n([\n 16,\n 6\n ]);\n //public PlottingData pinfo;\n //public MPGLib.mpstr_tag hip;\n this.pinfo = null;\n this.hip = null;\n this.in_buffer_nsamples = 0;\n //public float[] in_buffer_0;\n //public float[] in_buffer_1;\n this.in_buffer_0 = null;\n this.in_buffer_1 = null;\n //public IIterationLoop iteration_loop;\n this.iteration_loop = null;\n for(var i = 0; i < this.en.length; i++)this.en[i] = new $51XxS();\n for(var i = 0; i < this.thm.length; i++)this.thm[i] = new $51XxS();\n for(var i = 0; i < this.header.length; i++)this.header[i] = new Header();\n}\nmodule.exports = $38dac00579cf6ffc$var$LameInternalFlags;\n\n});\nparcelRequire.register(\"eWXBy\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $ae24b7bb56fee1da$var$System = $3YDN3.System;\nvar $ae24b7bb56fee1da$var$VbrMode = $3YDN3.VbrMode;\nvar $ae24b7bb56fee1da$var$Float = $3YDN3.Float;\nvar $ae24b7bb56fee1da$var$ShortBlock = $3YDN3.ShortBlock;\nvar $ae24b7bb56fee1da$var$Util = $3YDN3.Util;\nvar $ae24b7bb56fee1da$var$Arrays = $3YDN3.Arrays;\nvar $ae24b7bb56fee1da$var$new_array_n = $3YDN3.new_array_n;\nvar $ae24b7bb56fee1da$var$new_byte = $3YDN3.new_byte;\nvar $ae24b7bb56fee1da$var$new_double = $3YDN3.new_double;\nvar $ae24b7bb56fee1da$var$new_float = $3YDN3.new_float;\nvar $ae24b7bb56fee1da$var$new_float_n = $3YDN3.new_float_n;\nvar $ae24b7bb56fee1da$var$new_int = $3YDN3.new_int;\nvar $ae24b7bb56fee1da$var$new_int_n = $3YDN3.new_int_n;\nvar $ae24b7bb56fee1da$var$assert = $3YDN3.assert;\n\nvar $7weBo = parcelRequire(\"7weBo\");\nfunction $ae24b7bb56fee1da$var$IIISideInfo() {\n this.tt = [\n [\n null,\n null\n ],\n [\n null,\n null\n ]\n ];\n this.main_data_begin = 0;\n this.private_bits = 0;\n this.resvDrain_pre = 0;\n this.resvDrain_post = 0;\n this.scfsi = [\n $ae24b7bb56fee1da$var$new_int(4),\n $ae24b7bb56fee1da$var$new_int(4)\n ];\n for(var gr = 0; gr < 2; gr++)for(var ch = 0; ch < 2; ch++)this.tt[gr][ch] = new $7weBo();\n}\nmodule.exports = $ae24b7bb56fee1da$var$IIISideInfo;\n\n});\nparcelRequire.register(\"7weBo\", function(module, exports) {\n//package mp3;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $5796d93ba9162632$var$System = $3YDN3.System;\nvar $5796d93ba9162632$var$VbrMode = $3YDN3.VbrMode;\nvar $5796d93ba9162632$var$Float = $3YDN3.Float;\nvar $5796d93ba9162632$var$ShortBlock = $3YDN3.ShortBlock;\nvar $5796d93ba9162632$var$Util = $3YDN3.Util;\nvar $5796d93ba9162632$var$Arrays = $3YDN3.Arrays;\nvar $5796d93ba9162632$var$new_array_n = $3YDN3.new_array_n;\nvar $5796d93ba9162632$var$new_byte = $3YDN3.new_byte;\nvar $5796d93ba9162632$var$new_double = $3YDN3.new_double;\nvar $5796d93ba9162632$var$new_float = $3YDN3.new_float;\nvar $5796d93ba9162632$var$new_float_n = $3YDN3.new_float_n;\nvar $5796d93ba9162632$var$new_int = $3YDN3.new_int;\nvar $5796d93ba9162632$var$new_int_n = $3YDN3.new_int_n;\nvar $5796d93ba9162632$var$assert = $3YDN3.assert;\n\nvar $arIi9 = parcelRequire(\"arIi9\");\nfunction $5796d93ba9162632$var$GrInfo() {\n //float xr[] = new float[576];\n this.xr = $5796d93ba9162632$var$new_float(576);\n //int l3_enc[] = new int[576];\n this.l3_enc = $5796d93ba9162632$var$new_int(576);\n //int scalefac[] = new int[L3Side.SFBMAX];\n this.scalefac = $5796d93ba9162632$var$new_int($arIi9.SFBMAX);\n this.xrpow_max = 0.;\n this.part2_3_length = 0;\n this.big_values = 0;\n this.count1 = 0;\n this.global_gain = 0;\n this.scalefac_compress = 0;\n this.block_type = 0;\n this.mixed_block_flag = 0;\n this.table_select = $5796d93ba9162632$var$new_int(3);\n this.subblock_gain = $5796d93ba9162632$var$new_int(4);\n this.region0_count = 0;\n this.region1_count = 0;\n this.preflag = 0;\n this.scalefac_scale = 0;\n this.count1table_select = 0;\n this.part2_length = 0;\n this.sfb_lmax = 0;\n this.sfb_smin = 0;\n this.psy_lmax = 0;\n this.sfbmax = 0;\n this.psymax = 0;\n this.sfbdivide = 0;\n this.width = $5796d93ba9162632$var$new_int($arIi9.SFBMAX);\n this.window = $5796d93ba9162632$var$new_int($arIi9.SFBMAX);\n this.count1bits = 0;\n /**\n * added for LSF\n */ this.sfb_partition_table = null;\n this.slen = $5796d93ba9162632$var$new_int(4);\n this.max_nonzero_coeff = 0;\n var self = this;\n function clone_int(array) {\n return new Int32Array(array);\n }\n function clone_float(array) {\n return new Float32Array(array);\n }\n this.assign = function(other) {\n self.xr = clone_float(other.xr); //.slice(0); //clone();\n self.l3_enc = clone_int(other.l3_enc); //.slice(0); //clone();\n self.scalefac = clone_int(other.scalefac); //.slice(0); //clone();\n self.xrpow_max = other.xrpow_max;\n self.part2_3_length = other.part2_3_length;\n self.big_values = other.big_values;\n self.count1 = other.count1;\n self.global_gain = other.global_gain;\n self.scalefac_compress = other.scalefac_compress;\n self.block_type = other.block_type;\n self.mixed_block_flag = other.mixed_block_flag;\n self.table_select = clone_int(other.table_select); //.slice(0); //clone();\n self.subblock_gain = clone_int(other.subblock_gain); //.slice(0); //.clone();\n self.region0_count = other.region0_count;\n self.region1_count = other.region1_count;\n self.preflag = other.preflag;\n self.scalefac_scale = other.scalefac_scale;\n self.count1table_select = other.count1table_select;\n self.part2_length = other.part2_length;\n self.sfb_lmax = other.sfb_lmax;\n self.sfb_smin = other.sfb_smin;\n self.psy_lmax = other.psy_lmax;\n self.sfbmax = other.sfbmax;\n self.psymax = other.psymax;\n self.sfbdivide = other.sfbdivide;\n self.width = clone_int(other.width); //.slice(0); //.clone();\n self.window = clone_int(other.window); //.slice(0); //.clone();\n self.count1bits = other.count1bits;\n self.sfb_partition_table = other.sfb_partition_table.slice(0); //.clone();\n self.slen = clone_int(other.slen); //.slice(0); //.clone();\n self.max_nonzero_coeff = other.max_nonzero_coeff;\n };\n}\nmodule.exports = $5796d93ba9162632$var$GrInfo;\n\n});\nparcelRequire.register(\"arIi9\", function(module, exports) {\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\nvar $79aec86e829b6e82$var$L3Side = {};\n/**\n\t * max scalefactor band, max(SBMAX_l, SBMAX_s*3, (SBMAX_s-3)*3+8)\n\t */ $79aec86e829b6e82$var$L3Side.SFBMAX = $cPNKB.SBMAX_s * 3;\nmodule.exports = $79aec86e829b6e82$var$L3Side;\n\n});\n\n\n\nparcelRequire.register(\"7imnH\", function(module, exports) {\n//package mp3;\n/**\n * Layer III side information.\n *\n * @author Ken\n *\n */ \nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $54fb93475471cb87$var$System = $3YDN3.System;\nvar $54fb93475471cb87$var$VbrMode = $3YDN3.VbrMode;\nvar $54fb93475471cb87$var$Float = $3YDN3.Float;\nvar $54fb93475471cb87$var$ShortBlock = $3YDN3.ShortBlock;\nvar $54fb93475471cb87$var$Util = $3YDN3.Util;\nvar $54fb93475471cb87$var$Arrays = $3YDN3.Arrays;\nvar $54fb93475471cb87$var$new_array_n = $3YDN3.new_array_n;\nvar $54fb93475471cb87$var$new_byte = $3YDN3.new_byte;\nvar $54fb93475471cb87$var$new_double = $3YDN3.new_double;\nvar $54fb93475471cb87$var$new_float = $3YDN3.new_float;\nvar $54fb93475471cb87$var$new_float_n = $3YDN3.new_float_n;\nvar $54fb93475471cb87$var$new_int = $3YDN3.new_int;\nvar $54fb93475471cb87$var$new_int_n = $3YDN3.new_int_n;\nvar $54fb93475471cb87$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\nfunction $54fb93475471cb87$var$ScaleFac(arrL, arrS, arr21, arr12) {\n this.l = $54fb93475471cb87$var$new_int(1 + $cPNKB.SBMAX_l);\n this.s = $54fb93475471cb87$var$new_int(1 + $cPNKB.SBMAX_s);\n this.psfb21 = $54fb93475471cb87$var$new_int(1 + $cPNKB.PSFB21);\n this.psfb12 = $54fb93475471cb87$var$new_int(1 + $cPNKB.PSFB12);\n var l = this.l;\n var s = this.s;\n if (arguments.length == 4) {\n //public ScaleFac(final int[] arrL, final int[] arrS, final int[] arr21,\n // final int[] arr12) {\n this.arrL = arguments[0];\n this.arrS = arguments[1];\n this.arr21 = arguments[2];\n this.arr12 = arguments[3];\n $54fb93475471cb87$var$System.arraycopy(this.arrL, 0, l, 0, Math.min(this.arrL.length, this.l.length));\n $54fb93475471cb87$var$System.arraycopy(this.arrS, 0, s, 0, Math.min(this.arrS.length, this.s.length));\n $54fb93475471cb87$var$System.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length));\n $54fb93475471cb87$var$System.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length));\n }\n}\nmodule.exports = $54fb93475471cb87$var$ScaleFac;\n\n});\n\nparcelRequire.register(\"7yzUB\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $580790bdd94a8b57$var$System = $3YDN3.System;\nvar $580790bdd94a8b57$var$VbrMode = $3YDN3.VbrMode;\nvar $580790bdd94a8b57$var$Float = $3YDN3.Float;\nvar $580790bdd94a8b57$var$ShortBlock = $3YDN3.ShortBlock;\nvar $580790bdd94a8b57$var$Util = $3YDN3.Util;\nvar $580790bdd94a8b57$var$Arrays = $3YDN3.Arrays;\nvar $580790bdd94a8b57$var$new_array_n = $3YDN3.new_array_n;\nvar $580790bdd94a8b57$var$new_byte = $3YDN3.new_byte;\nvar $580790bdd94a8b57$var$new_double = $3YDN3.new_double;\nvar $580790bdd94a8b57$var$new_float = $3YDN3.new_float;\nvar $580790bdd94a8b57$var$new_float_n = $3YDN3.new_float_n;\nvar $580790bdd94a8b57$var$new_int = $3YDN3.new_int;\nvar $580790bdd94a8b57$var$new_int_n = $3YDN3.new_int_n;\nvar $580790bdd94a8b57$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n//package mp3;\n/**\n * Variables used for --nspsytune\n *\n * @author Ken\n *\n */ function $580790bdd94a8b57$var$NsPsy() {\n this.last_en_subshort = $580790bdd94a8b57$var$new_float_n([\n 4,\n 9\n ]);\n this.lastAttacks = $580790bdd94a8b57$var$new_int(4);\n this.pefirbuf = $580790bdd94a8b57$var$new_float(19);\n this.longfact = $580790bdd94a8b57$var$new_float($cPNKB.SBMAX_l);\n this.shortfact = $580790bdd94a8b57$var$new_float($cPNKB.SBMAX_s);\n /**\n * short block tuning\n */ this.attackthre = 0.;\n this.attackthre_s = 0.;\n}\nmodule.exports = $580790bdd94a8b57$var$NsPsy;\n\n});\n\nparcelRequire.register(\"jTmCQ\", function(module, exports) {\n//package mp3;\nfunction $e7b4b455db8db26b$var$VBRSeekInfo() {\n /**\n * What we have seen so far.\n */ this.sum = 0;\n /**\n * How many frames we have seen in this chunk.\n */ this.seen = 0;\n /**\n * How many frames we want to collect into one chunk.\n */ this.want = 0;\n /**\n * Actual position in our bag.\n */ this.pos = 0;\n /**\n * Size of our bag.\n */ this.size = 0;\n /**\n * Pointer to our bag.\n */ this.bag = null;\n this.nVbrNumFrames = 0;\n this.nBytesWritten = 0;\n /* VBR tag data */ this.TotalFrameSize = 0;\n}\nmodule.exports = $e7b4b455db8db26b$var$VBRSeekInfo;\n\n});\n\n\nparcelRequire.register(\"cU3Yf\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $964dcb8066029e00$var$System = $3YDN3.System;\nvar $964dcb8066029e00$var$VbrMode = $3YDN3.VbrMode;\nvar $964dcb8066029e00$var$Float = $3YDN3.Float;\nvar $964dcb8066029e00$var$ShortBlock = $3YDN3.ShortBlock;\nvar $964dcb8066029e00$var$Util = $3YDN3.Util;\nvar $964dcb8066029e00$var$Arrays = $3YDN3.Arrays;\nvar $964dcb8066029e00$var$new_array_n = $3YDN3.new_array_n;\nvar $964dcb8066029e00$var$new_byte = $3YDN3.new_byte;\nvar $964dcb8066029e00$var$new_double = $3YDN3.new_double;\nvar $964dcb8066029e00$var$new_float = $3YDN3.new_float;\nvar $964dcb8066029e00$var$new_float_n = $3YDN3.new_float_n;\nvar $964dcb8066029e00$var$new_int = $3YDN3.new_int;\nvar $964dcb8066029e00$var$new_int_n = $3YDN3.new_int_n;\nvar $964dcb8066029e00$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n/**\n * ATH related stuff, if something new ATH related has to be added, please plug\n * it here into the ATH.\n */ function $964dcb8066029e00$var$ATH() {\n /**\n * Method for the auto adjustment.\n */ this.useAdjust = 0;\n /**\n * factor for tuning the (sample power) point below which adaptive threshold\n * of hearing adjustment occurs\n */ this.aaSensitivityP = 0.;\n /**\n * Lowering based on peak volume, 1 = no lowering.\n */ this.adjust = 0.;\n /**\n * Limit for dynamic ATH adjust.\n */ this.adjustLimit = 0.;\n /**\n * Determined to lower x dB each second.\n */ this.decay = 0.;\n /**\n * Lowest ATH value.\n */ this.floor = 0.;\n /**\n * ATH for sfbs in long blocks.\n */ this.l = $964dcb8066029e00$var$new_float($cPNKB.SBMAX_l);\n /**\n * ATH for sfbs in short blocks.\n */ this.s = $964dcb8066029e00$var$new_float($cPNKB.SBMAX_s);\n /**\n * ATH for partitioned sfb21 in long blocks.\n */ this.psfb21 = $964dcb8066029e00$var$new_float($cPNKB.PSFB21);\n /**\n * ATH for partitioned sfb12 in short blocks.\n */ this.psfb12 = $964dcb8066029e00$var$new_float($cPNKB.PSFB12);\n /**\n * ATH for long block convolution bands.\n */ this.cb_l = $964dcb8066029e00$var$new_float($cPNKB.CBANDS);\n /**\n * ATH for short block convolution bands.\n */ this.cb_s = $964dcb8066029e00$var$new_float($cPNKB.CBANDS);\n /**\n * Equal loudness weights (based on ATH).\n */ this.eql_w = $964dcb8066029e00$var$new_float($cPNKB.BLKSIZE / 2);\n}\nmodule.exports = $964dcb8066029e00$var$ATH;\n\n});\n\nparcelRequire.register(\"2qGTD\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $1c4f48cc96a3a753$var$System = $3YDN3.System;\nvar $1c4f48cc96a3a753$var$VbrMode = $3YDN3.VbrMode;\nvar $1c4f48cc96a3a753$var$Float = $3YDN3.Float;\nvar $1c4f48cc96a3a753$var$ShortBlock = $3YDN3.ShortBlock;\nvar $1c4f48cc96a3a753$var$Util = $3YDN3.Util;\nvar $1c4f48cc96a3a753$var$Arrays = $3YDN3.Arrays;\nvar $1c4f48cc96a3a753$var$new_array_n = $3YDN3.new_array_n;\nvar $1c4f48cc96a3a753$var$new_byte = $3YDN3.new_byte;\nvar $1c4f48cc96a3a753$var$new_double = $3YDN3.new_double;\nvar $1c4f48cc96a3a753$var$new_float = $3YDN3.new_float;\nvar $1c4f48cc96a3a753$var$new_float_n = $3YDN3.new_float_n;\nvar $1c4f48cc96a3a753$var$new_int = $3YDN3.new_int;\nvar $1c4f48cc96a3a753$var$new_int_n = $3YDN3.new_int_n;\nvar $1c4f48cc96a3a753$var$assert = $3YDN3.assert;\n\nvar $b8dhq = parcelRequire(\"b8dhq\");\nfunction $1c4f48cc96a3a753$var$ReplayGain() {\n this.linprebuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */ this.linpre = 0;\n this.lstepbuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_SAMPLES_PER_WINDOW + $b8dhq.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */ this.lstep = 0;\n this.loutbuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_SAMPLES_PER_WINDOW + $b8dhq.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */ this.lout = 0;\n this.rinprebuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_ORDER * 2);\n /**\n * right input samples ...\n */ this.rinpre = 0;\n this.rstepbuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_SAMPLES_PER_WINDOW + $b8dhq.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_SAMPLES_PER_WINDOW + $b8dhq.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */ this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = $1c4f48cc96a3a753$var$new_int(0 | $b8dhq.STEPS_per_dB * $b8dhq.MAX_dB);\n this.B = $1c4f48cc96a3a753$var$new_int(0 | $b8dhq.STEPS_per_dB * $b8dhq.MAX_dB);\n}\nmodule.exports = $1c4f48cc96a3a753$var$ReplayGain;\n\n});\nparcelRequire.register(\"b8dhq\", function(module, exports) {\n/*\n * ReplayGainAnalysis - analyzes input samples and give the recommended dB change\n * Copyright (C) 2001 David Robinson and Glen Sawyer\n * Improvements and optimizations added by Frank Klemm, and by Marcel Muller \n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * concept and filter values by David Robinson (David@Robinson.org)\n * -- blame him if you think the idea is flawed\n * original coding by Glen Sawyer (mp3gain@hotmail.com)\n * -- blame him if you think this runs too slowly, or the coding is otherwise flawed\n *\n * lots of code improvements by Frank Klemm ( http://www.uni-jena.de/~pfk/mpp/ )\n * -- credit him for all the _good_ programming ;)\n *\n *\n * For an explanation of the concepts and the basic algorithms involved, go to:\n * http://www.replaygain.org/\n */ /*\n * Here's the deal. Call\n *\n * InitGainAnalysis ( long samplefreq );\n *\n * to initialize everything. Call\n *\n * AnalyzeSamples ( var Float_t* left_samples,\n * var Float_t* right_samples,\n * size_t num_samples,\n * int num_channels );\n *\n * as many times as you want, with as many or as few samples as you want.\n * If mono, pass the sample buffer in through left_samples, leave\n * right_samples NULL, and make sure num_channels = 1.\n *\n * GetTitleGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * SINCE THE LAST TIME you called GetTitleGain() OR InitGainAnalysis().\n *\n * GetAlbumGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * since InitGainAnalysis() was called and finalized with GetTitleGain().\n *\n * Pseudo-code to process an album:\n *\n * Float_t l_samples [4096];\n * Float_t r_samples [4096];\n * size_t num_samples;\n * unsigned int num_songs;\n * unsigned int i;\n *\n * InitGainAnalysis ( 44100 );\n * for ( i = 1; i <= num_songs; i++ ) {\n * while ( ( num_samples = getSongSamples ( song[i], left_samples, right_samples ) ) > 0 )\n * AnalyzeSamples ( left_samples, right_samples, num_samples, 2 );\n * fprintf (\"Recommended dB change for song %2d: %+6.2 dB\\n\", i, GetTitleGain() );\n * }\n * fprintf (\"Recommended dB change for whole album: %+6.2 dB\\n\", GetAlbumGain() );\n */ /*\n * So here's the main source of potential code confusion:\n *\n * The filters applied to the incoming samples are IIR filters,\n * meaning they rely on up to <filter order> number of previous samples\n * AND up to <filter order> number of previous filtered samples.\n *\n * I set up the AnalyzeSamples routine to minimize memory usage and interface\n * complexity. The speed isn't compromised too much (I don't think), but the\n * internal complexity is higher than it should be for such a relatively\n * simple routine.\n *\n * Optimization/clarity suggestions are welcome.\n */ \nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $81aabe360221f821$var$System = $3YDN3.System;\nvar $81aabe360221f821$var$VbrMode = $3YDN3.VbrMode;\nvar $81aabe360221f821$var$Float = $3YDN3.Float;\nvar $81aabe360221f821$var$ShortBlock = $3YDN3.ShortBlock;\nvar $81aabe360221f821$var$Util = $3YDN3.Util;\nvar $81aabe360221f821$var$Arrays = $3YDN3.Arrays;\nvar $81aabe360221f821$var$new_array_n = $3YDN3.new_array_n;\nvar $81aabe360221f821$var$new_byte = $3YDN3.new_byte;\nvar $81aabe360221f821$var$new_double = $3YDN3.new_double;\nvar $81aabe360221f821$var$new_float = $3YDN3.new_float;\nvar $81aabe360221f821$var$new_float_n = $3YDN3.new_float_n;\nvar $81aabe360221f821$var$new_int = $3YDN3.new_int;\nvar $81aabe360221f821$var$new_int_n = $3YDN3.new_int_n;\nvar $81aabe360221f821$var$assert = $3YDN3.assert;\n/**\n * Table entries per dB\n */ $81aabe360221f821$var$GainAnalysis.STEPS_per_dB = 100.;\n/**\n * Table entries for 0...MAX_dB (normal max. values are 70...80 dB)\n */ $81aabe360221f821$var$GainAnalysis.MAX_dB = 120.;\n$81aabe360221f821$var$GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES = -24601;\n$81aabe360221f821$var$GainAnalysis.GAIN_ANALYSIS_ERROR = 0;\n$81aabe360221f821$var$GainAnalysis.GAIN_ANALYSIS_OK = 1;\n$81aabe360221f821$var$GainAnalysis.INIT_GAIN_ANALYSIS_ERROR = 0;\n$81aabe360221f821$var$GainAnalysis.INIT_GAIN_ANALYSIS_OK = 1;\n$81aabe360221f821$var$GainAnalysis.YULE_ORDER = 10;\n$81aabe360221f821$var$GainAnalysis.MAX_ORDER = $81aabe360221f821$var$GainAnalysis.YULE_ORDER;\n$81aabe360221f821$var$GainAnalysis.MAX_SAMP_FREQ = 48000;\n$81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_NUMERATOR = 1;\n$81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR = 20;\n$81aabe360221f821$var$GainAnalysis.MAX_SAMPLES_PER_WINDOW = $81aabe360221f821$var$GainAnalysis.MAX_SAMP_FREQ * $81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_NUMERATOR / $81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR + 1;\nfunction $81aabe360221f821$var$GainAnalysis() {\n /**\n * calibration value for 89dB\n */ var PINK_REF = 64.82;\n var YULE_ORDER = $81aabe360221f821$var$GainAnalysis.YULE_ORDER;\n /**\n * percentile which is louder than the proposed level\n */ var RMS_PERCENTILE = 0.95;\n /**\n * maximum allowed sample frequency [Hz]\n */ var MAX_SAMP_FREQ = $81aabe360221f821$var$GainAnalysis.MAX_SAMP_FREQ;\n var RMS_WINDOW_TIME_NUMERATOR = $81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_NUMERATOR;\n /**\n * numerator / denominator = time slice size [s]\n */ var RMS_WINDOW_TIME_DENOMINATOR = $81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR;\n /**\n * max. Samples per Time slice\n */ var MAX_SAMPLES_PER_WINDOW = $81aabe360221f821$var$GainAnalysis.MAX_SAMPLES_PER_WINDOW;\n var ABYule = [\n [\n 0.03857599435200,\n -3.84664617118067,\n -0.02160367184185,\n 7.81501653005538,\n -0.00123395316851,\n -11.34170355132042,\n -0.00009291677959,\n 13.05504219327545,\n -0.01655260341619,\n -12.28759895145294,\n 0.02161526843274,\n 9.48293806319790,\n -0.02074045215285,\n -5.87257861775999,\n 0.00594298065125,\n 2.75465861874613,\n 0.00306428023191,\n -0.86984376593551,\n 0.00012025322027,\n 0.13919314567432,\n 0.00288463683916\n ],\n [\n 0.05418656406430,\n -3.47845948550071,\n -0.02911007808948,\n 6.36317777566148,\n -0.00848709379851,\n -8.54751527471874,\n -0.00851165645469,\n 9.47693607801280,\n -0.00834990904936,\n -8.81498681370155,\n 0.02245293253339,\n 6.85401540936998,\n -0.02596338512915,\n -4.39470996079559,\n 0.01624864962975,\n 2.19611684890774,\n -0.00240879051584,\n -0.75104302451432,\n 0.00674613682247,\n 0.13149317958808,\n -0.00187763777362\n ],\n [\n 0.15457299681924,\n -2.37898834973084,\n -0.09331049056315,\n 2.84868151156327,\n -0.06247880153653,\n -2.64577170229825,\n 0.02163541888798,\n 2.23697657451713,\n -0.05588393329856,\n -1.67148153367602,\n 0.04781476674921,\n 1.00595954808547,\n 0.00222312597743,\n -0.45953458054983,\n 0.03174092540049,\n 0.16378164858596,\n -0.01390589421898,\n -0.05032077717131,\n 0.00651420667831,\n 0.02347897407020,\n -0.00881362733839\n ],\n [\n 0.30296907319327,\n -1.61273165137247,\n -0.22613988682123,\n 1.07977492259970,\n -0.08587323730772,\n -0.2565625775407,\n 0.03282930172664,\n -0.1627671912044,\n -0.00915702933434,\n -0.22638893773906,\n -0.02364141202522,\n 0.39120800788284,\n -0.00584456039913,\n -0.22138138954925,\n 0.06276101321749,\n 0.04500235387352,\n -0.00000828086748,\n 0.02005851806501,\n 0.00205861885564,\n 0.00302439095741,\n -0.02950134983287\n ],\n [\n 0.33642304856132,\n -1.49858979367799,\n -0.2557224142557,\n 0.87350271418188,\n -0.11828570177555,\n 0.12205022308084,\n 0.11921148675203,\n -0.80774944671438,\n -0.07834489609479,\n 0.47854794562326,\n -0.0046997791438,\n -0.12453458140019,\n -0.0058950022444,\n -0.04067510197014,\n 0.05724228140351,\n 0.08333755284107,\n 0.00832043980773,\n -0.04237348025746,\n -0.0163538138454,\n 0.02977207319925,\n -0.0176017656815\n ],\n [\n 0.44915256608450,\n -0.62820619233671,\n -0.14351757464547,\n 0.29661783706366,\n -0.22784394429749,\n -0.372563729424,\n -0.01419140100551,\n 0.00213767857124,\n 0.04078262797139,\n -0.42029820170918,\n -0.12398163381748,\n 0.22199650564824,\n 0.04097565135648,\n 0.00613424350682,\n 0.10478503600251,\n 0.06747620744683,\n -0.01863887810927,\n 0.05784820375801,\n -0.03193428438915,\n 0.03222754072173,\n 0.00541907748707\n ],\n [\n 0.56619470757641,\n -1.04800335126349,\n -0.75464456939302,\n 0.29156311971249,\n 0.16242137742230,\n -0.26806001042947,\n 0.16744243493672,\n 0.00819999645858,\n -0.18901604199609,\n 0.45054734505008,\n 0.30931782841830,\n -0.33032403314006,\n -0.27562961986224,\n 0.06739368333110,\n 0.00647310677246,\n -0.04784254229033,\n 0.08647503780351,\n 0.01639907836189,\n -0.0378898455484,\n 0.01807364323573,\n -0.00588215443421\n ],\n [\n 0.58100494960553,\n -0.51035327095184,\n -0.53174909058578,\n -0.31863563325245,\n -0.14289799034253,\n -0.20256413484477,\n 0.17520704835522,\n 0.14728154134330,\n 0.02377945217615,\n 0.38952639978999,\n 0.15558449135573,\n -0.23313271880868,\n -0.25344790059353,\n -0.05246019024463,\n 0.01628462406333,\n -0.02505961724053,\n 0.06920467763959,\n 0.02442357316099,\n -0.03721611395801,\n 0.01818801111503,\n -0.00749618797172\n ],\n [\n 0.53648789255105,\n -0.2504987195602,\n -0.42163034350696,\n -0.43193942311114,\n -0.00275953611929,\n -0.03424681017675,\n 0.04267842219415,\n -0.04678328784242,\n -0.10214864179676,\n 0.26408300200955,\n 0.14590772289388,\n 0.15113130533216,\n -0.02459864859345,\n -0.17556493366449,\n -0.11202315195388,\n -0.18823009262115,\n -0.04060034127,\n 0.05477720428674,\n 0.04788665548180,\n 0.04704409688120,\n -0.02217936801134\n ]\n ];\n var ABButter = [\n [\n 0.98621192462708,\n -1.97223372919527,\n -1.97242384925416,\n 0.97261396931306,\n 0.98621192462708\n ],\n [\n 0.98500175787242,\n -1.96977855582618,\n -1.97000351574484,\n 0.97022847566350,\n 0.98500175787242\n ],\n [\n 0.97938932735214,\n -1.95835380975398,\n -1.95877865470428,\n 0.95920349965459,\n 0.97938932735214\n ],\n [\n 0.97531843204928,\n -1.95002759149878,\n -1.95063686409857,\n 0.95124613669835,\n 0.97531843204928\n ],\n [\n 0.97316523498161,\n -1.94561023566527,\n -1.94633046996323,\n 0.94705070426118,\n 0.97316523498161\n ],\n [\n 0.96454515552826,\n -1.92783286977036,\n -1.92909031105652,\n 0.93034775234268,\n 0.96454515552826\n ],\n [\n 0.96009142950541,\n -1.91858953033784,\n -1.92018285901082,\n 0.92177618768381,\n 0.96009142950541\n ],\n [\n 0.95856916599601,\n -1.9154210807478,\n -1.91713833199203,\n 0.91885558323625,\n 0.95856916599601\n ],\n [\n 0.94597685600279,\n -1.88903307939452,\n -1.89195371200558,\n 0.89487434461664,\n 0.94597685600279\n ]\n ];\n /**\n * When calling this procedure, make sure that ip[-order] and op[-order]\n * point to real data\n */ //private void filterYule(final float[] input, int inputPos, float[] output,\n //int outputPos, int nSamples, final float[] kernel) {\n function filterYule(input, inputPos, output, outputPos, nSamples, kernel) {\n while(nSamples-- != 0){\n /* 1e-10 is a hack to avoid slowdown because of denormals */ output[outputPos] = 1e-10 + input[inputPos + 0] * kernel[0] - output[outputPos - 1] * kernel[1] + input[inputPos - 1] * kernel[2] - output[outputPos - 2] * kernel[3] + input[inputPos - 2] * kernel[4] - output[outputPos - 3] * kernel[5] + input[inputPos - 3] * kernel[6] - output[outputPos - 4] * kernel[7] + input[inputPos - 4] * kernel[8] - output[outputPos - 5] * kernel[9] + input[inputPos - 5] * kernel[10] - output[outputPos - 6] * kernel[11] + input[inputPos - 6] * kernel[12] - output[outputPos - 7] * kernel[13] + input[inputPos - 7] * kernel[14] - output[outputPos - 8] * kernel[15] + input[inputPos - 8] * kernel[16] - output[outputPos - 9] * kernel[17] + input[inputPos - 9] * kernel[18] - output[outputPos - 10] * kernel[19] + input[inputPos - 10] * kernel[20];\n ++outputPos;\n ++inputPos;\n }\n }\n //private void filterButter(final float[] input, int inputPos,\n // float[] output, int outputPos, int nSamples, final float[] kernel) {\n function filterButter(input, inputPos, output, outputPos, nSamples, kernel) {\n while(nSamples-- != 0){\n output[outputPos] = input[inputPos + 0] * kernel[0] - output[outputPos - 1] * kernel[1] + input[inputPos - 1] * kernel[2] - output[outputPos - 2] * kernel[3] + input[inputPos - 2] * kernel[4];\n ++outputPos;\n ++inputPos;\n }\n }\n /**\n * @return INIT_GAIN_ANALYSIS_OK if successful, INIT_GAIN_ANALYSIS_ERROR if\n * not\n */ function ResetSampleFrequency(rgData, samplefreq) {\n /* zero out initial values */ for(var i = 0; i < MAX_ORDER; i++)rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n switch(0 | samplefreq){\n case 48000:\n rgData.reqindex = 0;\n break;\n case 44100:\n rgData.reqindex = 1;\n break;\n case 32000:\n rgData.reqindex = 2;\n break;\n case 24000:\n rgData.reqindex = 3;\n break;\n case 22050:\n rgData.reqindex = 4;\n break;\n case 16000:\n rgData.reqindex = 5;\n break;\n case 12000:\n rgData.reqindex = 6;\n break;\n case 11025:\n rgData.reqindex = 7;\n break;\n case 8000:\n rgData.reqindex = 8;\n break;\n default:\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n rgData.sampleWindow = 0 | (samplefreq * RMS_WINDOW_TIME_NUMERATOR + RMS_WINDOW_TIME_DENOMINATOR - 1) / RMS_WINDOW_TIME_DENOMINATOR;\n rgData.lsum = 0.;\n rgData.rsum = 0.;\n rgData.totsamp = 0;\n $81aabe360221f821$var$Arrays.ill(rgData.A, 0);\n return INIT_GAIN_ANALYSIS_OK;\n }\n this.InitGainAnalysis = function(rgData, samplefreq) {\n if (ResetSampleFrequency(rgData, samplefreq) != INIT_GAIN_ANALYSIS_OK) return INIT_GAIN_ANALYSIS_ERROR;\n rgData.linpre = MAX_ORDER;\n rgData.rinpre = MAX_ORDER;\n rgData.lstep = MAX_ORDER;\n rgData.rstep = MAX_ORDER;\n rgData.lout = MAX_ORDER;\n rgData.rout = MAX_ORDER;\n $81aabe360221f821$var$Arrays.fill(rgData.B, 0);\n return INIT_GAIN_ANALYSIS_OK;\n };\n /**\n * square\n */ function fsqr(d) {\n return d * d;\n }\n this.AnalyzeSamples = function(rgData, left_samples, left_samplesPos, right_samples, right_samplesPos, num_samples, num_channels) {\n var curleft;\n var curleftBase;\n var curright;\n var currightBase;\n var batchsamples;\n var cursamples;\n var cursamplepos;\n if (num_samples == 0) return GAIN_ANALYSIS_OK;\n cursamplepos = 0;\n batchsamples = num_samples;\n switch(num_channels){\n case 1:\n right_samples = left_samples;\n right_samplesPos = left_samplesPos;\n break;\n case 2:\n break;\n default:\n return GAIN_ANALYSIS_ERROR;\n }\n if (num_samples < MAX_ORDER) {\n $81aabe360221f821$var$System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf, MAX_ORDER, num_samples);\n $81aabe360221f821$var$System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf, MAX_ORDER, num_samples);\n } else {\n $81aabe360221f821$var$System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf, MAX_ORDER, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf, MAX_ORDER, MAX_ORDER);\n }\n while(batchsamples > 0){\n cursamples = batchsamples > rgData.sampleWindow - rgData.totsamp ? rgData.sampleWindow - rgData.totsamp : batchsamples;\n if (cursamplepos < MAX_ORDER) {\n curleft = rgData.linpre + cursamplepos;\n curleftBase = rgData.linprebuf;\n curright = rgData.rinpre + cursamplepos;\n currightBase = rgData.rinprebuf;\n if (cursamples > MAX_ORDER - cursamplepos) cursamples = MAX_ORDER - cursamplepos;\n } else {\n curleft = left_samplesPos + cursamplepos;\n curleftBase = left_samples;\n curright = right_samplesPos + cursamplepos;\n currightBase = right_samples;\n }\n filterYule(curleftBase, curleft, rgData.lstepbuf, rgData.lstep + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterYule(currightBase, curright, rgData.rstepbuf, rgData.rstep + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterButter(rgData.lstepbuf, rgData.lstep + rgData.totsamp, rgData.loutbuf, rgData.lout + rgData.totsamp, cursamples, ABButter[rgData.reqindex]);\n filterButter(rgData.rstepbuf, rgData.rstep + rgData.totsamp, rgData.routbuf, rgData.rout + rgData.totsamp, cursamples, ABButter[rgData.reqindex]);\n curleft = rgData.lout + rgData.totsamp;\n /* Get the squared values */ curleftBase = rgData.loutbuf;\n curright = rgData.rout + rgData.totsamp;\n currightBase = rgData.routbuf;\n var i = cursamples % 8;\n while(i-- != 0){\n rgData.lsum += fsqr(curleftBase[curleft++]);\n rgData.rsum += fsqr(currightBase[curright++]);\n }\n i = cursamples / 8;\n while(i-- != 0){\n rgData.lsum += fsqr(curleftBase[curleft + 0]) + fsqr(curleftBase[curleft + 1]) + fsqr(curleftBase[curleft + 2]) + fsqr(curleftBase[curleft + 3]) + fsqr(curleftBase[curleft + 4]) + fsqr(curleftBase[curleft + 5]) + fsqr(curleftBase[curleft + 6]) + fsqr(curleftBase[curleft + 7]);\n curleft += 8;\n rgData.rsum += fsqr(currightBase[curright + 0]) + fsqr(currightBase[curright + 1]) + fsqr(currightBase[curright + 2]) + fsqr(currightBase[curright + 3]) + fsqr(currightBase[curright + 4]) + fsqr(currightBase[curright + 5]) + fsqr(currightBase[curright + 6]) + fsqr(currightBase[curright + 7]);\n curright += 8;\n }\n batchsamples -= cursamples;\n cursamplepos += cursamples;\n rgData.totsamp += cursamples;\n if (rgData.totsamp == rgData.sampleWindow) {\n /* Get the Root Mean Square (RMS) for this set of samples */ var val = $81aabe360221f821$var$GainAnalysis.STEPS_per_dB * 10. * Math.log10((rgData.lsum + rgData.rsum) / rgData.totsamp * 0.5 + 1.e-37);\n var ival = val <= 0 ? 0 : 0 | val;\n if (ival >= rgData.A.length) ival = rgData.A.length - 1;\n rgData.A[ival]++;\n rgData.lsum = rgData.rsum = 0.;\n $81aabe360221f821$var$System.arraycopy(rgData.loutbuf, rgData.totsamp, rgData.loutbuf, 0, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(rgData.routbuf, rgData.totsamp, rgData.routbuf, 0, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(rgData.lstepbuf, rgData.totsamp, rgData.lstepbuf, 0, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(rgData.rstepbuf, rgData.totsamp, rgData.rstepbuf, 0, MAX_ORDER);\n rgData.totsamp = 0;\n }\n if (rgData.totsamp > rgData.sampleWindow) /*\n * somehow I really screwed up: Error in programming! Contact\n * author about totsamp > sampleWindow\n */ return GAIN_ANALYSIS_ERROR;\n }\n if (num_samples < MAX_ORDER) {\n $81aabe360221f821$var$System.arraycopy(rgData.linprebuf, num_samples, rgData.linprebuf, 0, MAX_ORDER - num_samples);\n $81aabe360221f821$var$System.arraycopy(rgData.rinprebuf, num_samples, rgData.rinprebuf, 0, MAX_ORDER - num_samples);\n $81aabe360221f821$var$System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf, MAX_ORDER - num_samples, num_samples);\n $81aabe360221f821$var$System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf, MAX_ORDER - num_samples, num_samples);\n } else {\n $81aabe360221f821$var$System.arraycopy(left_samples, left_samplesPos + num_samples - MAX_ORDER, rgData.linprebuf, 0, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(right_samples, right_samplesPos + num_samples - MAX_ORDER, rgData.rinprebuf, 0, MAX_ORDER);\n }\n return GAIN_ANALYSIS_OK;\n };\n function analyzeResult(Array, len) {\n var i;\n var elems = 0;\n for(i = 0; i < len; i++)elems += Array[i];\n if (elems == 0) return GAIN_NOT_ENOUGH_SAMPLES;\n var upper = 0 | Math.ceil(elems * (1. - RMS_PERCENTILE));\n for(i = len; i-- > 0;){\n if ((upper -= Array[i]) <= 0) break;\n }\n //return (float) ((float) PINK_REF - (float) i / (float) STEPS_per_dB);\n return PINK_REF - i / $81aabe360221f821$var$GainAnalysis.STEPS_per_dB;\n }\n this.GetTitleGain = function(rgData) {\n var retval = analyzeResult(rgData.A, rgData.A.length);\n for(var i = 0; i < rgData.A.length; i++){\n rgData.B[i] += rgData.A[i];\n rgData.A[i] = 0;\n }\n for(var i = 0; i < MAX_ORDER; i++)rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n rgData.totsamp = 0;\n rgData.lsum = rgData.rsum = 0.;\n return retval;\n };\n}\nmodule.exports = $81aabe360221f821$var$GainAnalysis;\n\n});\n\n\nparcelRequire.register(\"e32wu\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $a3a34d831b8c1682$var$System = $3YDN3.System;\nvar $a3a34d831b8c1682$var$VbrMode = $3YDN3.VbrMode;\nvar $a3a34d831b8c1682$var$Float = $3YDN3.Float;\nvar $a3a34d831b8c1682$var$ShortBlock = $3YDN3.ShortBlock;\nvar $a3a34d831b8c1682$var$Util = $3YDN3.Util;\nvar $a3a34d831b8c1682$var$Arrays = $3YDN3.Arrays;\nvar $a3a34d831b8c1682$var$new_array_n = $3YDN3.new_array_n;\nvar $a3a34d831b8c1682$var$new_byte = $3YDN3.new_byte;\nvar $a3a34d831b8c1682$var$new_double = $3YDN3.new_double;\nvar $a3a34d831b8c1682$var$new_float = $3YDN3.new_float;\nvar $a3a34d831b8c1682$var$new_float_n = $3YDN3.new_float_n;\nvar $a3a34d831b8c1682$var$new_int = $3YDN3.new_int;\nvar $a3a34d831b8c1682$var$new_int_n = $3YDN3.new_int_n;\nvar $a3a34d831b8c1682$var$assert = $3YDN3.assert;\n\nvar $lL4Le = parcelRequire(\"lL4Le\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $arIi9 = parcelRequire(\"arIi9\");\n\nvar $4SDnr = parcelRequire(\"4SDnr\");\nfunction $a3a34d831b8c1682$var$CBRNewIterationLoop(_quantize) {\n var quantize = _quantize;\n this.quantize = quantize;\n this.iteration_loop = function(gfp, pe, ms_ener_ratio, ratio) {\n var gfc = gfp.internal_flags;\n var l3_xmin = $a3a34d831b8c1682$var$new_float($arIi9.SFBMAX);\n var xrpow = $a3a34d831b8c1682$var$new_float(576);\n var targ_bits = $a3a34d831b8c1682$var$new_int(2);\n var mean_bits = 0, max_bits;\n var l3_side = gfc.l3_side;\n var mb = new $lL4Le(mean_bits);\n this.quantize.rv.ResvFrameBegin(gfp, mb);\n mean_bits = mb.bits;\n /* quantize! */ for(var gr = 0; gr < gfc.mode_gr; gr++){\n /*\n\t\t\t * calculate needed bits\n\t\t\t */ max_bits = this.quantize.qupvt.on_pe(gfp, pe, targ_bits, mean_bits, gr, gr);\n if (gfc.mode_ext == $cPNKB.MPG_MD_MS_LR) {\n this.quantize.ms_convert(gfc.l3_side, gr);\n this.quantize.qupvt.reduce_side(targ_bits, ms_ener_ratio[gr], mean_bits, max_bits);\n }\n for(var ch = 0; ch < gfc.channels_out; ch++){\n var adjust, masking_lower_db;\n var cod_info = l3_side.tt[gr][ch];\n if (cod_info.block_type != $cPNKB.SHORT_TYPE) {\n // NORM, START or STOP type\n adjust = 0;\n masking_lower_db = gfc.PSY.mask_adjust - adjust;\n } else {\n adjust = 0;\n masking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n }\n gfc.masking_lower = Math.pow(10.0, masking_lower_db * 0.1);\n /*\n\t\t\t\t * init_outer_loop sets up cod_info, scalefac and xrpow\n\t\t\t\t */ this.quantize.init_outer_loop(gfc, cod_info);\n if (this.quantize.init_xrpow(gfc, cod_info, xrpow)) {\n /*\n\t\t\t\t\t * xr contains energy we will have to encode calculate the\n\t\t\t\t\t * masking abilities find some good quantization in\n\t\t\t\t\t * outer_loop\n\t\t\t\t\t */ this.quantize.qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info, l3_xmin);\n this.quantize.outer_loop(gfp, cod_info, l3_xmin, xrpow, ch, targ_bits[ch]);\n }\n this.quantize.iteration_finish_one(gfc, gr, ch);\n $a3a34d831b8c1682$var$assert(cod_info.part2_3_length <= $4SDnr.MAX_BITS_PER_CHANNEL);\n $a3a34d831b8c1682$var$assert(cod_info.part2_3_length <= targ_bits[ch]);\n } /* for ch */ \n } /* for gr */ \n this.quantize.rv.ResvFrameEnd(gfc, mean_bits);\n };\n}\nmodule.exports = $a3a34d831b8c1682$var$CBRNewIterationLoop;\n\n});\nparcelRequire.register(\"lL4Le\", function(module, exports) {\nfunction $fd71ae23813c0974$var$MeanBits(meanBits) {\n this.bits = meanBits;\n}\nmodule.exports = $fd71ae23813c0974$var$MeanBits;\n\n});\n\n\nparcelRequire.register(\"ctaQC\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $91409b9649b00300$var$System = $3YDN3.System;\nvar $91409b9649b00300$var$VbrMode = $3YDN3.VbrMode;\nvar $91409b9649b00300$var$Float = $3YDN3.Float;\nvar $91409b9649b00300$var$ShortBlock = $3YDN3.ShortBlock;\nvar $91409b9649b00300$var$Util = $3YDN3.Util;\nvar $91409b9649b00300$var$Arrays = $3YDN3.Arrays;\nvar $91409b9649b00300$var$new_array_n = $3YDN3.new_array_n;\nvar $91409b9649b00300$var$new_byte = $3YDN3.new_byte;\nvar $91409b9649b00300$var$new_double = $3YDN3.new_double;\nvar $91409b9649b00300$var$new_float = $3YDN3.new_float;\nvar $91409b9649b00300$var$new_float_n = $3YDN3.new_float_n;\nvar $91409b9649b00300$var$new_int = $3YDN3.new_int;\nvar $91409b9649b00300$var$new_int_n = $3YDN3.new_int_n;\nvar $91409b9649b00300$var$assert = $3YDN3.assert;\n\nvar $65Sx2 = parcelRequire(\"65Sx2\");\n\nvar $dQDcS = parcelRequire(\"dQDcS\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $4SDnr = parcelRequire(\"4SDnr\");\n$91409b9649b00300$var$BitStream.EQ = function(a, b) {\n return Math.abs(a) > Math.abs(b) ? Math.abs(a - b) <= Math.abs(a) * 1e-6 : Math.abs(a - b) <= Math.abs(b) * 1e-6;\n};\n$91409b9649b00300$var$BitStream.NEQ = function(a, b) {\n return !$91409b9649b00300$var$BitStream.EQ(a, b);\n};\n\nfunction $91409b9649b00300$var$BitStream() {\n var Lame = (parcelRequire(\"kk1yk\"));\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */ var MAX_LENGTH = 32;\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n this.setModules = function(_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n /**\n * Bit stream buffer.\n */ //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */ var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */ var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */ var bufBitIdx = 0;\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */ this.getframebits = function(gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n /* get bitrate in kbps [?] */ if (gfc.bitrate_index != 0) bit_rate = $dQDcS.bitrate_table[gfp.version][gfc.bitrate_index];\n else bit_rate = gfp.brate;\n $91409b9649b00300$var$assert(8 <= bit_rate && bit_rate <= 640);\n /* main encoding routine toggles padding on and off */ /* one Layer3 Slot consists of 8 bits */ var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n function putheader_bits(gfc) {\n $91409b9649b00300$var$System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = gfc.w_ptr + 1 & $4SDnr.MAX_HEADER_BUF - 1;\n }\n /**\n * write j bits into the bit stream\n */ function putbits2(gfc, val, j) {\n $91409b9649b00300$var$assert(j < MAX_LENGTH - 2);\n while(j > 0){\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n $91409b9649b00300$var$assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n $91409b9649b00300$var$assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) putheader_bits(gfc);\n buf[bufByteIdx] = 0;\n }\n k = Math.min(j, bufBitIdx);\n j -= k;\n bufBitIdx -= k;\n $91409b9649b00300$var$assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */ $91409b9649b00300$var$assert(bufBitIdx < MAX_LENGTH);\n buf[bufByteIdx] |= val >> j << bufBitIdx;\n totbit += k;\n }\n }\n /**\n * write j bits into the bit stream, ignoring frame headers\n */ function putbits_noheaders(gfc, val, j) {\n $91409b9649b00300$var$assert(j < MAX_LENGTH - 2);\n while(j > 0){\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n $91409b9649b00300$var$assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n k = Math.min(j, bufBitIdx);\n j -= k;\n bufBitIdx -= k;\n $91409b9649b00300$var$assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */ $91409b9649b00300$var$assert(bufBitIdx < MAX_LENGTH);\n buf[bufByteIdx] |= val >> j << bufBitIdx;\n totbit += k;\n }\n }\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */ function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n $91409b9649b00300$var$assert(remainingBits >= 0);\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32) for(i = 0; i < version.length && remainingBits >= 8; ++i){\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n for(; remainingBits >= 1; remainingBits -= 1){\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= !gfp.disable_reservoir ? 1 : 0;\n }\n $91409b9649b00300$var$assert(remainingBits == 0);\n }\n /**\n * write N bits into the header\n */ function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n while(j > 0){\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n $91409b9649b00300$var$assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */ gfc.header[gfc.h_ptr].buf[ptr >> 3] |= val >> j << 8 - (ptr & 7) - k;\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n function CRC_update(value, crc) {\n value <<= 8;\n for(var i = 0; i < 8; i++){\n value <<= 1;\n crc <<= 1;\n if (((crc ^ value) & 0x10000) != 0) crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n this.CRC_writeheader = function(gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */ crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for(var i = 6; i < gfc.sideinfo_len; i++)crc = CRC_update(header[i] & 0xff, crc);\n header[4] = byte(crc >> 8);\n header[5] = byte(crc & 255);\n };\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n $91409b9649b00300$var$Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000) writeheader(gfc, 0xffe, 12);\n else writeheader(gfc, 0xfff, 12);\n writeheader(gfc, gfp.version, 1);\n writeheader(gfc, 1, 2);\n writeheader(gfc, !gfp.error_protection ? 1 : 0, 1);\n writeheader(gfc, gfc.bitrate_index, 4);\n writeheader(gfc, gfc.samplerate_index, 2);\n writeheader(gfc, gfc.padding, 1);\n writeheader(gfc, gfp.extension, 1);\n writeheader(gfc, gfp.mode.ordinal(), 2);\n writeheader(gfc, gfc.mode_ext, 2);\n writeheader(gfc, gfp.copyright, 1);\n writeheader(gfc, gfp.original, 1);\n writeheader(gfc, gfp.emphasis, 2);\n if (gfp.error_protection) writeheader(gfc, 0, 16);\n if (gfp.version == 1) {\n /* MPEG1 */ $91409b9649b00300$var$assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, l3_side.main_data_begin, 9);\n if (gfc.channels_out == 2) writeheader(gfc, l3_side.private_bits, 3);\n else writeheader(gfc, l3_side.private_bits, 5);\n for(ch = 0; ch < gfc.channels_out; ch++){\n var band;\n for(band = 0; band < 4; band++)writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n for(gr = 0; gr < 2; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n if (gi.block_type != $cPNKB.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */ writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n if (gi.table_select[0] == 14) gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14) gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */ if (gi.table_select[0] == 14) gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14) gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14) gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n $91409b9649b00300$var$assert(0 <= gi.region0_count && gi.region0_count < 16);\n $91409b9649b00300$var$assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n } else {\n /* MPEG2 */ $91409b9649b00300$var$assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, l3_side.main_data_begin, 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n gr = 0;\n for(ch = 0; ch < gfc.channels_out; ch++){\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n if (gi.block_type != $cPNKB.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */ writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n if (gi.table_select[0] == 14) gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14) gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */ if (gi.table_select[0] == 14) gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14) gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14) gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n $91409b9649b00300$var$assert(0 <= gi.region0_count && gi.region0_count < 16);\n $91409b9649b00300$var$assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n if (gfp.error_protection) /* (jo) error_protection: add crc16 information to header */ CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n var old = gfc.h_ptr;\n $91409b9649b00300$var$assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n gfc.h_ptr = old + 1 & $4SDnr.MAX_HEADER_BUF - 1;\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing + bitsPerFrame;\n if (gfc.h_ptr == gfc.w_ptr) /* yikes! we are out of header buffer space */ $91409b9649b00300$var$System.err.println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */ var h = $dQDcS.ht[gi.count1table_select + 32];\n var i, bits = 0;\n var ix = gi.big_values;\n var xr = gi.big_values;\n $91409b9649b00300$var$assert(gi.count1table_select < 2);\n for(i = (gi.count1 - gi.big_values) / 4; i > 0; --i){\n var huffbits = 0;\n var p = 0, v;\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0) huffbits++;\n $91409b9649b00300$var$assert(v <= 1);\n }\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0) huffbits++;\n $91409b9649b00300$var$assert(v <= 1);\n }\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0) huffbits++;\n $91409b9649b00300$var$assert(v <= 1);\n }\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0) huffbits++;\n $91409b9649b00300$var$assert(v <= 1);\n }\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n /**\n * Implements the pseudocode of page 98 of the IS\n */ function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = $dQDcS.ht[tableindex];\n var bits = 0;\n $91409b9649b00300$var$assert(tableindex < 32);\n if (0 == tableindex) return bits;\n for(var i = start; i < end; i += 2){\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n if (x1 != 0) {\n if (gi.xr[i] < 0) ext++;\n cbits--;\n }\n if (tableindex > 15) {\n /* use ESC-words */ if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n $91409b9649b00300$var$assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n $91409b9649b00300$var$assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0) ext++;\n cbits--;\n }\n $91409b9649b00300$var$assert((x1 | x2) < 16);\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n $91409b9649b00300$var$assert(cbits <= MAX_LENGTH);\n $91409b9649b00300$var$assert(xbits <= MAX_LENGTH);\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */ function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values) region1Start = gi.big_values;\n /* short blocks do not have a region2 */ var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start, gi.big_values, gi);\n return bits;\n }\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n bigvalues = gi.big_values;\n $91409b9649b00300$var$assert(0 <= bigvalues && bigvalues <= 576);\n var i = gi.region0_count + 1;\n $91409b9649b00300$var$assert(0 <= i);\n $91409b9649b00300$var$assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n $91409b9649b00300$var$assert(0 <= i);\n $91409b9649b00300$var$assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n if (region1Start > bigvalues) region1Start = bigvalues;\n if (region2Start > bigvalues) region2Start = bigvalues;\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start, region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues, gi);\n return bits;\n }\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n if (gfp.version == 1) {\n /* MPEG 1 */ for(gr = 0; gr < 2; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n var gi = l3_side.tt[gr][ch];\n var slen1 = $65Sx2.slen1_tab[gi.scalefac_compress];\n var slen2 = $65Sx2.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for(sfb = 0; sfb < gi.sfbdivide; sfb++){\n if (gi.scalefac[sfb] == -1) continue;\n /* scfsi is used */ putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for(; sfb < gi.sfbmax; sfb++){\n if (gi.scalefac[sfb] == -1) continue;\n /* scfsi is used */ putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n $91409b9649b00300$var$assert(data_bits == gi.part2_length);\n if (gi.block_type == $cPNKB.SHORT_TYPE) data_bits += ShortHuffmancodebits(gfc, gi);\n else data_bits += LongHuffmancodebits(gfc, gi);\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */ $91409b9649b00300$var$assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for gr */ } else {\n /* MPEG 2 */ gr = 0;\n for(ch = 0; ch < gfc.channels_out; ch++){\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n $91409b9649b00300$var$assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n if (gi.block_type == $cPNKB.SHORT_TYPE) {\n for(; sfb_partition < 4; sfb_partition++){\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for(i = 0; i < sfbs; i++, sfb++){\n putbits2(gfc, Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc, Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc, Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for(; sfb_partition < 4; sfb_partition++){\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for(i = 0; i < sfbs; i++, sfb++){\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */ $91409b9649b00300$var$assert(data_bits == gi.part2_3_length);\n $91409b9649b00300$var$assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */ }\n /* for gf */ return tot_bits;\n }\n /* main_data */ function TotalBytes() {\n this.total = 0;\n }\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */ function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */ last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */ if (last_ptr == -1) last_ptr = $4SDnr.MAX_HEADER_BUF - 1;\n /* add this many bits to bitstream so we can flush all headers */ flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */ /* reduce flushbits by the size of the headers */ remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr) remaining_headers = 1 + last_ptr - first_ptr + $4SDnr.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */ bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */ if (total_bytes_output.total % 8 != 0) total_bytes_output.total = 1 + total_bytes_output.total / 8;\n else total_bytes_output.total = total_bytes_output.total / 8;\n total_bytes_output.total += bufByteIdx + 1;\n if (flushbits < 0) $91409b9649b00300$var$System.err.println(\"strange error flushing buffer ... \\n\");\n return flushbits;\n }\n this.flush_bitstream = function(gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */ if (last_ptr == -1) last_ptr = $4SDnr.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0) return;\n drain_into_ancillary(gfp, flushbits);\n /* check that the 100% of the last frame has been written to bitstream */ $91409b9649b00300$var$assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */ gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n /* save the ReplayGain value */ if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n $91409b9649b00300$var$assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */ }\n /* find the gain and scale change required for no clipping */ if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math.log10(gfc.PeakSample / 32767.0) * 200) | 0;\n /* round up */ if (gfc.noclipGainChange > 0) {\n /* clipping occurs */ if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0)) gfc.noclipScale = Math.floor(32767.0 / gfc.PeakSample * 100.0) / 100.0;\n else /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */ gfc.noclipScale = -1;\n } else /* no clipping */ gfc.noclipScale = -1;\n }\n };\n this.add_dummy_byte = function(gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n while(n-- > 0){\n putbits_noheaders(gfc, val, 8);\n for(i = 0; i < $4SDnr.MAX_HEADER_BUF; ++i)gfc.header[i].write_timing += 8;\n }\n };\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */ this.format_bitstream = function(gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */ if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) $91409b9649b00300$var$System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */ if (l3_side.main_data_begin * 8 != gfc.ResvSize) {\n $91409b9649b00300$var$System.err.printf(\"bit reservoir error: \\nl3_side.main_data_begin: %d \\nResvoir size: %d \\nresv drain (post) %d \\nresv drain (pre) %d \\nheader and sideinfo: %d \\ndata bits: %d \\ntotal bits: %d (remainder: %d) \\nbitsperframe: %d \\n\", 8 * l3_side.main_data_begin, gfc.ResvSize, l3_side.resvDrain_post, l3_side.resvDrain_pre, 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8 * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n $91409b9649b00300$var$System.err.println(\"This is a fatal error. It has several possible causes:\");\n $91409b9649b00300$var$System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n $91409b9649b00300$var$System.err.println(\" 9%% Your system is overclocked\");\n $91409b9649b00300$var$System.err.println(\" 1%% bug in LAME encoding library\");\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n $91409b9649b00300$var$assert(totbit % 8 == 0);\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */ var i;\n for(i = 0; i < $4SDnr.MAX_HEADER_BUF; ++i)gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n return 0;\n };\n /**\n * <PRE>\n * copy data out of the internal MP3 bit buffer into a user supplied\n * unsigned char buffer.\n *\n * mp3data=0 indicates data in buffer is an id3tags and VBR tags\n * mp3data=1 data is real mp3 frame data.\n * </PRE>\n */ this.copy_buffer = function(gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0) return 0;\n if (size != 0 && minimum > size) /* buffer is too small */ return -1;\n $91409b9649b00300$var$System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n if (mp3data != 0) {\n var crc = $91409b9649b00300$var$new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */ if (minimum > 0) gfc.VBR_seek_table.nBytesWritten += minimum;\n if (gfc.decode_on_the_fly) {\n var pcm_buf = $91409b9649b00300$var$new_float_n([\n 2,\n 1152\n ]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */ while(samples_out != 0){\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer, bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */ /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */ mp3_in = 0;\n if (samples_out == -1) /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */ samples_out = 0;\n if (samples_out > 0) {\n /* process the PCM data */ /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */ $91409b9649b00300$var$assert(samples_out <= 1152);\n if (gfc.findPeakSample) {\n for(i = 0; i < samples_out; i++){\n if (pcm_buf[0][i] > gfc.PeakSample) gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample) gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1) for(i = 0; i < samples_out; i++){\n if (pcm_buf[1][i] > gfc.PeakSample) gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample) gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n if (gfc.findReplayGain) {\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0, pcm_buf[1], 0, samples_out, gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR) return -6;\n }\n }\n /* if (samples_out>0) */ }\n /* while (samples_out!=0) */ }\n /* if (gfc.decode_on_the_fly) */ }\n /* if (mp3data) */ return minimum;\n };\n this.init_bit_stream_w = function(gfc) {\n buf = $91409b9649b00300$var$new_byte(Lame.LAME_MAXMP3BUFFER);\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n// From machine.h\n}\nmodule.exports = $91409b9649b00300$var$BitStream;\n\n});\nparcelRequire.register(\"65Sx2\", function(module, exports) {\n/*\n *\tMP3 huffman table selecting and bit counting\n *\n *\tCopyright (c) 1999-2005 Takehiro TOMINAGA\n *\tCopyright (c) 2002-2005 Gabriel Bouvigne\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\t See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: Takehiro.java,v 1.26 2011/05/24 20:48:06 kenchis Exp $ */ //package mp3;\n//import java.util.Arrays;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $46fd82963609949b$var$System = $3YDN3.System;\nvar $46fd82963609949b$var$VbrMode = $3YDN3.VbrMode;\nvar $46fd82963609949b$var$Float = $3YDN3.Float;\nvar $46fd82963609949b$var$ShortBlock = $3YDN3.ShortBlock;\nvar $46fd82963609949b$var$Util = $3YDN3.Util;\nvar $46fd82963609949b$var$Arrays = $3YDN3.Arrays;\nvar $46fd82963609949b$var$new_array_n = $3YDN3.new_array_n;\nvar $46fd82963609949b$var$new_byte = $3YDN3.new_byte;\nvar $46fd82963609949b$var$new_double = $3YDN3.new_double;\nvar $46fd82963609949b$var$new_float = $3YDN3.new_float;\nvar $46fd82963609949b$var$new_float_n = $3YDN3.new_float_n;\nvar $46fd82963609949b$var$new_int = $3YDN3.new_int;\nvar $46fd82963609949b$var$new_int_n = $3YDN3.new_int_n;\nvar $46fd82963609949b$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $dQDcS = parcelRequire(\"dQDcS\");\n\nvar $7weBo = parcelRequire(\"7weBo\");\n\nvar $84mea = parcelRequire(\"84mea\");\nfunction $46fd82963609949b$var$Takehiro() {\n var qupvt = null;\n this.qupvt = null;\n this.setModules = function(_qupvt) {\n this.qupvt = _qupvt;\n qupvt = _qupvt;\n };\n function Bits(b) {\n this.bits = 0 | b;\n }\n var subdv_table = [\n [\n 0,\n 0\n ],\n /* 0 bands */ [\n 0,\n 0\n ],\n /* 1 bands */ [\n 0,\n 0\n ],\n /* 2 bands */ [\n 0,\n 0\n ],\n /* 3 bands */ [\n 0,\n 0\n ],\n /* 4 bands */ [\n 0,\n 1\n ],\n /* 5 bands */ [\n 1,\n 1\n ],\n /* 6 bands */ [\n 1,\n 1\n ],\n /* 7 bands */ [\n 1,\n 2\n ],\n /* 8 bands */ [\n 2,\n 2\n ],\n /* 9 bands */ [\n 2,\n 3\n ],\n /* 10 bands */ [\n 2,\n 3\n ],\n /* 11 bands */ [\n 3,\n 4\n ],\n /* 12 bands */ [\n 3,\n 4\n ],\n /* 13 bands */ [\n 3,\n 4\n ],\n /* 14 bands */ [\n 4,\n 5\n ],\n /* 15 bands */ [\n 4,\n 5\n ],\n /* 16 bands */ [\n 4,\n 6\n ],\n /* 17 bands */ [\n 5,\n 6\n ],\n /* 18 bands */ [\n 5,\n 6\n ],\n /* 19 bands */ [\n 5,\n 7\n ],\n /* 20 bands */ [\n 6,\n 7\n ],\n /* 21 bands */ [\n 6,\n 7\n ]\n ];\n /**\n * nonlinear quantization of xr More accurate formula than the ISO formula.\n * Takes into account the fact that we are quantizing xr . ix, but we want\n * ix^4/3 to be as close as possible to x^4/3. (taking the nearest int would\n * mean ix is as close as possible to xr, which is different.)\n *\n * From Segher Boessenkool <segher@eastsite.nl> 11/1999\n *\n * 09/2000: ASM code removed in favor of IEEE754 hack by Takehiro Tominaga.\n * If you need the ASM code, check CVS circa Aug 2000.\n *\n * 01/2004: Optimizations by Gabriel Bouvigne\n */ function quantize_lines_xrpow_01(l, istep, xr, xrPos, ix, ixPos) {\n var compareval0 = 0.5946 / istep;\n $46fd82963609949b$var$assert(l > 0);\n l = l >> 1;\n while(l-- != 0){\n ix[ixPos++] = compareval0 > xr[xrPos++] ? 0 : 1;\n ix[ixPos++] = compareval0 > xr[xrPos++] ? 0 : 1;\n }\n }\n /**\n * XRPOW_FTOI is a macro to convert floats to ints.<BR>\n * if XRPOW_FTOI(x) = nearest_int(x), then QUANTFAC(x)=adj43asm[x]<BR>\n * ROUNDFAC= -0.0946<BR>\n *\n * if XRPOW_FTOI(x) = floor(x), then QUANTFAC(x)=asj43[x]<BR>\n * ROUNDFAC=0.4054<BR>\n *\n * Note: using floor() or 0| is extremely slow. On machines where the\n * TAKEHIRO_IEEE754_HACK code above does not work, it is worthwile to write\n * some ASM for XRPOW_FTOI().\n */ function quantize_lines_xrpow(l, istep, xr, xrPos, ix, ixPos) {\n $46fd82963609949b$var$assert(l > 0);\n l = l >> 1;\n var remaining = l % 2;\n l = l >> 1;\n while(l-- != 0){\n var x0, x1, x2, x3;\n var rx0, rx1, rx2, rx3;\n x0 = xr[xrPos++] * istep;\n x1 = xr[xrPos++] * istep;\n rx0 = 0 | x0;\n x2 = xr[xrPos++] * istep;\n rx1 = 0 | x1;\n x3 = xr[xrPos++] * istep;\n rx2 = 0 | x2;\n x0 += qupvt.adj43[rx0];\n rx3 = 0 | x3;\n x1 += qupvt.adj43[rx1];\n ix[ixPos++] = 0 | x0;\n x2 += qupvt.adj43[rx2];\n ix[ixPos++] = 0 | x1;\n x3 += qupvt.adj43[rx3];\n ix[ixPos++] = 0 | x2;\n ix[ixPos++] = 0 | x3;\n }\n if (remaining != 0) {\n var x0, x1;\n var rx0, rx1;\n x0 = xr[xrPos++] * istep;\n x1 = xr[xrPos++] * istep;\n rx0 = 0 | x0;\n rx1 = 0 | x1;\n x0 += qupvt.adj43[rx0];\n x1 += qupvt.adj43[rx1];\n ix[ixPos++] = 0 | x0;\n ix[ixPos++] = 0 | x1;\n }\n }\n /**\n * Quantization function This function will select which lines to quantize\n * and call the proper quantization function\n */ function quantize_xrpow(xp, pi, istep, codInfo, prevNoise) {\n /* quantize on xr^(3/4) instead of xr */ var sfb;\n var sfbmax;\n var j = 0;\n var prev_data_use;\n var accumulate = 0;\n var accumulate01 = 0;\n var xpPos = 0;\n var iData = pi;\n var iDataPos = 0;\n var acc_iData = iData;\n var acc_iDataPos = 0;\n var acc_xp = xp;\n var acc_xpPos = 0;\n /*\n * Reusing previously computed data does not seems to work if global\n * gain is changed. Finding why it behaves this way would allow to use a\n * cache of previously computed values (let's 10 cached values per sfb)\n * that would probably provide a noticeable speedup\n */ prev_data_use = prevNoise != null && codInfo.global_gain == prevNoise.global_gain;\n if (codInfo.block_type == $cPNKB.SHORT_TYPE) sfbmax = 38;\n else sfbmax = 21;\n for(sfb = 0; sfb <= sfbmax; sfb++){\n var step = -1;\n if (prev_data_use || codInfo.block_type == $cPNKB.NORM_TYPE) step = codInfo.global_gain - (codInfo.scalefac[sfb] + (codInfo.preflag != 0 ? qupvt.pretab[sfb] : 0) << codInfo.scalefac_scale + 1) - codInfo.subblock_gain[codInfo.window[sfb]] * 8;\n $46fd82963609949b$var$assert(codInfo.width[sfb] >= 0);\n if (prev_data_use && prevNoise.step[sfb] == step) {\n /*\n * do not recompute this part, but compute accumulated lines\n */ if (accumulate != 0) {\n quantize_lines_xrpow(accumulate, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate = 0;\n }\n if (accumulate01 != 0) {\n quantize_lines_xrpow_01(accumulate01, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate01 = 0;\n }\n } else {\n var l = codInfo.width[sfb];\n if (j + codInfo.width[sfb] > codInfo.max_nonzero_coeff) {\n /* do not compute upper zero part */ var usefullsize;\n usefullsize = codInfo.max_nonzero_coeff - j + 1;\n $46fd82963609949b$var$Arrays.fill(pi, codInfo.max_nonzero_coeff, 576, 0);\n l = usefullsize;\n if (l < 0) l = 0;\n /* no need to compute higher sfb values */ sfb = sfbmax + 1;\n }\n /* accumulate lines to quantize */ if (0 == accumulate && 0 == accumulate01) {\n acc_iData = iData;\n acc_iDataPos = iDataPos;\n acc_xp = xp;\n acc_xpPos = xpPos;\n }\n if (prevNoise != null && prevNoise.sfb_count1 > 0 && sfb >= prevNoise.sfb_count1 && prevNoise.step[sfb] > 0 && step >= prevNoise.step[sfb]) {\n if (accumulate != 0) {\n quantize_lines_xrpow(accumulate, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate = 0;\n acc_iData = iData;\n acc_iDataPos = iDataPos;\n acc_xp = xp;\n acc_xpPos = xpPos;\n }\n accumulate01 += l;\n } else {\n if (accumulate01 != 0) {\n quantize_lines_xrpow_01(accumulate01, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate01 = 0;\n acc_iData = iData;\n acc_iDataPos = iDataPos;\n acc_xp = xp;\n acc_xpPos = xpPos;\n }\n accumulate += l;\n }\n if (l <= 0) {\n /*\n * rh: 20040215 may happen due to \"prev_data_use\"\n * optimization\n */ if (accumulate01 != 0) {\n quantize_lines_xrpow_01(accumulate01, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate01 = 0;\n }\n if (accumulate != 0) {\n quantize_lines_xrpow(accumulate, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate = 0;\n }\n break;\n /* ends for-loop */ }\n }\n if (sfb <= sfbmax) {\n iDataPos += codInfo.width[sfb];\n xpPos += codInfo.width[sfb];\n j += codInfo.width[sfb];\n }\n }\n if (accumulate != 0) {\n quantize_lines_xrpow(accumulate, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate = 0;\n }\n if (accumulate01 != 0) {\n quantize_lines_xrpow_01(accumulate01, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate01 = 0;\n }\n }\n /**\n * ix_max\n */ function ix_max(ix, ixPos, endPos) {\n var max1 = 0, max2 = 0;\n do {\n var x1 = ix[ixPos++];\n var x2 = ix[ixPos++];\n if (max1 < x1) max1 = x1;\n if (max2 < x2) max2 = x2;\n }while (ixPos < endPos);\n if (max1 < max2) max1 = max2;\n return max1;\n }\n function count_bit_ESC(ix, ixPos, end, t1, t2, s) {\n /* ESC-table is used */ var linbits = $dQDcS.ht[t1].xlen * 65536 + $dQDcS.ht[t2].xlen;\n var sum = 0, sum2;\n do {\n var x = ix[ixPos++];\n var y = ix[ixPos++];\n if (x != 0) {\n if (x > 14) {\n x = 15;\n sum += linbits;\n }\n x *= 16;\n }\n if (y != 0) {\n if (y > 14) {\n y = 15;\n sum += linbits;\n }\n x += y;\n }\n sum += $dQDcS.largetbl[x];\n }while (ixPos < end);\n sum2 = sum & 0xffff;\n sum >>= 16;\n if (sum > sum2) {\n sum = sum2;\n t1 = t2;\n }\n s.bits += sum;\n return t1;\n }\n function count_bit_noESC(ix, ixPos, end, s) {\n /* No ESC-words */ var sum1 = 0;\n var hlen1 = $dQDcS.ht[1].hlen;\n do {\n var x = ix[ixPos + 0] * 2 + ix[ixPos + 1];\n ixPos += 2;\n sum1 += hlen1[x];\n }while (ixPos < end);\n s.bits += sum1;\n return 1;\n }\n function count_bit_noESC_from2(ix, ixPos, end, t1, s) {\n /* No ESC-words */ var sum = 0, sum2;\n var xlen = $dQDcS.ht[t1].xlen;\n var hlen;\n if (t1 == 2) hlen = $dQDcS.table23;\n else hlen = $dQDcS.table56;\n do {\n var x = ix[ixPos + 0] * xlen + ix[ixPos + 1];\n ixPos += 2;\n sum += hlen[x];\n }while (ixPos < end);\n sum2 = sum & 0xffff;\n sum >>= 16;\n if (sum > sum2) {\n sum = sum2;\n t1++;\n }\n s.bits += sum;\n return t1;\n }\n function count_bit_noESC_from3(ix, ixPos, end, t1, s) {\n /* No ESC-words */ var sum1 = 0;\n var sum2 = 0;\n var sum3 = 0;\n var xlen = $dQDcS.ht[t1].xlen;\n var hlen1 = $dQDcS.ht[t1].hlen;\n var hlen2 = $dQDcS.ht[t1 + 1].hlen;\n var hlen3 = $dQDcS.ht[t1 + 2].hlen;\n do {\n var x = ix[ixPos + 0] * xlen + ix[ixPos + 1];\n ixPos += 2;\n sum1 += hlen1[x];\n sum2 += hlen2[x];\n sum3 += hlen3[x];\n }while (ixPos < end);\n var t = t1;\n if (sum1 > sum2) {\n sum1 = sum2;\n t++;\n }\n if (sum1 > sum3) {\n sum1 = sum3;\n t = t1 + 2;\n }\n s.bits += sum1;\n return t;\n }\n /*************************************************************************/ /* choose table */ /*************************************************************************/ var huf_tbl_noESC = [\n 1,\n 2,\n 5,\n 7,\n 7,\n 10,\n 10,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13\n ];\n /**\n * Choose the Huffman table that will encode ix[begin..end] with the fewest\n * bits.\n *\n * Note: This code contains knowledge about the sizes and characteristics of\n * the Huffman tables as defined in the IS (Table B.7), and will not work\n * with any arbitrary tables.\n */ function choose_table(ix, ixPos, endPos, s) {\n var max = ix_max(ix, ixPos, endPos);\n switch(max){\n case 0:\n return max;\n case 1:\n return count_bit_noESC(ix, ixPos, endPos, s);\n case 2:\n case 3:\n return count_bit_noESC_from2(ix, ixPos, endPos, huf_tbl_noESC[max - 1], s);\n case 4:\n case 5:\n case 6:\n case 7:\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n return count_bit_noESC_from3(ix, ixPos, endPos, huf_tbl_noESC[max - 1], s);\n default:\n /* try tables with linbits */ if (max > $84mea.IXMAX_VAL) {\n s.bits = $84mea.LARGE_BITS;\n return -1;\n }\n max -= 15;\n var choice2;\n for(choice2 = 24; choice2 < 32; choice2++){\n if ($dQDcS.ht[choice2].linmax >= max) break;\n }\n var choice;\n for(choice = choice2 - 8; choice < 24; choice++){\n if ($dQDcS.ht[choice].linmax >= max) break;\n }\n return count_bit_ESC(ix, ixPos, endPos, choice, choice2, s);\n }\n }\n /**\n * count_bit\n */ this.noquant_count_bits = function(gfc, gi, prev_noise) {\n var ix = gi.l3_enc;\n var i = Math.min(576, gi.max_nonzero_coeff + 2 >> 1 << 1);\n if (prev_noise != null) prev_noise.sfb_count1 = 0;\n /* Determine count1 region */ for(; i > 1; i -= 2)if ((ix[i - 1] | ix[i - 2]) != 0) break;\n gi.count1 = i;\n /* Determines the number of bits to encode the quadruples. */ var a1 = 0;\n var a2 = 0;\n for(; i > 3; i -= 4){\n var p;\n /* hack to check if all values <= 1 */ //throw \"TODO: HACK if ((((long) ix[i - 1] | (long) ix[i - 2] | (long) ix[i - 3] | (long) ix[i - 4]) & 0xffffffffL) > 1L \"\n //if (true) {\n if (((ix[i - 1] | ix[i - 2] | ix[i - 3] | ix[i - 4]) & 0x7fffffff) > 1) break;\n p = ((ix[i - 4] * 2 + ix[i - 3]) * 2 + ix[i - 2]) * 2 + ix[i - 1];\n a1 += $dQDcS.t32l[p];\n a2 += $dQDcS.t33l[p];\n }\n var bits = a1;\n gi.count1table_select = 0;\n if (a1 > a2) {\n bits = a2;\n gi.count1table_select = 1;\n }\n gi.count1bits = bits;\n gi.big_values = i;\n if (i == 0) return bits;\n if (gi.block_type == $cPNKB.SHORT_TYPE) {\n a1 = 3 * gfc.scalefac_band.s[3];\n if (a1 > gi.big_values) a1 = gi.big_values;\n a2 = gi.big_values;\n } else if (gi.block_type == $cPNKB.NORM_TYPE) {\n $46fd82963609949b$var$assert(i <= 576);\n /* bv_scf has 576 entries (0..575) */ a1 = gi.region0_count = gfc.bv_scf[i - 2];\n a2 = gi.region1_count = gfc.bv_scf[i - 1];\n $46fd82963609949b$var$assert(a1 + a2 + 2 < $cPNKB.SBPSY_l);\n a2 = gfc.scalefac_band.l[a1 + a2 + 2];\n a1 = gfc.scalefac_band.l[a1 + 1];\n if (a2 < i) {\n var bi = new Bits(bits);\n gi.table_select[2] = choose_table(ix, a2, i, bi);\n bits = bi.bits;\n }\n } else {\n gi.region0_count = 7;\n /* gi.region1_count = SBPSY_l - 7 - 1; */ gi.region1_count = $cPNKB.SBMAX_l - 1 - 7 - 1;\n a1 = gfc.scalefac_band.l[8];\n a2 = i;\n if (a1 > a2) a1 = a2;\n }\n /* have to allow for the case when bigvalues < region0 < region1 */ /* (and region0, region1 are ignored) */ a1 = Math.min(a1, i);\n a2 = Math.min(a2, i);\n $46fd82963609949b$var$assert(a1 >= 0);\n $46fd82963609949b$var$assert(a2 >= 0);\n /* Count the number of bits necessary to code the bigvalues region. */ if (0 < a1) {\n var bi = new Bits(bits);\n gi.table_select[0] = choose_table(ix, 0, a1, bi);\n bits = bi.bits;\n }\n if (a1 < a2) {\n var bi = new Bits(bits);\n gi.table_select[1] = choose_table(ix, a1, a2, bi);\n bits = bi.bits;\n }\n if (gfc.use_best_huffman == 2) {\n gi.part2_3_length = bits;\n best_huffman_divide(gfc, gi);\n bits = gi.part2_3_length;\n }\n if (prev_noise != null) {\n if (gi.block_type == $cPNKB.NORM_TYPE) {\n var sfb = 0;\n while(gfc.scalefac_band.l[sfb] < gi.big_values)sfb++;\n prev_noise.sfb_count1 = sfb;\n }\n }\n return bits;\n };\n this.count_bits = function(gfc, xr, gi, prev_noise) {\n var ix = gi.l3_enc;\n /* since quantize_xrpow uses table lookup, we need to check this first: */ var w = $84mea.IXMAX_VAL / qupvt.IPOW20(gi.global_gain);\n if (gi.xrpow_max > w) return $84mea.LARGE_BITS;\n quantize_xrpow(xr, ix, qupvt.IPOW20(gi.global_gain), gi, prev_noise);\n if ((gfc.substep_shaping & 2) != 0) {\n var j = 0;\n /* 0.634521682242439 = 0.5946*2**(.5*0.1875) */ var gain = gi.global_gain + gi.scalefac_scale;\n var roundfac = 0.634521682242439 / qupvt.IPOW20(gain);\n for(var sfb = 0; sfb < gi.sfbmax; sfb++){\n var width = gi.width[sfb];\n $46fd82963609949b$var$assert(width >= 0);\n if (0 == gfc.pseudohalf[sfb]) j += width;\n else {\n var k;\n for(k = j, j += width; k < j; ++k)ix[k] = xr[k] >= roundfac ? ix[k] : 0;\n }\n }\n }\n return this.noquant_count_bits(gfc, gi, prev_noise);\n };\n /**\n * re-calculate the best scalefac_compress using scfsi the saved bits are\n * kept in the bit reservoir.\n */ function recalc_divide_init(gfc, cod_info, ix, r01_bits, r01_div, r0_tbl, r1_tbl) {\n var bigv = cod_info.big_values;\n for(var r0 = 0; r0 <= 22; r0++)r01_bits[r0] = $84mea.LARGE_BITS;\n for(var r0 = 0; r0 < 16; r0++){\n var a1 = gfc.scalefac_band.l[r0 + 1];\n if (a1 >= bigv) break;\n var r0bits = 0;\n var bi = new Bits(r0bits);\n var r0t = choose_table(ix, 0, a1, bi);\n r0bits = bi.bits;\n for(var r1 = 0; r1 < 8; r1++){\n var a2 = gfc.scalefac_band.l[r0 + r1 + 2];\n if (a2 >= bigv) break;\n var bits = r0bits;\n bi = new Bits(bits);\n var r1t = choose_table(ix, a1, a2, bi);\n bits = bi.bits;\n if (r01_bits[r0 + r1] > bits) {\n r01_bits[r0 + r1] = bits;\n r01_div[r0 + r1] = r0;\n r0_tbl[r0 + r1] = r0t;\n r1_tbl[r0 + r1] = r1t;\n }\n }\n }\n }\n function recalc_divide_sub(gfc, cod_info2, gi, ix, r01_bits, r01_div, r0_tbl, r1_tbl) {\n var bigv = cod_info2.big_values;\n for(var r2 = 2; r2 < $cPNKB.SBMAX_l + 1; r2++){\n var a2 = gfc.scalefac_band.l[r2];\n if (a2 >= bigv) break;\n var bits = r01_bits[r2 - 2] + cod_info2.count1bits;\n if (gi.part2_3_length <= bits) break;\n var bi = new Bits(bits);\n var r2t = choose_table(ix, a2, bigv, bi);\n bits = bi.bits;\n if (gi.part2_3_length <= bits) continue;\n gi.assign(cod_info2);\n gi.part2_3_length = bits;\n gi.region0_count = r01_div[r2 - 2];\n gi.region1_count = r2 - 2 - r01_div[r2 - 2];\n gi.table_select[0] = r0_tbl[r2 - 2];\n gi.table_select[1] = r1_tbl[r2 - 2];\n gi.table_select[2] = r2t;\n }\n }\n this.best_huffman_divide = function(gfc, gi) {\n var cod_info2 = new $7weBo();\n var ix = gi.l3_enc;\n var r01_bits = $46fd82963609949b$var$new_int(23);\n var r01_div = $46fd82963609949b$var$new_int(23);\n var r0_tbl = $46fd82963609949b$var$new_int(23);\n var r1_tbl = $46fd82963609949b$var$new_int(23);\n /* SHORT BLOCK stuff fails for MPEG2 */ if (gi.block_type == $cPNKB.SHORT_TYPE && gfc.mode_gr == 1) return;\n cod_info2.assign(gi);\n if (gi.block_type == $cPNKB.NORM_TYPE) {\n recalc_divide_init(gfc, gi, ix, r01_bits, r01_div, r0_tbl, r1_tbl);\n recalc_divide_sub(gfc, cod_info2, gi, ix, r01_bits, r01_div, r0_tbl, r1_tbl);\n }\n var i = cod_info2.big_values;\n if (i == 0 || (ix[i - 2] | ix[i - 1]) > 1) return;\n i = gi.count1 + 2;\n if (i > 576) return;\n /* Determines the number of bits to encode the quadruples. */ cod_info2.assign(gi);\n cod_info2.count1 = i;\n var a1 = 0;\n var a2 = 0;\n $46fd82963609949b$var$assert(i <= 576);\n for(; i > cod_info2.big_values; i -= 4){\n var p = ((ix[i - 4] * 2 + ix[i - 3]) * 2 + ix[i - 2]) * 2 + ix[i - 1];\n a1 += $dQDcS.t32l[p];\n a2 += $dQDcS.t33l[p];\n }\n cod_info2.big_values = i;\n cod_info2.count1table_select = 0;\n if (a1 > a2) {\n a1 = a2;\n cod_info2.count1table_select = 1;\n }\n cod_info2.count1bits = a1;\n if (cod_info2.block_type == $cPNKB.NORM_TYPE) recalc_divide_sub(gfc, cod_info2, gi, ix, r01_bits, r01_div, r0_tbl, r1_tbl);\n else {\n /* Count the number of bits necessary to code the bigvalues region. */ cod_info2.part2_3_length = a1;\n a1 = gfc.scalefac_band.l[8];\n if (a1 > i) a1 = i;\n if (a1 > 0) {\n var bi = new Bits(cod_info2.part2_3_length);\n cod_info2.table_select[0] = choose_table(ix, 0, a1, bi);\n cod_info2.part2_3_length = bi.bits;\n }\n if (i > a1) {\n var bi = new Bits(cod_info2.part2_3_length);\n cod_info2.table_select[1] = choose_table(ix, a1, i, bi);\n cod_info2.part2_3_length = bi.bits;\n }\n if (gi.part2_3_length > cod_info2.part2_3_length) gi.assign(cod_info2);\n }\n };\n var slen1_n = [\n 1,\n 1,\n 1,\n 1,\n 8,\n 2,\n 2,\n 2,\n 4,\n 4,\n 4,\n 8,\n 8,\n 8,\n 16,\n 16\n ];\n var slen2_n = [\n 1,\n 2,\n 4,\n 8,\n 1,\n 2,\n 4,\n 8,\n 2,\n 4,\n 8,\n 2,\n 4,\n 8,\n 4,\n 8\n ];\n var slen1_tab = [\n 0,\n 0,\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 4,\n 4\n ];\n var slen2_tab = [\n 0,\n 1,\n 2,\n 3,\n 0,\n 1,\n 2,\n 3,\n 1,\n 2,\n 3,\n 1,\n 2,\n 3,\n 2,\n 3\n ];\n $46fd82963609949b$var$Takehiro.slen1_tab = slen1_tab;\n $46fd82963609949b$var$Takehiro.slen2_tab = slen2_tab;\n function scfsi_calc(ch, l3_side) {\n var sfb;\n var gi = l3_side.tt[1][ch];\n var g0 = l3_side.tt[0][ch];\n for(var i = 0; i < $dQDcS.scfsi_band.length - 1; i++){\n for(sfb = $dQDcS.scfsi_band[i]; sfb < $dQDcS.scfsi_band[i + 1]; sfb++){\n if (g0.scalefac[sfb] != gi.scalefac[sfb] && gi.scalefac[sfb] >= 0) break;\n }\n if (sfb == $dQDcS.scfsi_band[i + 1]) {\n for(sfb = $dQDcS.scfsi_band[i]; sfb < $dQDcS.scfsi_band[i + 1]; sfb++)gi.scalefac[sfb] = -1;\n l3_side.scfsi[ch][i] = 1;\n }\n }\n var s1 = 0;\n var c1 = 0;\n for(sfb = 0; sfb < 11; sfb++){\n if (gi.scalefac[sfb] == -1) continue;\n c1++;\n if (s1 < gi.scalefac[sfb]) s1 = gi.scalefac[sfb];\n }\n var s2 = 0;\n var c2 = 0;\n for(; sfb < $cPNKB.SBPSY_l; sfb++){\n if (gi.scalefac[sfb] == -1) continue;\n c2++;\n if (s2 < gi.scalefac[sfb]) s2 = gi.scalefac[sfb];\n }\n for(var i = 0; i < 16; i++)if (s1 < slen1_n[i] && s2 < slen2_n[i]) {\n var c = slen1_tab[i] * c1 + slen2_tab[i] * c2;\n if (gi.part2_length > c) {\n gi.part2_length = c;\n gi.scalefac_compress = i;\n }\n }\n }\n /**\n * Find the optimal way to store the scalefactors. Only call this routine\n * after final scalefactors have been chosen and the channel/granule will\n * not be re-encoded.\n */ this.best_scalefac_store = function(gfc, gr, ch, l3_side) {\n /* use scalefac_scale if we can */ var gi = l3_side.tt[gr][ch];\n var sfb, i, j, l;\n var recalc = 0;\n /*\n * remove scalefacs from bands with ix=0. This idea comes from the AAC\n * ISO docs. added mt 3/00\n */ /* check if l3_enc=0 */ j = 0;\n for(sfb = 0; sfb < gi.sfbmax; sfb++){\n var width = gi.width[sfb];\n $46fd82963609949b$var$assert(width >= 0);\n j += width;\n for(l = -width; l < 0; l++){\n if (gi.l3_enc[l + j] != 0) break;\n }\n if (l == 0) gi.scalefac[sfb] = recalc = -2;\n /* anything goes. */ /*\n * only best_scalefac_store and calc_scfsi know--and only they\n * should know--about the magic number -2.\n */ }\n if (0 == gi.scalefac_scale && 0 == gi.preflag) {\n var s = 0;\n for(sfb = 0; sfb < gi.sfbmax; sfb++)if (gi.scalefac[sfb] > 0) s |= gi.scalefac[sfb];\n if (0 == (s & 1) && s != 0) {\n for(sfb = 0; sfb < gi.sfbmax; sfb++)if (gi.scalefac[sfb] > 0) gi.scalefac[sfb] >>= 1;\n gi.scalefac_scale = recalc = 1;\n }\n }\n if (0 == gi.preflag && gi.block_type != $cPNKB.SHORT_TYPE && gfc.mode_gr == 2) {\n for(sfb = 11; sfb < $cPNKB.SBPSY_l; sfb++)if (gi.scalefac[sfb] < qupvt.pretab[sfb] && gi.scalefac[sfb] != -2) break;\n if (sfb == $cPNKB.SBPSY_l) {\n for(sfb = 11; sfb < $cPNKB.SBPSY_l; sfb++)if (gi.scalefac[sfb] > 0) gi.scalefac[sfb] -= qupvt.pretab[sfb];\n gi.preflag = recalc = 1;\n }\n }\n for(i = 0; i < 4; i++)l3_side.scfsi[ch][i] = 0;\n if (gfc.mode_gr == 2 && gr == 1 && l3_side.tt[0][ch].block_type != $cPNKB.SHORT_TYPE && l3_side.tt[1][ch].block_type != $cPNKB.SHORT_TYPE) {\n scfsi_calc(ch, l3_side);\n recalc = 0;\n }\n for(sfb = 0; sfb < gi.sfbmax; sfb++)if (gi.scalefac[sfb] == -2) gi.scalefac[sfb] = 0;\n if (recalc != 0) {\n if (gfc.mode_gr == 2) this.scale_bitcount(gi);\n else this.scale_bitcount_lsf(gfc, gi);\n }\n };\n function all_scalefactors_not_negative(scalefac, n) {\n for(var i = 0; i < n; ++i){\n if (scalefac[i] < 0) return false;\n }\n return true;\n }\n /**\n * number of bits used to encode scalefacs.\n *\n * 18*slen1_tab[i] + 18*slen2_tab[i]\n */ var scale_short = [\n 0,\n 18,\n 36,\n 54,\n 54,\n 36,\n 54,\n 72,\n 54,\n 72,\n 90,\n 72,\n 90,\n 108,\n 108,\n 126\n ];\n /**\n * number of bits used to encode scalefacs.\n *\n * 17*slen1_tab[i] + 18*slen2_tab[i]\n */ var scale_mixed = [\n 0,\n 18,\n 36,\n 54,\n 51,\n 35,\n 53,\n 71,\n 52,\n 70,\n 88,\n 69,\n 87,\n 105,\n 104,\n 122\n ];\n /**\n * number of bits used to encode scalefacs.\n *\n * 11*slen1_tab[i] + 10*slen2_tab[i]\n */ var scale_long = [\n 0,\n 10,\n 20,\n 30,\n 33,\n 21,\n 31,\n 41,\n 32,\n 42,\n 52,\n 43,\n 53,\n 63,\n 64,\n 74\n ];\n /**\n * Also calculates the number of bits necessary to code the scalefactors.\n */ this.scale_bitcount = function(cod_info) {\n var k, sfb, max_slen1 = 0, max_slen2 = 0;\n /* maximum values */ var tab;\n var scalefac = cod_info.scalefac;\n $46fd82963609949b$var$assert(all_scalefactors_not_negative(scalefac, cod_info.sfbmax));\n if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n tab = scale_short;\n if (cod_info.mixed_block_flag != 0) tab = scale_mixed;\n } else {\n tab = scale_long;\n if (0 == cod_info.preflag) {\n for(sfb = 11; sfb < $cPNKB.SBPSY_l; sfb++)if (scalefac[sfb] < qupvt.pretab[sfb]) break;\n if (sfb == $cPNKB.SBPSY_l) {\n cod_info.preflag = 1;\n for(sfb = 11; sfb < $cPNKB.SBPSY_l; sfb++)scalefac[sfb] -= qupvt.pretab[sfb];\n }\n }\n }\n for(sfb = 0; sfb < cod_info.sfbdivide; sfb++)if (max_slen1 < scalefac[sfb]) max_slen1 = scalefac[sfb];\n for(; sfb < cod_info.sfbmax; sfb++)if (max_slen2 < scalefac[sfb]) max_slen2 = scalefac[sfb];\n /*\n * from Takehiro TOMINAGA <tominaga@isoternet.org> 10/99 loop over *all*\n * posible values of scalefac_compress to find the one which uses the\n * smallest number of bits. ISO would stop at first valid index\n */ cod_info.part2_length = $84mea.LARGE_BITS;\n for(k = 0; k < 16; k++)if (max_slen1 < slen1_n[k] && max_slen2 < slen2_n[k] && cod_info.part2_length > tab[k]) {\n cod_info.part2_length = tab[k];\n cod_info.scalefac_compress = k;\n }\n return cod_info.part2_length == $84mea.LARGE_BITS;\n };\n /**\n * table of largest scalefactor values for MPEG2\n */ var max_range_sfac_tab = [\n [\n 15,\n 15,\n 7,\n 7\n ],\n [\n 15,\n 15,\n 7,\n 0\n ],\n [\n 7,\n 3,\n 0,\n 0\n ],\n [\n 15,\n 31,\n 31,\n 0\n ],\n [\n 7,\n 7,\n 7,\n 0\n ],\n [\n 3,\n 3,\n 0,\n 0\n ]\n ];\n /**\n * Also counts the number of bits to encode the scalefacs but for MPEG 2\n * Lower sampling frequencies (24, 22.05 and 16 kHz.)\n *\n * This is reverse-engineered from section 2.4.3.2 of the MPEG2 IS,\n * \"Audio Decoding Layer III\"\n */ this.scale_bitcount_lsf = function(gfc, cod_info) {\n var table_number, row_in_table, partition, nr_sfb, window;\n var over;\n var i, sfb;\n var max_sfac = $46fd82963609949b$var$new_int(4);\n //var partition_table;\n var scalefac = cod_info.scalefac;\n /*\n * Set partition table. Note that should try to use table one, but do\n * not yet...\n */ if (cod_info.preflag != 0) table_number = 2;\n else table_number = 0;\n for(i = 0; i < 4; i++)max_sfac[i] = 0;\n if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n row_in_table = 1;\n var partition_table = qupvt.nr_of_sfb_block[table_number][row_in_table];\n for(sfb = 0, partition = 0; partition < 4; partition++){\n nr_sfb = partition_table[partition] / 3;\n for(i = 0; i < nr_sfb; i++, sfb++)for(window = 0; window < 3; window++)if (scalefac[sfb * 3 + window] > max_sfac[partition]) max_sfac[partition] = scalefac[sfb * 3 + window];\n }\n } else {\n row_in_table = 0;\n var partition_table = qupvt.nr_of_sfb_block[table_number][row_in_table];\n for(sfb = 0, partition = 0; partition < 4; partition++){\n nr_sfb = partition_table[partition];\n for(i = 0; i < nr_sfb; i++, sfb++)if (scalefac[sfb] > max_sfac[partition]) max_sfac[partition] = scalefac[sfb];\n }\n }\n for(over = false, partition = 0; partition < 4; partition++)if (max_sfac[partition] > max_range_sfac_tab[table_number][partition]) over = true;\n if (!over) {\n var slen1, slen2, slen3, slen4;\n cod_info.sfb_partition_table = qupvt.nr_of_sfb_block[table_number][row_in_table];\n for(partition = 0; partition < 4; partition++)cod_info.slen[partition] = log2tab[max_sfac[partition]];\n /* set scalefac_compress */ slen1 = cod_info.slen[0];\n slen2 = cod_info.slen[1];\n slen3 = cod_info.slen[2];\n slen4 = cod_info.slen[3];\n switch(table_number){\n case 0:\n cod_info.scalefac_compress = (slen1 * 5 + slen2 << 4) + (slen3 << 2) + slen4;\n break;\n case 1:\n cod_info.scalefac_compress = 400 + (slen1 * 5 + slen2 << 2) + slen3;\n break;\n case 2:\n cod_info.scalefac_compress = 500 + slen1 * 3 + slen2;\n break;\n default:\n $46fd82963609949b$var$System.err.printf(\"intensity stereo not implemented yet\\n\");\n break;\n }\n }\n if (!over) {\n $46fd82963609949b$var$assert(cod_info.sfb_partition_table != null);\n cod_info.part2_length = 0;\n for(partition = 0; partition < 4; partition++)cod_info.part2_length += cod_info.slen[partition] * cod_info.sfb_partition_table[partition];\n }\n return over;\n };\n /*\n * Since no bands have been over-amplified, we can set scalefac_compress and\n * slen[] for the formatter\n */ var log2tab = [\n 0,\n 1,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4\n ];\n this.huffman_init = function(gfc) {\n for(var i = 2; i <= 576; i += 2){\n var scfb_anz = 0, bv_index;\n while(gfc.scalefac_band.l[++scfb_anz] < i);\n bv_index = subdv_table[scfb_anz][0]; // .region0_count\n while(gfc.scalefac_band.l[bv_index + 1] > i)bv_index--;\n if (bv_index < 0) /*\n * this is an indication that everything is going to be encoded\n * as region0: bigvalues < region0 < region1 so lets set\n * region0, region1 to some value larger than bigvalues\n */ bv_index = subdv_table[scfb_anz][0]; // .region0_count\n gfc.bv_scf[i - 2] = bv_index;\n bv_index = subdv_table[scfb_anz][1]; // .region1_count\n while(gfc.scalefac_band.l[bv_index + gfc.bv_scf[i - 2] + 2] > i)bv_index--;\n if (bv_index < 0) bv_index = subdv_table[scfb_anz][1]; // .region1_count\n gfc.bv_scf[i - 1] = bv_index;\n }\n };\n}\nmodule.exports = $46fd82963609949b$var$Takehiro;\n\n});\nparcelRequire.register(\"dQDcS\", function(module, exports) {\nfunction $a14e8b54f947e3d4$var$HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\nvar $a14e8b54f947e3d4$var$Tables = {};\n$a14e8b54f947e3d4$var$Tables.t1HB = [\n 1,\n 1,\n 1,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t2HB = [\n 1,\n 2,\n 1,\n 3,\n 1,\n 1,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t3HB = [\n 3,\n 2,\n 1,\n 1,\n 1,\n 1,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t5HB = [\n 1,\n 2,\n 6,\n 5,\n 3,\n 1,\n 4,\n 4,\n 7,\n 5,\n 7,\n 1,\n 6,\n 1,\n 1,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t6HB = [\n 7,\n 3,\n 5,\n 1,\n 6,\n 2,\n 3,\n 2,\n 5,\n 4,\n 4,\n 1,\n 3,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t7HB = [\n 1,\n 2,\n 10,\n 19,\n 16,\n 10,\n 3,\n 3,\n 7,\n 10,\n 5,\n 3,\n 11,\n 4,\n 13,\n 17,\n 8,\n 4,\n 12,\n 11,\n 18,\n 15,\n 11,\n 2,\n 7,\n 6,\n 9,\n 14,\n 3,\n 1,\n 6,\n 4,\n 5,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t8HB = [\n 3,\n 4,\n 6,\n 18,\n 12,\n 5,\n 5,\n 1,\n 2,\n 16,\n 9,\n 3,\n 7,\n 3,\n 5,\n 14,\n 7,\n 3,\n 19,\n 17,\n 15,\n 13,\n 10,\n 4,\n 13,\n 5,\n 8,\n 11,\n 5,\n 1,\n 12,\n 4,\n 4,\n 1,\n 1,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t9HB = [\n 7,\n 5,\n 9,\n 14,\n 15,\n 7,\n 6,\n 4,\n 5,\n 5,\n 6,\n 7,\n 7,\n 6,\n 8,\n 8,\n 8,\n 5,\n 15,\n 6,\n 9,\n 10,\n 5,\n 1,\n 11,\n 7,\n 9,\n 6,\n 4,\n 1,\n 14,\n 4,\n 6,\n 2,\n 6,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t10HB = [\n 1,\n 2,\n 10,\n 23,\n 35,\n 30,\n 12,\n 17,\n 3,\n 3,\n 8,\n 12,\n 18,\n 21,\n 12,\n 7,\n 11,\n 9,\n 15,\n 21,\n 32,\n 40,\n 19,\n 6,\n 14,\n 13,\n 22,\n 34,\n 46,\n 23,\n 18,\n 7,\n 20,\n 19,\n 33,\n 47,\n 27,\n 22,\n 9,\n 3,\n 31,\n 22,\n 41,\n 26,\n 21,\n 20,\n 5,\n 3,\n 14,\n 13,\n 10,\n 11,\n 16,\n 6,\n 5,\n 1,\n 9,\n 8,\n 7,\n 8,\n 4,\n 4,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t11HB = [\n 3,\n 4,\n 10,\n 24,\n 34,\n 33,\n 21,\n 15,\n 5,\n 3,\n 4,\n 10,\n 32,\n 17,\n 11,\n 10,\n 11,\n 7,\n 13,\n 18,\n 30,\n 31,\n 20,\n 5,\n 25,\n 11,\n 19,\n 59,\n 27,\n 18,\n 12,\n 5,\n 35,\n 33,\n 31,\n 58,\n 30,\n 16,\n 7,\n 5,\n 28,\n 26,\n 32,\n 19,\n 17,\n 15,\n 8,\n 14,\n 14,\n 12,\n 9,\n 13,\n 14,\n 9,\n 4,\n 1,\n 11,\n 4,\n 6,\n 6,\n 6,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t12HB = [\n 9,\n 6,\n 16,\n 33,\n 41,\n 39,\n 38,\n 26,\n 7,\n 5,\n 6,\n 9,\n 23,\n 16,\n 26,\n 11,\n 17,\n 7,\n 11,\n 14,\n 21,\n 30,\n 10,\n 7,\n 17,\n 10,\n 15,\n 12,\n 18,\n 28,\n 14,\n 5,\n 32,\n 13,\n 22,\n 19,\n 18,\n 16,\n 9,\n 5,\n 40,\n 17,\n 31,\n 29,\n 17,\n 13,\n 4,\n 2,\n 27,\n 12,\n 11,\n 15,\n 10,\n 7,\n 4,\n 1,\n 27,\n 12,\n 8,\n 12,\n 6,\n 3,\n 1,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t13HB = [\n 1,\n 5,\n 14,\n 21,\n 34,\n 51,\n 46,\n 71,\n 42,\n 52,\n 68,\n 52,\n 67,\n 44,\n 43,\n 19,\n 3,\n 4,\n 12,\n 19,\n 31,\n 26,\n 44,\n 33,\n 31,\n 24,\n 32,\n 24,\n 31,\n 35,\n 22,\n 14,\n 15,\n 13,\n 23,\n 36,\n 59,\n 49,\n 77,\n 65,\n 29,\n 40,\n 30,\n 40,\n 27,\n 33,\n 42,\n 16,\n 22,\n 20,\n 37,\n 61,\n 56,\n 79,\n 73,\n 64,\n 43,\n 76,\n 56,\n 37,\n 26,\n 31,\n 25,\n 14,\n 35,\n 16,\n 60,\n 57,\n 97,\n 75,\n 114,\n 91,\n 54,\n 73,\n 55,\n 41,\n 48,\n 53,\n 23,\n 24,\n 58,\n 27,\n 50,\n 96,\n 76,\n 70,\n 93,\n 84,\n 77,\n 58,\n 79,\n 29,\n 74,\n 49,\n 41,\n 17,\n 47,\n 45,\n 78,\n 74,\n 115,\n 94,\n 90,\n 79,\n 69,\n 83,\n 71,\n 50,\n 59,\n 38,\n 36,\n 15,\n 72,\n 34,\n 56,\n 95,\n 92,\n 85,\n 91,\n 90,\n 86,\n 73,\n 77,\n 65,\n 51,\n 44,\n 43,\n 42,\n 43,\n 20,\n 30,\n 44,\n 55,\n 78,\n 72,\n 87,\n 78,\n 61,\n 46,\n 54,\n 37,\n 30,\n 20,\n 16,\n 53,\n 25,\n 41,\n 37,\n 44,\n 59,\n 54,\n 81,\n 66,\n 76,\n 57,\n 54,\n 37,\n 18,\n 39,\n 11,\n 35,\n 33,\n 31,\n 57,\n 42,\n 82,\n 72,\n 80,\n 47,\n 58,\n 55,\n 21,\n 22,\n 26,\n 38,\n 22,\n 53,\n 25,\n 23,\n 38,\n 70,\n 60,\n 51,\n 36,\n 55,\n 26,\n 34,\n 23,\n 27,\n 14,\n 9,\n 7,\n 34,\n 32,\n 28,\n 39,\n 49,\n 75,\n 30,\n 52,\n 48,\n 40,\n 52,\n 28,\n 18,\n 17,\n 9,\n 5,\n 45,\n 21,\n 34,\n 64,\n 56,\n 50,\n 49,\n 45,\n 31,\n 19,\n 12,\n 15,\n 10,\n 7,\n 6,\n 3,\n 48,\n 23,\n 20,\n 39,\n 36,\n 35,\n 53,\n 21,\n 16,\n 23,\n 13,\n 10,\n 6,\n 1,\n 4,\n 2,\n 16,\n 15,\n 17,\n 27,\n 25,\n 20,\n 29,\n 11,\n 17,\n 12,\n 16,\n 8,\n 1,\n 1,\n 0,\n 1\n];\n$a14e8b54f947e3d4$var$Tables.t15HB = [\n 7,\n 12,\n 18,\n 53,\n 47,\n 76,\n 124,\n 108,\n 89,\n 123,\n 108,\n 119,\n 107,\n 81,\n 122,\n 63,\n 13,\n 5,\n 16,\n 27,\n 46,\n 36,\n 61,\n 51,\n 42,\n 70,\n 52,\n 83,\n 65,\n 41,\n 59,\n 36,\n 19,\n 17,\n 15,\n 24,\n 41,\n 34,\n 59,\n 48,\n 40,\n 64,\n 50,\n 78,\n 62,\n 80,\n 56,\n 33,\n 29,\n 28,\n 25,\n 43,\n 39,\n 63,\n 55,\n 93,\n 76,\n 59,\n 93,\n 72,\n 54,\n 75,\n 50,\n 29,\n 52,\n 22,\n 42,\n 40,\n 67,\n 57,\n 95,\n 79,\n 72,\n 57,\n 89,\n 69,\n 49,\n 66,\n 46,\n 27,\n 77,\n 37,\n 35,\n 66,\n 58,\n 52,\n 91,\n 74,\n 62,\n 48,\n 79,\n 63,\n 90,\n 62,\n 40,\n 38,\n 125,\n 32,\n 60,\n 56,\n 50,\n 92,\n 78,\n 65,\n 55,\n 87,\n 71,\n 51,\n 73,\n 51,\n 70,\n 30,\n 109,\n 53,\n 49,\n 94,\n 88,\n 75,\n 66,\n 122,\n 91,\n 73,\n 56,\n 42,\n 64,\n 44,\n 21,\n 25,\n 90,\n 43,\n 41,\n 77,\n 73,\n 63,\n 56,\n 92,\n 77,\n 66,\n 47,\n 67,\n 48,\n 53,\n 36,\n 20,\n 71,\n 34,\n 67,\n 60,\n 58,\n 49,\n 88,\n 76,\n 67,\n 106,\n 71,\n 54,\n 38,\n 39,\n 23,\n 15,\n 109,\n 53,\n 51,\n 47,\n 90,\n 82,\n 58,\n 57,\n 48,\n 72,\n 57,\n 41,\n 23,\n 27,\n 62,\n 9,\n 86,\n 42,\n 40,\n 37,\n 70,\n 64,\n 52,\n 43,\n 70,\n 55,\n 42,\n 25,\n 29,\n 18,\n 11,\n 11,\n 118,\n 68,\n 30,\n 55,\n 50,\n 46,\n 74,\n 65,\n 49,\n 39,\n 24,\n 16,\n 22,\n 13,\n 14,\n 7,\n 91,\n 44,\n 39,\n 38,\n 34,\n 63,\n 52,\n 45,\n 31,\n 52,\n 28,\n 19,\n 14,\n 8,\n 9,\n 3,\n 123,\n 60,\n 58,\n 53,\n 47,\n 43,\n 32,\n 22,\n 37,\n 24,\n 17,\n 12,\n 15,\n 10,\n 2,\n 1,\n 71,\n 37,\n 34,\n 30,\n 28,\n 20,\n 17,\n 26,\n 21,\n 16,\n 10,\n 6,\n 8,\n 6,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t16HB = [\n 1,\n 5,\n 14,\n 44,\n 74,\n 63,\n 110,\n 93,\n 172,\n 149,\n 138,\n 242,\n 225,\n 195,\n 376,\n 17,\n 3,\n 4,\n 12,\n 20,\n 35,\n 62,\n 53,\n 47,\n 83,\n 75,\n 68,\n 119,\n 201,\n 107,\n 207,\n 9,\n 15,\n 13,\n 23,\n 38,\n 67,\n 58,\n 103,\n 90,\n 161,\n 72,\n 127,\n 117,\n 110,\n 209,\n 206,\n 16,\n 45,\n 21,\n 39,\n 69,\n 64,\n 114,\n 99,\n 87,\n 158,\n 140,\n 252,\n 212,\n 199,\n 387,\n 365,\n 26,\n 75,\n 36,\n 68,\n 65,\n 115,\n 101,\n 179,\n 164,\n 155,\n 264,\n 246,\n 226,\n 395,\n 382,\n 362,\n 9,\n 66,\n 30,\n 59,\n 56,\n 102,\n 185,\n 173,\n 265,\n 142,\n 253,\n 232,\n 400,\n 388,\n 378,\n 445,\n 16,\n 111,\n 54,\n 52,\n 100,\n 184,\n 178,\n 160,\n 133,\n 257,\n 244,\n 228,\n 217,\n 385,\n 366,\n 715,\n 10,\n 98,\n 48,\n 91,\n 88,\n 165,\n 157,\n 148,\n 261,\n 248,\n 407,\n 397,\n 372,\n 380,\n 889,\n 884,\n 8,\n 85,\n 84,\n 81,\n 159,\n 156,\n 143,\n 260,\n 249,\n 427,\n 401,\n 392,\n 383,\n 727,\n 713,\n 708,\n 7,\n 154,\n 76,\n 73,\n 141,\n 131,\n 256,\n 245,\n 426,\n 406,\n 394,\n 384,\n 735,\n 359,\n 710,\n 352,\n 11,\n 139,\n 129,\n 67,\n 125,\n 247,\n 233,\n 229,\n 219,\n 393,\n 743,\n 737,\n 720,\n 885,\n 882,\n 439,\n 4,\n 243,\n 120,\n 118,\n 115,\n 227,\n 223,\n 396,\n 746,\n 742,\n 736,\n 721,\n 712,\n 706,\n 223,\n 436,\n 6,\n 202,\n 224,\n 222,\n 218,\n 216,\n 389,\n 386,\n 381,\n 364,\n 888,\n 443,\n 707,\n 440,\n 437,\n 1728,\n 4,\n 747,\n 211,\n 210,\n 208,\n 370,\n 379,\n 734,\n 723,\n 714,\n 1735,\n 883,\n 877,\n 876,\n 3459,\n 865,\n 2,\n 377,\n 369,\n 102,\n 187,\n 726,\n 722,\n 358,\n 711,\n 709,\n 866,\n 1734,\n 871,\n 3458,\n 870,\n 434,\n 0,\n 12,\n 10,\n 7,\n 11,\n 10,\n 17,\n 11,\n 9,\n 13,\n 12,\n 10,\n 7,\n 5,\n 3,\n 1,\n 3\n];\n$a14e8b54f947e3d4$var$Tables.t24HB = [\n 15,\n 13,\n 46,\n 80,\n 146,\n 262,\n 248,\n 434,\n 426,\n 669,\n 653,\n 649,\n 621,\n 517,\n 1032,\n 88,\n 14,\n 12,\n 21,\n 38,\n 71,\n 130,\n 122,\n 216,\n 209,\n 198,\n 327,\n 345,\n 319,\n 297,\n 279,\n 42,\n 47,\n 22,\n 41,\n 74,\n 68,\n 128,\n 120,\n 221,\n 207,\n 194,\n 182,\n 340,\n 315,\n 295,\n 541,\n 18,\n 81,\n 39,\n 75,\n 70,\n 134,\n 125,\n 116,\n 220,\n 204,\n 190,\n 178,\n 325,\n 311,\n 293,\n 271,\n 16,\n 147,\n 72,\n 69,\n 135,\n 127,\n 118,\n 112,\n 210,\n 200,\n 188,\n 352,\n 323,\n 306,\n 285,\n 540,\n 14,\n 263,\n 66,\n 129,\n 126,\n 119,\n 114,\n 214,\n 202,\n 192,\n 180,\n 341,\n 317,\n 301,\n 281,\n 262,\n 12,\n 249,\n 123,\n 121,\n 117,\n 113,\n 215,\n 206,\n 195,\n 185,\n 347,\n 330,\n 308,\n 291,\n 272,\n 520,\n 10,\n 435,\n 115,\n 111,\n 109,\n 211,\n 203,\n 196,\n 187,\n 353,\n 332,\n 313,\n 298,\n 283,\n 531,\n 381,\n 17,\n 427,\n 212,\n 208,\n 205,\n 201,\n 193,\n 186,\n 177,\n 169,\n 320,\n 303,\n 286,\n 268,\n 514,\n 377,\n 16,\n 335,\n 199,\n 197,\n 191,\n 189,\n 181,\n 174,\n 333,\n 321,\n 305,\n 289,\n 275,\n 521,\n 379,\n 371,\n 11,\n 668,\n 184,\n 183,\n 179,\n 175,\n 344,\n 331,\n 314,\n 304,\n 290,\n 277,\n 530,\n 383,\n 373,\n 366,\n 10,\n 652,\n 346,\n 171,\n 168,\n 164,\n 318,\n 309,\n 299,\n 287,\n 276,\n 263,\n 513,\n 375,\n 368,\n 362,\n 6,\n 648,\n 322,\n 316,\n 312,\n 307,\n 302,\n 292,\n 284,\n 269,\n 261,\n 512,\n 376,\n 370,\n 364,\n 359,\n 4,\n 620,\n 300,\n 296,\n 294,\n 288,\n 282,\n 273,\n 266,\n 515,\n 380,\n 374,\n 369,\n 365,\n 361,\n 357,\n 2,\n 1033,\n 280,\n 278,\n 274,\n 267,\n 264,\n 259,\n 382,\n 378,\n 372,\n 367,\n 363,\n 360,\n 358,\n 356,\n 0,\n 43,\n 20,\n 19,\n 17,\n 15,\n 13,\n 11,\n 9,\n 7,\n 6,\n 4,\n 7,\n 5,\n 3,\n 1,\n 3\n];\n$a14e8b54f947e3d4$var$Tables.t32HB = [\n 1,\n 10,\n 8,\n 20,\n 12,\n 20,\n 16,\n 32,\n 14,\n 12,\n 24,\n 0,\n 28,\n 16,\n 24,\n 16\n];\n$a14e8b54f947e3d4$var$Tables.t33HB = [\n 15,\n 28,\n 26,\n 48,\n 22,\n 40,\n 36,\n 64,\n 14,\n 24,\n 20,\n 32,\n 12,\n 16,\n 8,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t1l = [\n 1,\n 4,\n 3,\n 5\n];\n$a14e8b54f947e3d4$var$Tables.t2l = [\n 1,\n 4,\n 7,\n 4,\n 5,\n 7,\n 6,\n 7,\n 8\n];\n$a14e8b54f947e3d4$var$Tables.t3l = [\n 2,\n 3,\n 7,\n 4,\n 4,\n 7,\n 6,\n 7,\n 8\n];\n$a14e8b54f947e3d4$var$Tables.t5l = [\n 1,\n 4,\n 7,\n 8,\n 4,\n 5,\n 8,\n 9,\n 7,\n 8,\n 9,\n 10,\n 8,\n 8,\n 9,\n 10\n];\n$a14e8b54f947e3d4$var$Tables.t6l = [\n 3,\n 4,\n 6,\n 8,\n 4,\n 4,\n 6,\n 7,\n 5,\n 6,\n 7,\n 8,\n 7,\n 7,\n 8,\n 9\n];\n$a14e8b54f947e3d4$var$Tables.t7l = [\n 1,\n 4,\n 7,\n 9,\n 9,\n 10,\n 4,\n 6,\n 8,\n 9,\n 9,\n 10,\n 7,\n 7,\n 9,\n 10,\n 10,\n 11,\n 8,\n 9,\n 10,\n 11,\n 11,\n 11,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12\n];\n$a14e8b54f947e3d4$var$Tables.t8l = [\n 2,\n 4,\n 7,\n 9,\n 9,\n 10,\n 4,\n 4,\n 6,\n 10,\n 10,\n 10,\n 7,\n 6,\n 8,\n 10,\n 10,\n 11,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 9,\n 9,\n 10,\n 11,\n 12,\n 12,\n 10,\n 10,\n 11,\n 11,\n 13,\n 13\n];\n$a14e8b54f947e3d4$var$Tables.t9l = [\n 3,\n 4,\n 6,\n 7,\n 9,\n 10,\n 4,\n 5,\n 6,\n 7,\n 8,\n 10,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 7,\n 7,\n 8,\n 9,\n 9,\n 10,\n 8,\n 8,\n 9,\n 9,\n 10,\n 11,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11\n];\n$a14e8b54f947e3d4$var$Tables.t10l = [\n 1,\n 4,\n 7,\n 9,\n 10,\n 10,\n 10,\n 11,\n 4,\n 6,\n 8,\n 9,\n 10,\n 11,\n 10,\n 10,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 11,\n 11,\n 8,\n 9,\n 10,\n 11,\n 12,\n 12,\n 11,\n 12,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 12,\n 13,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 10,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13\n];\n$a14e8b54f947e3d4$var$Tables.t11l = [\n 2,\n 4,\n 6,\n 8,\n 9,\n 10,\n 9,\n 10,\n 4,\n 5,\n 6,\n 8,\n 10,\n 10,\n 9,\n 10,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 10,\n 10,\n 8,\n 8,\n 9,\n 11,\n 10,\n 12,\n 10,\n 11,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 11,\n 12,\n 9,\n 10,\n 11,\n 12,\n 12,\n 13,\n 12,\n 13,\n 9,\n 9,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12,\n 9,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12,\n 12\n];\n$a14e8b54f947e3d4$var$Tables.t12l = [\n 4,\n 4,\n 6,\n 8,\n 9,\n 10,\n 10,\n 10,\n 4,\n 5,\n 6,\n 7,\n 9,\n 9,\n 10,\n 10,\n 6,\n 6,\n 7,\n 8,\n 9,\n 10,\n 9,\n 10,\n 7,\n 7,\n 8,\n 8,\n 9,\n 10,\n 10,\n 10,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 10,\n 11,\n 9,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12\n];\n$a14e8b54f947e3d4$var$Tables.t13l = [\n 1,\n 5,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 4,\n 6,\n 8,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 13,\n 14,\n 14,\n 14,\n 7,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 11,\n 12,\n 12,\n 13,\n 13,\n 14,\n 15,\n 15,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 15,\n 15,\n 9,\n 9,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 16,\n 10,\n 10,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 13,\n 15,\n 15,\n 16,\n 16,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 16,\n 11,\n 11,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 16,\n 18,\n 18,\n 10,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 17,\n 17,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 15,\n 14,\n 15,\n 15,\n 16,\n 16,\n 16,\n 18,\n 17,\n 11,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 14,\n 15,\n 16,\n 15,\n 16,\n 17,\n 18,\n 19,\n 12,\n 12,\n 12,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 16,\n 17,\n 17,\n 17,\n 18,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 14,\n 15,\n 16,\n 16,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 13,\n 13,\n 14,\n 15,\n 15,\n 15,\n 16,\n 16,\n 16,\n 16,\n 16,\n 17,\n 18,\n 17,\n 18,\n 18,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 17,\n 16,\n 16,\n 19,\n 17,\n 17,\n 17,\n 19,\n 18,\n 18,\n 13,\n 14,\n 15,\n 16,\n 16,\n 16,\n 17,\n 16,\n 17,\n 17,\n 18,\n 18,\n 21,\n 20,\n 21,\n 18\n];\n$a14e8b54f947e3d4$var$Tables.t15l = [\n 3,\n 5,\n 6,\n 8,\n 8,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 14,\n 5,\n 5,\n 7,\n 8,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 6,\n 7,\n 7,\n 8,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 9,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 10,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 14,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 15,\n 14,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 12,\n 12,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 14,\n 15,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15\n];\n$a14e8b54f947e3d4$var$Tables.t16_5l = [\n 1,\n 5,\n 7,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 11,\n 4,\n 6,\n 8,\n 9,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 14,\n 13,\n 14,\n 11,\n 7,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 12,\n 9,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 13,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 12,\n 10,\n 10,\n 11,\n 11,\n 12,\n 13,\n 13,\n 14,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 16,\n 13,\n 11,\n 11,\n 11,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 13,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 17,\n 17,\n 13,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 16,\n 16,\n 13,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 15,\n 16,\n 15,\n 14,\n 12,\n 13,\n 12,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 16,\n 16,\n 16,\n 17,\n 17,\n 16,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 15,\n 16,\n 14,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 17,\n 16,\n 16,\n 16,\n 16,\n 18,\n 14,\n 15,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 16,\n 16,\n 18,\n 17,\n 17,\n 17,\n 19,\n 17,\n 14,\n 14,\n 15,\n 13,\n 14,\n 16,\n 16,\n 15,\n 16,\n 16,\n 17,\n 18,\n 17,\n 19,\n 17,\n 16,\n 14,\n 11,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 14,\n 14,\n 14,\n 12\n];\n$a14e8b54f947e3d4$var$Tables.t16l = [\n 1,\n 5,\n 7,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 10,\n 4,\n 6,\n 8,\n 9,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 14,\n 13,\n 14,\n 10,\n 7,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 11,\n 9,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 12,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 11,\n 10,\n 10,\n 11,\n 11,\n 12,\n 13,\n 13,\n 14,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 16,\n 12,\n 11,\n 11,\n 11,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 12,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 17,\n 17,\n 12,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 16,\n 16,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 15,\n 16,\n 15,\n 13,\n 12,\n 13,\n 12,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 16,\n 16,\n 16,\n 17,\n 17,\n 16,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 15,\n 16,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 17,\n 16,\n 16,\n 16,\n 16,\n 18,\n 13,\n 15,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 16,\n 16,\n 18,\n 17,\n 17,\n 17,\n 19,\n 17,\n 13,\n 14,\n 15,\n 13,\n 14,\n 16,\n 16,\n 15,\n 16,\n 16,\n 17,\n 18,\n 17,\n 19,\n 17,\n 16,\n 13,\n 10,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 10\n];\n$a14e8b54f947e3d4$var$Tables.t24l = [\n 4,\n 5,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 10,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 10,\n 7,\n 7,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 9,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 9,\n 9,\n 9,\n 9,\n 10,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 9,\n 10,\n 9,\n 10,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 9,\n 10,\n 10,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 9,\n 11,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 10,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 10,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 10,\n 12,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 10,\n 12,\n 12,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 10,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 10,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 10,\n 13,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 10,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 10,\n 10,\n 10,\n 10,\n 6\n];\n$a14e8b54f947e3d4$var$Tables.t32l = [\n 1,\n 5,\n 5,\n 7,\n 5,\n 8,\n 7,\n 9,\n 5,\n 7,\n 7,\n 9,\n 7,\n 9,\n 9,\n 10\n];\n$a14e8b54f947e3d4$var$Tables.t33l = [\n 4,\n 5,\n 5,\n 6,\n 5,\n 6,\n 6,\n 7,\n 5,\n 6,\n 6,\n 7,\n 6,\n 7,\n 7,\n 8\n];\n$a14e8b54f947e3d4$var$Tables.ht = [\n /* xlen, linmax, table, hlen */ new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, null, null),\n new $a14e8b54f947e3d4$var$HuffCodeTab(2, 0, $a14e8b54f947e3d4$var$Tables.t1HB, $a14e8b54f947e3d4$var$Tables.t1l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(3, 0, $a14e8b54f947e3d4$var$Tables.t2HB, $a14e8b54f947e3d4$var$Tables.t2l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(3, 0, $a14e8b54f947e3d4$var$Tables.t3HB, $a14e8b54f947e3d4$var$Tables.t3l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, null, null),\n /* Apparently not used */ new $a14e8b54f947e3d4$var$HuffCodeTab(4, 0, $a14e8b54f947e3d4$var$Tables.t5HB, $a14e8b54f947e3d4$var$Tables.t5l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(4, 0, $a14e8b54f947e3d4$var$Tables.t6HB, $a14e8b54f947e3d4$var$Tables.t6l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 0, $a14e8b54f947e3d4$var$Tables.t7HB, $a14e8b54f947e3d4$var$Tables.t7l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 0, $a14e8b54f947e3d4$var$Tables.t8HB, $a14e8b54f947e3d4$var$Tables.t8l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 0, $a14e8b54f947e3d4$var$Tables.t9HB, $a14e8b54f947e3d4$var$Tables.t9l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 0, $a14e8b54f947e3d4$var$Tables.t10HB, $a14e8b54f947e3d4$var$Tables.t10l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 0, $a14e8b54f947e3d4$var$Tables.t11HB, $a14e8b54f947e3d4$var$Tables.t11l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 0, $a14e8b54f947e3d4$var$Tables.t12HB, $a14e8b54f947e3d4$var$Tables.t12l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(16, 0, $a14e8b54f947e3d4$var$Tables.t13HB, $a14e8b54f947e3d4$var$Tables.t13l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, null, $a14e8b54f947e3d4$var$Tables.t16_5l),\n /* Apparently not used */ new $a14e8b54f947e3d4$var$HuffCodeTab(16, 0, $a14e8b54f947e3d4$var$Tables.t15HB, $a14e8b54f947e3d4$var$Tables.t15l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(1, 1, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(2, 3, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(3, 7, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(4, 15, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 63, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 255, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(10, 1023, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(13, 8191, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(4, 15, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(5, 31, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 63, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(7, 127, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 255, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(9, 511, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(11, 2047, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(13, 8191, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, $a14e8b54f947e3d4$var$Tables.t32HB, $a14e8b54f947e3d4$var$Tables.t32l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, $a14e8b54f947e3d4$var$Tables.t33HB, $a14e8b54f947e3d4$var$Tables.t33l)\n];\n/**\n * <CODE>\n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * </CODE>\n *\n */ $a14e8b54f947e3d4$var$Tables.largetbl = [\n 0x010004,\n 0x050005,\n 0x070007,\n 0x090008,\n 0x0a0009,\n 0x0a000a,\n 0x0b000a,\n 0x0b000b,\n 0x0c000b,\n 0x0c000c,\n 0x0c000c,\n 0x0d000c,\n 0x0d000c,\n 0x0d000c,\n 0x0e000d,\n 0x0a000a,\n 0x040005,\n 0x060006,\n 0x080007,\n 0x090008,\n 0x0a0009,\n 0x0b000a,\n 0x0b000a,\n 0x0b000b,\n 0x0c000b,\n 0x0c000b,\n 0x0c000c,\n 0x0d000c,\n 0x0e000c,\n 0x0d000c,\n 0x0e000c,\n 0x0a000a,\n 0x070007,\n 0x080007,\n 0x090008,\n 0x0a0009,\n 0x0b0009,\n 0x0b000a,\n 0x0c000a,\n 0x0c000b,\n 0x0d000b,\n 0x0c000b,\n 0x0d000b,\n 0x0d000c,\n 0x0d000c,\n 0x0e000c,\n 0x0e000d,\n 0x0b0009,\n 0x090008,\n 0x090008,\n 0x0a0009,\n 0x0b0009,\n 0x0b000a,\n 0x0c000a,\n 0x0c000a,\n 0x0c000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0c0009,\n 0x0a0009,\n 0x0a0009,\n 0x0b0009,\n 0x0b000a,\n 0x0c000a,\n 0x0c000a,\n 0x0d000a,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000d,\n 0x0b0009,\n 0x0a000a,\n 0x0a0009,\n 0x0b000a,\n 0x0b000a,\n 0x0c000a,\n 0x0d000a,\n 0x0d000b,\n 0x0e000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000c,\n 0x0c0009,\n 0x0b000a,\n 0x0b000a,\n 0x0b000a,\n 0x0c000a,\n 0x0d000a,\n 0x0d000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000d,\n 0x0c0009,\n 0x0b000b,\n 0x0b000a,\n 0x0c000a,\n 0x0c000a,\n 0x0d000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x11000d,\n 0x11000d,\n 0x0c000a,\n 0x0b000b,\n 0x0c000b,\n 0x0c000b,\n 0x0d000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000b,\n 0x0f000b,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000c,\n 0x10000d,\n 0x10000d,\n 0x0c000a,\n 0x0c000b,\n 0x0c000b,\n 0x0c000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000b,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000c,\n 0x0f000d,\n 0x10000d,\n 0x0f000d,\n 0x0d000a,\n 0x0c000c,\n 0x0d000b,\n 0x0c000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x10000c,\n 0x10000c,\n 0x10000d,\n 0x11000d,\n 0x11000d,\n 0x10000d,\n 0x0c000a,\n 0x0d000c,\n 0x0d000c,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0f000c,\n 0x10000c,\n 0x10000c,\n 0x10000c,\n 0x10000c,\n 0x10000d,\n 0x10000d,\n 0x0f000d,\n 0x10000d,\n 0x0d000a,\n 0x0d000c,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x11000c,\n 0x10000d,\n 0x10000d,\n 0x10000d,\n 0x10000d,\n 0x12000d,\n 0x0d000a,\n 0x0f000c,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000c,\n 0x10000c,\n 0x10000d,\n 0x12000d,\n 0x11000d,\n 0x11000d,\n 0x11000d,\n 0x13000d,\n 0x11000d,\n 0x0d000a,\n 0x0e000d,\n 0x0f000c,\n 0x0d000c,\n 0x0e000c,\n 0x10000c,\n 0x10000c,\n 0x0f000c,\n 0x10000d,\n 0x10000d,\n 0x11000d,\n 0x12000d,\n 0x11000d,\n 0x13000d,\n 0x11000d,\n 0x10000d,\n 0x0d000a,\n 0x0a0009,\n 0x0a0009,\n 0x0a0009,\n 0x0b0009,\n 0x0b0009,\n 0x0c0009,\n 0x0c0009,\n 0x0c0009,\n 0x0d0009,\n 0x0d0009,\n 0x0d0009,\n 0x0d000a,\n 0x0d000a,\n 0x0d000a,\n 0x0d000a,\n 0x0a0006\n];\n/**\n * <CODE>\n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * </CODE>\n *\n */ $a14e8b54f947e3d4$var$Tables.table23 = [\n 0x010002,\n 0x040003,\n 0x070007,\n 0x040004,\n 0x050004,\n 0x070007,\n 0x060006,\n 0x070007,\n 0x080008\n];\n/**\n * <CODE>\n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * </CODE>\n *\n */ $a14e8b54f947e3d4$var$Tables.table56 = [\n 0x010003,\n 0x040004,\n 0x070006,\n 0x080008,\n 0x040004,\n 0x050004,\n 0x080006,\n 0x090007,\n 0x070005,\n 0x080006,\n 0x090007,\n 0x0a0008,\n 0x080007,\n 0x080007,\n 0x090008,\n 0x0a0009\n];\n$a14e8b54f947e3d4$var$Tables.bitrate_table = [\n [\n 0,\n 8,\n 16,\n 24,\n 32,\n 40,\n 48,\n 56,\n 64,\n 80,\n 96,\n 112,\n 128,\n 144,\n 160,\n -1\n ],\n /* MPEG 2 */ [\n 0,\n 32,\n 40,\n 48,\n 56,\n 64,\n 80,\n 96,\n 112,\n 128,\n 160,\n 192,\n 224,\n 256,\n 320,\n -1\n ],\n /* MPEG 1 */ [\n 0,\n 8,\n 16,\n 24,\n 32,\n 40,\n 48,\n 56,\n 64,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ]\n];\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */ $a14e8b54f947e3d4$var$Tables.samplerate_table = [\n [\n 22050,\n 24000,\n 16000,\n -1\n ],\n [\n 44100,\n 48000,\n 32000,\n -1\n ],\n [\n 11025,\n 12000,\n 8000,\n -1\n ]\n];\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */ $a14e8b54f947e3d4$var$Tables.scfsi_band = [\n 0,\n 6,\n 11,\n 16,\n 21\n];\nmodule.exports = $a14e8b54f947e3d4$var$Tables;\n\n});\n\nparcelRequire.register(\"84mea\", function(module, exports) {\n/*\n * quantize_pvt source file\n *\n * Copyright (c) 1999-2002 Takehiro Tominaga\n * Copyright (c) 2000-2002 Robert Hegemann\n * Copyright (c) 2001 Naoki Shibata\n * Copyright (c) 2002-2005 Gabriel Bouvigne\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: QuantizePVT.java,v 1.24 2011/05/24 20:48:06 kenchis Exp $ */ \nvar $7imnH = parcelRequire(\"7imnH\");\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $5dfff05939c3cc74$var$System = $3YDN3.System;\nvar $5dfff05939c3cc74$var$VbrMode = $3YDN3.VbrMode;\nvar $5dfff05939c3cc74$var$Float = $3YDN3.Float;\nvar $5dfff05939c3cc74$var$ShortBlock = $3YDN3.ShortBlock;\nvar $5dfff05939c3cc74$var$Util = $3YDN3.Util;\nvar $5dfff05939c3cc74$var$Arrays = $3YDN3.Arrays;\nvar $5dfff05939c3cc74$var$new_array_n = $3YDN3.new_array_n;\nvar $5dfff05939c3cc74$var$new_byte = $3YDN3.new_byte;\nvar $5dfff05939c3cc74$var$new_double = $3YDN3.new_double;\nvar $5dfff05939c3cc74$var$new_float = $3YDN3.new_float;\nvar $5dfff05939c3cc74$var$new_float_n = $3YDN3.new_float_n;\nvar $5dfff05939c3cc74$var$new_int = $3YDN3.new_int;\nvar $5dfff05939c3cc74$var$new_int_n = $3YDN3.new_int_n;\nvar $5dfff05939c3cc74$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $lL4Le = parcelRequire(\"lL4Le\");\n\nvar $4SDnr = parcelRequire(\"4SDnr\");\n$5dfff05939c3cc74$var$QuantizePVT.Q_MAX = 257;\n$5dfff05939c3cc74$var$QuantizePVT.Q_MAX2 = 116;\n$5dfff05939c3cc74$var$QuantizePVT.LARGE_BITS = 100000;\n$5dfff05939c3cc74$var$QuantizePVT.IXMAX_VAL = 8206;\n\nfunction $5dfff05939c3cc74$var$QuantizePVT() {\n var BitStream = (parcelRequire(\"ctaQC\"));\n var tak = null;\n var rv = null;\n var psy = null;\n this.setModules = function(_tk, _rv, _psy) {\n tak = _tk;\n rv = _rv;\n psy = _psy;\n };\n function POW20(x) {\n $5dfff05939c3cc74$var$assert(0 <= x + $5dfff05939c3cc74$var$QuantizePVT.Q_MAX2 && x < $5dfff05939c3cc74$var$QuantizePVT.Q_MAX);\n return pow20[x + $5dfff05939c3cc74$var$QuantizePVT.Q_MAX2];\n }\n this.IPOW20 = function(x) {\n $5dfff05939c3cc74$var$assert(0 <= x && x < $5dfff05939c3cc74$var$QuantizePVT.Q_MAX);\n return ipow20[x];\n };\n /**\n * smallest such that 1.0+DBL_EPSILON != 1.0\n */ var DBL_EPSILON = 2.2204460492503131e-016;\n /**\n * ix always <= 8191+15. see count_bits()\n */ var IXMAX_VAL = $5dfff05939c3cc74$var$QuantizePVT.IXMAX_VAL;\n var PRECALC_SIZE = IXMAX_VAL + 2;\n var Q_MAX = $5dfff05939c3cc74$var$QuantizePVT.Q_MAX;\n /**\n * <CODE>\n * minimum possible number of\n * -cod_info.global_gain + ((scalefac[] + (cod_info.preflag ? pretab[sfb] : 0))\n * << (cod_info.scalefac_scale + 1)) + cod_info.subblock_gain[cod_info.window[sfb]] * 8;\n *\n * for long block, 0+((15+3)<<2) = 18*4 = 72\n * for short block, 0+(15<<2)+7*8 = 15*4+56 = 116\n * </CODE>\n */ var Q_MAX2 = $5dfff05939c3cc74$var$QuantizePVT.Q_MAX2;\n var LARGE_BITS = $5dfff05939c3cc74$var$QuantizePVT.LARGE_BITS;\n /**\n * Assuming dynamic range=96dB, this value should be 92\n */ var NSATHSCALE = 100;\n /**\n * The following table is used to implement the scalefactor partitioning for\n * MPEG2 as described in section 2.4.3.2 of the IS. The indexing corresponds\n * to the way the tables are presented in the IS:\n *\n * [table_number][row_in_table][column of nr_of_sfb]\n */ this.nr_of_sfb_block = [\n [\n [\n 6,\n 5,\n 5,\n 5\n ],\n [\n 9,\n 9,\n 9,\n 9\n ],\n [\n 6,\n 9,\n 9,\n 9\n ]\n ],\n [\n [\n 6,\n 5,\n 7,\n 3\n ],\n [\n 9,\n 9,\n 12,\n 6\n ],\n [\n 6,\n 9,\n 12,\n 6\n ]\n ],\n [\n [\n 11,\n 10,\n 0,\n 0\n ],\n [\n 18,\n 18,\n 0,\n 0\n ],\n [\n 15,\n 18,\n 0,\n 0\n ]\n ],\n [\n [\n 7,\n 7,\n 7,\n 0\n ],\n [\n 12,\n 12,\n 12,\n 0\n ],\n [\n 6,\n 15,\n 12,\n 0\n ]\n ],\n [\n [\n 6,\n 6,\n 6,\n 3\n ],\n [\n 12,\n 9,\n 9,\n 6\n ],\n [\n 6,\n 12,\n 9,\n 6\n ]\n ],\n [\n [\n 8,\n 8,\n 5,\n 0\n ],\n [\n 15,\n 12,\n 9,\n 0\n ],\n [\n 6,\n 18,\n 9,\n 0\n ]\n ]\n ];\n /**\n * Table B.6: layer3 preemphasis\n */ var pretab = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 3,\n 2,\n 0\n ];\n this.pretab = pretab;\n /**\n * Here are MPEG1 Table B.8 and MPEG2 Table B.1 -- Layer III scalefactor\n * bands. <BR>\n * Index into this using a method such as:<BR>\n * idx = fr_ps.header.sampling_frequency + (fr_ps.header.version * 3)\n */ this.sfBandIndex = [\n // Table B.2.b: 22.05 kHz\n new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 116,\n 140,\n 168,\n 200,\n 238,\n 284,\n 336,\n 396,\n 464,\n 522,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 24,\n 32,\n 42,\n 56,\n 74,\n 100,\n 132,\n 174,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ] // sfb21 pseudo sub bands\n , [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ] // sfb12 pseudo sub bands\n ),\n /* Table B.2.c: 24 kHz */ /* docs: 332. mpg123(broken): 330 */ new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 114,\n 136,\n 162,\n 194,\n 232,\n 278,\n 332,\n 394,\n 464,\n 540,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 26,\n 36,\n 48,\n 62,\n 80,\n 104,\n 136,\n 180,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* Table B.2.a: 16 kHz */ new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 116,\n 140,\n 168,\n 200,\n 238,\n 284,\n 336,\n 396,\n 464,\n 522,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 26,\n 36,\n 48,\n 62,\n 80,\n 104,\n 134,\n 174,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* Table B.8.b: 44.1 kHz */ new $7imnH([\n 0,\n 4,\n 8,\n 12,\n 16,\n 20,\n 24,\n 30,\n 36,\n 44,\n 52,\n 62,\n 74,\n 90,\n 110,\n 134,\n 162,\n 196,\n 238,\n 288,\n 342,\n 418,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 16,\n 22,\n 30,\n 40,\n 52,\n 66,\n 84,\n 106,\n 136,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* Table B.8.c: 48 kHz */ new $7imnH([\n 0,\n 4,\n 8,\n 12,\n 16,\n 20,\n 24,\n 30,\n 36,\n 42,\n 50,\n 60,\n 72,\n 88,\n 106,\n 128,\n 156,\n 190,\n 230,\n 276,\n 330,\n 384,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 16,\n 22,\n 28,\n 38,\n 50,\n 64,\n 80,\n 100,\n 126,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* Table B.8.a: 32 kHz */ new $7imnH([\n 0,\n 4,\n 8,\n 12,\n 16,\n 20,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 82,\n 102,\n 126,\n 156,\n 194,\n 240,\n 296,\n 364,\n 448,\n 550,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 16,\n 22,\n 30,\n 42,\n 58,\n 78,\n 104,\n 138,\n 180,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* MPEG-2.5 11.025 kHz */ new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 116,\n 140,\n 168,\n 200,\n 238,\n 284,\n 336,\n 396,\n 464,\n 522,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 26,\n 36,\n 48,\n 62,\n 80,\n 104,\n 134,\n 174,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* MPEG-2.5 12 kHz */ new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 116,\n 140,\n 168,\n 200,\n 238,\n 284,\n 336,\n 396,\n 464,\n 522,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 26,\n 36,\n 48,\n 62,\n 80,\n 104,\n 134,\n 174,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* MPEG-2.5 8 kHz */ new $7imnH([\n 0,\n 12,\n 24,\n 36,\n 48,\n 60,\n 72,\n 88,\n 108,\n 132,\n 160,\n 192,\n 232,\n 280,\n 336,\n 400,\n 476,\n 566,\n 568,\n 570,\n 572,\n 574,\n 576\n ], [\n 0,\n 8,\n 16,\n 24,\n 36,\n 52,\n 72,\n 96,\n 124,\n 160,\n 162,\n 164,\n 166,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ])\n ];\n var pow20 = $5dfff05939c3cc74$var$new_float(Q_MAX + Q_MAX2 + 1);\n var ipow20 = $5dfff05939c3cc74$var$new_float(Q_MAX);\n var pow43 = $5dfff05939c3cc74$var$new_float(PRECALC_SIZE);\n var adj43 = $5dfff05939c3cc74$var$new_float(PRECALC_SIZE);\n this.adj43 = adj43;\n /**\n * <PRE>\n * compute the ATH for each scalefactor band cd range: 0..96db\n *\n * Input: 3.3kHz signal 32767 amplitude (3.3kHz is where ATH is smallest =\n * -5db) longblocks: sfb=12 en0/bw=-11db max_en0 = 1.3db shortblocks: sfb=5\n * -9db 0db\n *\n * Input: 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 (repeated) longblocks: amp=1\n * sfb=12 en0/bw=-103 db max_en0 = -92db amp=32767 sfb=12 -12 db -1.4db\n *\n * Input: 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 (repeated) shortblocks: amp=1\n * sfb=5 en0/bw= -99 -86 amp=32767 sfb=5 -9 db 4db\n *\n *\n * MAX energy of largest wave at 3.3kHz = 1db AVE energy of largest wave at\n * 3.3kHz = -11db Let's take AVE: -11db = maximum signal in sfb=12. Dynamic\n * range of CD: 96db. Therefor energy of smallest audible wave in sfb=12 =\n * -11 - 96 = -107db = ATH at 3.3kHz.\n *\n * ATH formula for this wave: -5db. To adjust to LAME scaling, we need ATH =\n * ATH_formula - 103 (db) ATH = ATH * 2.5e-10 (ener)\n * </PRE>\n */ function ATHmdct(gfp, f) {\n var ath = psy.ATHformula(f, gfp);\n ath -= NSATHSCALE;\n /* modify the MDCT scaling for the ATH and convert to energy */ ath = Math.pow(10.0, ath / 10.0 + gfp.ATHlower);\n return ath;\n }\n function compute_ath(gfp) {\n var ATH_l = gfp.internal_flags.ATH.l;\n var ATH_psfb21 = gfp.internal_flags.ATH.psfb21;\n var ATH_s = gfp.internal_flags.ATH.s;\n var ATH_psfb12 = gfp.internal_flags.ATH.psfb12;\n var gfc = gfp.internal_flags;\n var samp_freq = gfp.out_samplerate;\n for(var sfb = 0; sfb < $cPNKB.SBMAX_l; sfb++){\n var start = gfc.scalefac_band.l[sfb];\n var end = gfc.scalefac_band.l[sfb + 1];\n ATH_l[sfb] = $5dfff05939c3cc74$var$Float.MAX_VALUE;\n for(var i = start; i < end; i++){\n var freq = i * samp_freq / 1152;\n var ATH_f = ATHmdct(gfp, freq);\n /* freq in kHz */ ATH_l[sfb] = Math.min(ATH_l[sfb], ATH_f);\n }\n }\n for(var sfb = 0; sfb < $cPNKB.PSFB21; sfb++){\n var start = gfc.scalefac_band.psfb21[sfb];\n var end = gfc.scalefac_band.psfb21[sfb + 1];\n ATH_psfb21[sfb] = $5dfff05939c3cc74$var$Float.MAX_VALUE;\n for(var i = start; i < end; i++){\n var freq = i * samp_freq / 1152;\n var ATH_f = ATHmdct(gfp, freq);\n /* freq in kHz */ ATH_psfb21[sfb] = Math.min(ATH_psfb21[sfb], ATH_f);\n }\n }\n for(var sfb = 0; sfb < $cPNKB.SBMAX_s; sfb++){\n var start = gfc.scalefac_band.s[sfb];\n var end = gfc.scalefac_band.s[sfb + 1];\n ATH_s[sfb] = $5dfff05939c3cc74$var$Float.MAX_VALUE;\n for(var i = start; i < end; i++){\n var freq = i * samp_freq / 384;\n var ATH_f = ATHmdct(gfp, freq);\n /* freq in kHz */ ATH_s[sfb] = Math.min(ATH_s[sfb], ATH_f);\n }\n ATH_s[sfb] *= gfc.scalefac_band.s[sfb + 1] - gfc.scalefac_band.s[sfb];\n }\n for(var sfb = 0; sfb < $cPNKB.PSFB12; sfb++){\n var start = gfc.scalefac_band.psfb12[sfb];\n var end = gfc.scalefac_band.psfb12[sfb + 1];\n ATH_psfb12[sfb] = $5dfff05939c3cc74$var$Float.MAX_VALUE;\n for(var i = start; i < end; i++){\n var freq = i * samp_freq / 384;\n var ATH_f = ATHmdct(gfp, freq);\n /* freq in kHz */ ATH_psfb12[sfb] = Math.min(ATH_psfb12[sfb], ATH_f);\n }\n /* not sure about the following */ ATH_psfb12[sfb] *= gfc.scalefac_band.s[13] - gfc.scalefac_band.s[12];\n }\n /*\n * no-ATH mode: reduce ATH to -200 dB\n */ if (gfp.noATH) {\n for(var sfb = 0; sfb < $cPNKB.SBMAX_l; sfb++)ATH_l[sfb] = 1E-20;\n for(var sfb = 0; sfb < $cPNKB.PSFB21; sfb++)ATH_psfb21[sfb] = 1E-20;\n for(var sfb = 0; sfb < $cPNKB.SBMAX_s; sfb++)ATH_s[sfb] = 1E-20;\n for(var sfb = 0; sfb < $cPNKB.PSFB12; sfb++)ATH_psfb12[sfb] = 1E-20;\n }\n /*\n * work in progress, don't rely on it too much\n */ gfc.ATH.floor = 10. * Math.log10(ATHmdct(gfp, -1));\n }\n /**\n * initialization for iteration_loop\n */ this.iteration_init = function(gfp) {\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n var i;\n if (gfc.iteration_init_init == 0) {\n gfc.iteration_init_init = 1;\n l3_side.main_data_begin = 0;\n compute_ath(gfp);\n pow43[0] = 0.0;\n for(i = 1; i < PRECALC_SIZE; i++)pow43[i] = Math.pow(i, 4.0 / 3.0);\n for(i = 0; i < PRECALC_SIZE - 1; i++)adj43[i] = i + 1 - Math.pow(0.5 * (pow43[i] + pow43[i + 1]), 0.75);\n adj43[i] = 0.5;\n for(i = 0; i < Q_MAX; i++)ipow20[i] = Math.pow(2.0, (i - 210) * -0.1875);\n for(i = 0; i <= Q_MAX + Q_MAX2; i++)pow20[i] = Math.pow(2.0, (i - 210 - Q_MAX2) * 0.25);\n tak.huffman_init(gfc);\n var bass, alto, treble, sfb21;\n i = gfp.exp_nspsytune >> 2 & 63;\n if (i >= 32) i -= 64;\n bass = Math.pow(10, i / 4.0 / 10.0);\n i = gfp.exp_nspsytune >> 8 & 63;\n if (i >= 32) i -= 64;\n alto = Math.pow(10, i / 4.0 / 10.0);\n i = gfp.exp_nspsytune >> 14 & 63;\n if (i >= 32) i -= 64;\n treble = Math.pow(10, i / 4.0 / 10.0);\n /*\n * to be compatible with Naoki's original code, the next 6 bits\n * define only the amount of changing treble for sfb21\n */ i = gfp.exp_nspsytune >> 20 & 63;\n if (i >= 32) i -= 64;\n sfb21 = treble * Math.pow(10, i / 4.0 / 10.0);\n for(i = 0; i < $cPNKB.SBMAX_l; i++){\n var f;\n if (i <= 6) f = bass;\n else if (i <= 13) f = alto;\n else if (i <= 20) f = treble;\n else f = sfb21;\n gfc.nsPsy.longfact[i] = f;\n }\n for(i = 0; i < $cPNKB.SBMAX_s; i++){\n var f;\n if (i <= 5) f = bass;\n else if (i <= 10) f = alto;\n else if (i <= 11) f = treble;\n else f = sfb21;\n gfc.nsPsy.shortfact[i] = f;\n }\n }\n };\n /**\n * allocate bits among 2 channels based on PE<BR>\n * mt 6/99<BR>\n * bugfixes rh 8/01: often allocated more than the allowed 4095 bits\n */ this.on_pe = function(gfp, pe, targ_bits, mean_bits, gr, cbr) {\n var gfc = gfp.internal_flags;\n var tbits = 0, bits;\n var add_bits = $5dfff05939c3cc74$var$new_int(2);\n var ch;\n /* allocate targ_bits for granule */ var mb = new $lL4Le(tbits);\n var extra_bits = rv.ResvMaxBits(gfp, mean_bits, mb, cbr);\n tbits = mb.bits;\n /* maximum allowed bits for this granule */ var max_bits = tbits + extra_bits;\n if (max_bits > $4SDnr.MAX_BITS_PER_GRANULE) // hard limit per granule\n max_bits = $4SDnr.MAX_BITS_PER_GRANULE;\n for(bits = 0, ch = 0; ch < gfc.channels_out; ++ch){\n /******************************************************************\n * allocate bits for each channel\n ******************************************************************/ targ_bits[ch] = Math.min($4SDnr.MAX_BITS_PER_CHANNEL, tbits / gfc.channels_out);\n add_bits[ch] = 0 | targ_bits[ch] * pe[gr][ch] / 700.0 - targ_bits[ch];\n /* at most increase bits by 1.5*average */ if (add_bits[ch] > mean_bits * 3 / 4) add_bits[ch] = mean_bits * 3 / 4;\n if (add_bits[ch] < 0) add_bits[ch] = 0;\n if (add_bits[ch] + targ_bits[ch] > $4SDnr.MAX_BITS_PER_CHANNEL) add_bits[ch] = Math.max(0, $4SDnr.MAX_BITS_PER_CHANNEL - targ_bits[ch]);\n bits += add_bits[ch];\n }\n if (bits > extra_bits) for(ch = 0; ch < gfc.channels_out; ++ch)add_bits[ch] = extra_bits * add_bits[ch] / bits;\n for(ch = 0; ch < gfc.channels_out; ++ch){\n targ_bits[ch] += add_bits[ch];\n extra_bits -= add_bits[ch];\n }\n for(bits = 0, ch = 0; ch < gfc.channels_out; ++ch)bits += targ_bits[ch];\n if (bits > $4SDnr.MAX_BITS_PER_GRANULE) {\n var sum = 0;\n for(ch = 0; ch < gfc.channels_out; ++ch){\n targ_bits[ch] *= $4SDnr.MAX_BITS_PER_GRANULE;\n targ_bits[ch] /= bits;\n sum += targ_bits[ch];\n }\n $5dfff05939c3cc74$var$assert(sum <= $4SDnr.MAX_BITS_PER_GRANULE);\n }\n return max_bits;\n };\n this.reduce_side = function(targ_bits, ms_ener_ratio, mean_bits, max_bits) {\n $5dfff05939c3cc74$var$assert(max_bits <= $4SDnr.MAX_BITS_PER_GRANULE);\n $5dfff05939c3cc74$var$assert(targ_bits[0] + targ_bits[1] <= $4SDnr.MAX_BITS_PER_GRANULE);\n /*\n * ms_ener_ratio = 0: allocate 66/33 mid/side fac=.33 ms_ener_ratio =.5:\n * allocate 50/50 mid/side fac= 0\n */ /* 75/25 split is fac=.5 */ var fac = .33 * (.5 - ms_ener_ratio) / .5;\n if (fac < 0) fac = 0;\n if (fac > .5) fac = .5;\n /* number of bits to move from side channel to mid channel */ /* move_bits = fac*targ_bits[1]; */ var move_bits = 0 | fac * .5 * (targ_bits[0] + targ_bits[1]);\n if (move_bits > $4SDnr.MAX_BITS_PER_CHANNEL - targ_bits[0]) move_bits = $4SDnr.MAX_BITS_PER_CHANNEL - targ_bits[0];\n if (move_bits < 0) move_bits = 0;\n if (targ_bits[1] >= 125) {\n /* dont reduce side channel below 125 bits */ if (targ_bits[1] - move_bits > 125) {\n /* if mid channel already has 2x more than average, dont bother */ /* mean_bits = bits per granule (for both channels) */ if (targ_bits[0] < mean_bits) targ_bits[0] += move_bits;\n targ_bits[1] -= move_bits;\n } else {\n targ_bits[0] += targ_bits[1] - 125;\n targ_bits[1] = 125;\n }\n }\n move_bits = targ_bits[0] + targ_bits[1];\n if (move_bits > max_bits) {\n targ_bits[0] = max_bits * targ_bits[0] / move_bits;\n targ_bits[1] = max_bits * targ_bits[1] / move_bits;\n }\n $5dfff05939c3cc74$var$assert(targ_bits[0] <= $4SDnr.MAX_BITS_PER_CHANNEL);\n $5dfff05939c3cc74$var$assert(targ_bits[1] <= $4SDnr.MAX_BITS_PER_CHANNEL);\n $5dfff05939c3cc74$var$assert(targ_bits[0] + targ_bits[1] <= $4SDnr.MAX_BITS_PER_GRANULE);\n };\n /**\n * Robert Hegemann 2001-04-27:\n * this adjusts the ATH, keeping the original noise floor\n * affects the higher frequencies more than the lower ones\n */ this.athAdjust = function(a, x, athFloor) {\n /*\n * work in progress\n */ var o = 90.30873362;\n var p = 94.82444863;\n var u = $5dfff05939c3cc74$var$Util.FAST_LOG10_X(x, 10.0);\n var v = a * a;\n var w = 0.0;\n u -= athFloor;\n /* undo scaling */ if (v > 1E-20) w = 1. + $5dfff05939c3cc74$var$Util.FAST_LOG10_X(v, 10.0 / o);\n if (w < 0) w = 0.;\n u *= w;\n u += athFloor + o - p;\n /* redo scaling */ return Math.pow(10., 0.1 * u);\n };\n /**\n * Calculate the allowed distortion for each scalefactor band, as determined\n * by the psychoacoustic model. xmin(sb) = ratio(sb) * en(sb) / bw(sb)\n *\n * returns number of sfb's with energy > ATH\n */ this.calc_xmin = function(gfp, ratio, cod_info, pxmin) {\n var pxminPos = 0;\n var gfc = gfp.internal_flags;\n var gsfb, j = 0, ath_over = 0;\n var ATH = gfc.ATH;\n var xr = cod_info.xr;\n var enable_athaa_fix = gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mtrh ? 1 : 0;\n var masking_lower = gfc.masking_lower;\n if (gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mtrh || gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mt) /* was already done in PSY-Model */ masking_lower = 1.0;\n for(gsfb = 0; gsfb < cod_info.psy_lmax; gsfb++){\n var en0, xmin;\n var rh1, rh2;\n var width, l;\n if (gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_rh || gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mtrh) xmin = athAdjust(ATH.adjust, ATH.l[gsfb], ATH.floor);\n else xmin = ATH.adjust * ATH.l[gsfb];\n width = cod_info.width[gsfb];\n rh1 = xmin / width;\n rh2 = DBL_EPSILON;\n l = width >> 1;\n en0 = 0.0;\n do {\n var xa, xb;\n xa = xr[j] * xr[j];\n en0 += xa;\n rh2 += xa < rh1 ? xa : rh1;\n j++;\n xb = xr[j] * xr[j];\n en0 += xb;\n rh2 += xb < rh1 ? xb : rh1;\n j++;\n }while (--l > 0);\n if (en0 > xmin) ath_over++;\n if (gsfb == $cPNKB.SBPSY_l) {\n var x = xmin * gfc.nsPsy.longfact[gsfb];\n if (rh2 < x) rh2 = x;\n }\n if (enable_athaa_fix != 0) xmin = rh2;\n if (!gfp.ATHonly) {\n var e = ratio.en.l[gsfb];\n if (e > 0.0) {\n var x;\n x = en0 * ratio.thm.l[gsfb] * masking_lower / e;\n if (enable_athaa_fix != 0) x *= gfc.nsPsy.longfact[gsfb];\n if (xmin < x) xmin = x;\n }\n }\n if (enable_athaa_fix != 0) pxmin[pxminPos++] = xmin;\n else pxmin[pxminPos++] = xmin * gfc.nsPsy.longfact[gsfb];\n }\n /* end of long block loop */ /* use this function to determine the highest non-zero coeff */ var max_nonzero = 575;\n if (cod_info.block_type != $cPNKB.SHORT_TYPE) {\n // NORM, START or STOP type, but not SHORT\n var k = 576;\n while(k-- != 0 && BitStream.EQ(xr[k], 0))max_nonzero = k;\n }\n cod_info.max_nonzero_coeff = max_nonzero;\n for(var sfb = cod_info.sfb_smin; gsfb < cod_info.psymax; sfb++, gsfb += 3){\n var width, b;\n var tmpATH;\n if (gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_rh || gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mtrh) tmpATH = athAdjust(ATH.adjust, ATH.s[sfb], ATH.floor);\n else tmpATH = ATH.adjust * ATH.s[sfb];\n width = cod_info.width[gsfb];\n for(b = 0; b < 3; b++){\n var en0 = 0.0, xmin;\n var rh1, rh2;\n var l = width >> 1;\n rh1 = tmpATH / width;\n rh2 = DBL_EPSILON;\n do {\n var xa, xb;\n xa = xr[j] * xr[j];\n en0 += xa;\n rh2 += xa < rh1 ? xa : rh1;\n j++;\n xb = xr[j] * xr[j];\n en0 += xb;\n rh2 += xb < rh1 ? xb : rh1;\n j++;\n }while (--l > 0);\n if (en0 > tmpATH) ath_over++;\n if (sfb == $cPNKB.SBPSY_s) {\n var x = tmpATH * gfc.nsPsy.shortfact[sfb];\n if (rh2 < x) rh2 = x;\n }\n if (enable_athaa_fix != 0) xmin = rh2;\n else xmin = tmpATH;\n if (!gfp.ATHonly && !gfp.ATHshort) {\n var e = ratio.en.s[sfb][b];\n if (e > 0.0) {\n var x;\n x = en0 * ratio.thm.s[sfb][b] * masking_lower / e;\n if (enable_athaa_fix != 0) x *= gfc.nsPsy.shortfact[sfb];\n if (xmin < x) xmin = x;\n }\n }\n if (enable_athaa_fix != 0) pxmin[pxminPos++] = xmin;\n else pxmin[pxminPos++] = xmin * gfc.nsPsy.shortfact[sfb];\n }\n /* b */ if (gfp.useTemporal) {\n if (pxmin[pxminPos - 3] > pxmin[pxminPos - 3 + 1]) pxmin[pxminPos - 3 + 1] += (pxmin[pxminPos - 3] - pxmin[pxminPos - 3 + 1]) * gfc.decay;\n if (pxmin[pxminPos - 3 + 1] > pxmin[pxminPos - 3 + 2]) pxmin[pxminPos - 3 + 2] += (pxmin[pxminPos - 3 + 1] - pxmin[pxminPos - 3 + 2]) * gfc.decay;\n }\n }\n /* end of short block sfb loop */ return ath_over;\n };\n function StartLine(j) {\n this.s = j;\n }\n this.calc_noise_core = function(cod_info, startline, l, step) {\n var noise = 0;\n var j = startline.s;\n var ix = cod_info.l3_enc;\n if (j > cod_info.count1) while(l-- != 0){\n var temp;\n temp = cod_info.xr[j];\n j++;\n noise += temp * temp;\n temp = cod_info.xr[j];\n j++;\n noise += temp * temp;\n }\n else if (j > cod_info.big_values) {\n var ix01 = $5dfff05939c3cc74$var$new_float(2);\n ix01[0] = 0;\n ix01[1] = step;\n while(l-- != 0){\n var temp;\n temp = Math.abs(cod_info.xr[j]) - ix01[ix[j]];\n j++;\n noise += temp * temp;\n temp = Math.abs(cod_info.xr[j]) - ix01[ix[j]];\n j++;\n noise += temp * temp;\n }\n } else while(l-- != 0){\n var temp;\n temp = Math.abs(cod_info.xr[j]) - pow43[ix[j]] * step;\n j++;\n noise += temp * temp;\n temp = Math.abs(cod_info.xr[j]) - pow43[ix[j]] * step;\n j++;\n noise += temp * temp;\n }\n startline.s = j;\n return noise;\n };\n /**\n * <PRE>\n * -oo dB => -1.00\n * - 6 dB => -0.97\n * - 3 dB => -0.80\n * - 2 dB => -0.64\n * - 1 dB => -0.38\n * 0 dB => 0.00\n * + 1 dB => +0.49\n * + 2 dB => +1.06\n * + 3 dB => +1.68\n * + 6 dB => +3.69\n * +10 dB => +6.45\n * </PRE>\n */ this.calc_noise = function(cod_info, l3_xmin, distort, res, prev_noise) {\n var distortPos = 0;\n var l3_xminPos = 0;\n var sfb, l, over = 0;\n var over_noise_db = 0;\n /* 0 dB relative to masking */ var tot_noise_db = 0;\n /* -200 dB relative to masking */ var max_noise = -20;\n var j = 0;\n var scalefac = cod_info.scalefac;\n var scalefacPos = 0;\n res.over_SSD = 0;\n for(sfb = 0; sfb < cod_info.psymax; sfb++){\n var s = cod_info.global_gain - (scalefac[scalefacPos++] + (cod_info.preflag != 0 ? pretab[sfb] : 0) << cod_info.scalefac_scale + 1) - cod_info.subblock_gain[cod_info.window[sfb]] * 8;\n var noise = 0.0;\n if (prev_noise != null && prev_noise.step[sfb] == s) {\n /* use previously computed values */ noise = prev_noise.noise[sfb];\n j += cod_info.width[sfb];\n distort[distortPos++] = noise / l3_xmin[l3_xminPos++];\n noise = prev_noise.noise_log[sfb];\n } else {\n var step = POW20(s);\n l = cod_info.width[sfb] >> 1;\n if (j + cod_info.width[sfb] > cod_info.max_nonzero_coeff) {\n var usefullsize;\n usefullsize = cod_info.max_nonzero_coeff - j + 1;\n if (usefullsize > 0) l = usefullsize >> 1;\n else l = 0;\n }\n var sl = new StartLine(j);\n noise = this.calc_noise_core(cod_info, sl, l, step);\n j = sl.s;\n if (prev_noise != null) {\n /* save noise values */ prev_noise.step[sfb] = s;\n prev_noise.noise[sfb] = noise;\n }\n noise = distort[distortPos++] = noise / l3_xmin[l3_xminPos++];\n /* multiplying here is adding in dB, but can overflow */ noise = $5dfff05939c3cc74$var$Util.FAST_LOG10(Math.max(noise, 1E-20));\n if (prev_noise != null) /* save noise values */ prev_noise.noise_log[sfb] = noise;\n }\n if (prev_noise != null) /* save noise values */ prev_noise.global_gain = cod_info.global_gain;\n tot_noise_db += noise;\n if (noise > 0.0) {\n var tmp;\n tmp = Math.max(0 | noise * 10 + .5, 1);\n res.over_SSD += tmp * tmp;\n over++;\n /* multiplying here is adding in dB -but can overflow */ /* over_noise *= noise; */ over_noise_db += noise;\n }\n max_noise = Math.max(max_noise, noise);\n }\n res.over_count = over;\n res.tot_noise = tot_noise_db;\n res.over_noise = over_noise_db;\n res.max_noise = max_noise;\n return over;\n };\n /**\n * updates plotting data\n *\n * Mark Taylor 2000-??-??\n *\n * Robert Hegemann: moved noise/distortion calc into it\n */ this.set_pinfo = function(gfp, cod_info, ratio, gr, ch) {\n var gfc = gfp.internal_flags;\n var sfb, sfb2;\n var l;\n var en0, en1;\n var ifqstep = cod_info.scalefac_scale == 0 ? .5 : 1.0;\n var scalefac = cod_info.scalefac;\n var l3_xmin = $5dfff05939c3cc74$var$new_float(L3Side.SFBMAX);\n var xfsf = $5dfff05939c3cc74$var$new_float(L3Side.SFBMAX);\n var noise = new CalcNoiseResult();\n calc_xmin(gfp, ratio, cod_info, l3_xmin);\n calc_noise(cod_info, l3_xmin, xfsf, noise, null);\n var j = 0;\n sfb2 = cod_info.sfb_lmax;\n if (cod_info.block_type != $cPNKB.SHORT_TYPE && 0 == cod_info.mixed_block_flag) sfb2 = 22;\n for(sfb = 0; sfb < sfb2; sfb++){\n var start = gfc.scalefac_band.l[sfb];\n var end = gfc.scalefac_band.l[sfb + 1];\n var bw = end - start;\n for(en0 = 0.0; j < end; j++)en0 += cod_info.xr[j] * cod_info.xr[j];\n en0 /= bw;\n /* convert to MDCT units */ /* scaling so it shows up on FFT plot */ en1 = 1e15;\n gfc.pinfo.en[gr][ch][sfb] = en1 * en0;\n gfc.pinfo.xfsf[gr][ch][sfb] = en1 * l3_xmin[sfb] * xfsf[sfb] / bw;\n if (ratio.en.l[sfb] > 0 && !gfp.ATHonly) en0 = en0 / ratio.en.l[sfb];\n else en0 = 0.0;\n gfc.pinfo.thr[gr][ch][sfb] = en1 * Math.max(en0 * ratio.thm.l[sfb], gfc.ATH.l[sfb]);\n /* there is no scalefactor bands >= SBPSY_l */ gfc.pinfo.LAMEsfb[gr][ch][sfb] = 0;\n if (cod_info.preflag != 0 && sfb >= 11) gfc.pinfo.LAMEsfb[gr][ch][sfb] = -ifqstep * pretab[sfb];\n if (sfb < $cPNKB.SBPSY_l) {\n /* scfsi should be decoded by caller side */ $5dfff05939c3cc74$var$assert(scalefac[sfb] >= 0);\n gfc.pinfo.LAMEsfb[gr][ch][sfb] -= ifqstep * scalefac[sfb];\n }\n }\n /* for sfb */ if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n sfb2 = sfb;\n for(sfb = cod_info.sfb_smin; sfb < $cPNKB.SBMAX_s; sfb++){\n var start = gfc.scalefac_band.s[sfb];\n var end = gfc.scalefac_band.s[sfb + 1];\n var bw = end - start;\n for(var i = 0; i < 3; i++){\n for(en0 = 0.0, l = start; l < end; l++){\n en0 += cod_info.xr[j] * cod_info.xr[j];\n j++;\n }\n en0 = Math.max(en0 / bw, 1e-20);\n /* convert to MDCT units */ /* scaling so it shows up on FFT plot */ en1 = 1e15;\n gfc.pinfo.en_s[gr][ch][3 * sfb + i] = en1 * en0;\n gfc.pinfo.xfsf_s[gr][ch][3 * sfb + i] = en1 * l3_xmin[sfb2] * xfsf[sfb2] / bw;\n if (ratio.en.s[sfb][i] > 0) en0 = en0 / ratio.en.s[sfb][i];\n else en0 = 0.0;\n if (gfp.ATHonly || gfp.ATHshort) en0 = 0;\n gfc.pinfo.thr_s[gr][ch][3 * sfb + i] = en1 * Math.max(en0 * ratio.thm.s[sfb][i], gfc.ATH.s[sfb]);\n /* there is no scalefactor bands >= SBPSY_s */ gfc.pinfo.LAMEsfb_s[gr][ch][3 * sfb + i] = -2 * cod_info.subblock_gain[i];\n if (sfb < $cPNKB.SBPSY_s) gfc.pinfo.LAMEsfb_s[gr][ch][3 * sfb + i] -= ifqstep * scalefac[sfb2];\n sfb2++;\n }\n }\n }\n /* block type short */ gfc.pinfo.LAMEqss[gr][ch] = cod_info.global_gain;\n gfc.pinfo.LAMEmainbits[gr][ch] = cod_info.part2_3_length + cod_info.part2_length;\n gfc.pinfo.LAMEsfbits[gr][ch] = cod_info.part2_length;\n gfc.pinfo.over[gr][ch] = noise.over_count;\n gfc.pinfo.max_noise[gr][ch] = noise.max_noise * 10.0;\n gfc.pinfo.over_noise[gr][ch] = noise.over_noise * 10.0;\n gfc.pinfo.tot_noise[gr][ch] = noise.tot_noise * 10.0;\n gfc.pinfo.over_SSD[gr][ch] = noise.over_SSD;\n };\n /**\n * updates plotting data for a whole frame\n *\n * Robert Hegemann 2000-10-21\n */ function set_frame_pinfo(gfp, ratio) {\n var gfc = gfp.internal_flags;\n gfc.masking_lower = 1.0;\n /*\n * for every granule and channel patch l3_enc and set info\n */ for(var gr = 0; gr < gfc.mode_gr; gr++)for(var ch = 0; ch < gfc.channels_out; ch++){\n var cod_info = gfc.l3_side.tt[gr][ch];\n var scalefac_sav = $5dfff05939c3cc74$var$new_int(L3Side.SFBMAX);\n $5dfff05939c3cc74$var$System.arraycopy(cod_info.scalefac, 0, scalefac_sav, 0, scalefac_sav.length);\n /*\n * reconstruct the scalefactors in case SCFSI was used\n */ if (gr == 1) {\n var sfb;\n for(sfb = 0; sfb < cod_info.sfb_lmax; sfb++)if (cod_info.scalefac[sfb] < 0) /* scfsi */ cod_info.scalefac[sfb] = gfc.l3_side.tt[0][ch].scalefac[sfb];\n }\n set_pinfo(gfp, cod_info, ratio[gr][ch], gr, ch);\n $5dfff05939c3cc74$var$System.arraycopy(scalefac_sav, 0, cod_info.scalefac, 0, scalefac_sav.length);\n }\n /* for gr */ }\n}\nmodule.exports = $5dfff05939c3cc74$var$QuantizePVT;\n\n});\n\n\n\n\nvar $dd7ee3788d91dcb8$exports = {};\n\n$parcel$export($dd7ee3788d91dcb8$exports, \"Mp3Encoder\", () => $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2, (v) => $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 = v);\n$parcel$export($dd7ee3788d91dcb8$exports, \"WavHeader\", () => $dd7ee3788d91dcb8$export$cb948f2d6837f136, (v) => $dd7ee3788d91dcb8$export$cb948f2d6837f136 = v);\nvar $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2;\nvar $dd7ee3788d91dcb8$export$cb948f2d6837f136;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $dd7ee3788d91dcb8$var$System = $3YDN3.System;\nvar $dd7ee3788d91dcb8$var$VbrMode = $3YDN3.VbrMode;\nvar $dd7ee3788d91dcb8$var$Float = $3YDN3.Float;\nvar $dd7ee3788d91dcb8$var$ShortBlock = $3YDN3.ShortBlock;\nvar $dd7ee3788d91dcb8$var$Util = $3YDN3.Util;\nvar $dd7ee3788d91dcb8$var$Arrays = $3YDN3.Arrays;\nvar $dd7ee3788d91dcb8$var$new_array_n = $3YDN3.new_array_n;\nvar $dd7ee3788d91dcb8$var$new_byte = $3YDN3.new_byte;\nvar $dd7ee3788d91dcb8$var$new_double = $3YDN3.new_double;\nvar $dd7ee3788d91dcb8$var$new_float = $3YDN3.new_float;\nvar $dd7ee3788d91dcb8$var$new_float_n = $3YDN3.new_float_n;\nvar $dd7ee3788d91dcb8$var$new_int = $3YDN3.new_int;\nvar $dd7ee3788d91dcb8$var$new_int_n = $3YDN3.new_int_n;\nvar $dd7ee3788d91dcb8$var$assert = $3YDN3.assert;\n\nvar $kk1yk = parcelRequire(\"kk1yk\");\nvar $7960aab77e945546$exports = {};\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $7960aab77e945546$var$System = $3YDN3.System;\nvar $7960aab77e945546$var$VbrMode = $3YDN3.VbrMode;\nvar $7960aab77e945546$var$Float = $3YDN3.Float;\nvar $7960aab77e945546$var$ShortBlock = $3YDN3.ShortBlock;\nvar $7960aab77e945546$var$Util = $3YDN3.Util;\nvar $7960aab77e945546$var$Arrays = $3YDN3.Arrays;\nvar $7960aab77e945546$var$new_array_n = $3YDN3.new_array_n;\nvar $7960aab77e945546$var$new_byte = $3YDN3.new_byte;\nvar $7960aab77e945546$var$new_double = $3YDN3.new_double;\nvar $7960aab77e945546$var$new_float = $3YDN3.new_float;\nvar $7960aab77e945546$var$new_float_n = $3YDN3.new_float_n;\nvar $7960aab77e945546$var$new_int = $3YDN3.new_int;\nvar $7960aab77e945546$var$new_int_n = $3YDN3.new_int_n;\nvar $7960aab77e945546$var$assert = $3YDN3.assert;\n\nfunction $7960aab77e945546$var$Presets() {\n var Lame = (parcelRequire(\"kk1yk\"));\n function VBRPresets(qual, comp, compS, y, shThreshold, shThresholdS, adj, adjShort, lower, curve, sens, inter, joint, mod, fix) {\n this.vbr_q = qual;\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.expY = y;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.masking_adj = adj;\n this.masking_adj_short = adjShort;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.ath_sensitivity = sens;\n this.interch = inter;\n this.safejoint = joint;\n this.sfb21mod = mod;\n this.msfix = fix;\n }\n function ABRPresets(kbps, comp, compS, joint, fix, shThreshold, shThresholdS, bass, sc, mask, lower, curve, interCh, sfScale) {\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.safejoint = joint;\n this.nsmsfix = fix;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.nsbass = bass;\n this.scale = sc;\n this.masking_adj = mask;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.interch = interCh;\n this.sfscale = sfScale;\n }\n var lame;\n this.setModules = function(_lame) {\n lame = _lame;\n };\n /**\n * <PRE>\n * Switch mappings for VBR mode VBR_RH\n * vbr_q qcomp_l qcomp_s expY st_lrm st_s mask adj_l adj_s ath_lower ath_curve ath_sens interChR safejoint sfb21mod msfix\n * </PRE>\n */ var vbr_old_switch_map = [\n new VBRPresets(0, 9, 9, 0, 5.20, 125.0, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, 0.97),\n new VBRPresets(1, 9, 9, 0, 5.30, 125.0, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 5.60, 125.0, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49),\n new VBRPresets(3, 9, 9, 1, 5.80, 130.0, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64),\n new VBRPresets(4, 9, 9, 1, 6.00, 135.0, -0.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 6.40, 140.0, 0.5, 0.4, -7.5, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 6.60, 145.0, 0.67, 0.65, -14.7, 6.5, -19, 0.0004, 0, 0, 2.30),\n new VBRPresets(7, 9, 9, 1, 6.60, 145.0, 0.8, 0.75, -19.7, 8, -22, 0.0006, 0, 0, 2.70),\n new VBRPresets(8, 9, 9, 1, 6.60, 145.0, 1.2, 1.15, -27.5, 10, -23, 0.0007, 0, 0, 0),\n new VBRPresets(9, 9, 9, 1, 6.60, 145.0, 1.6, 1.6, -36, 11, -25, 0.0008, 0, 0, 0),\n new VBRPresets(10, 9, 9, 1, 6.60, 145.0, 2.0, 2.0, -36, 12, -25, 0.0008, 0, 0, 0)\n ];\n /**\n * <PRE>\n * vbr_q qcomp_l qcomp_s expY st_lrm st_s mask adj_l adj_s ath_lower ath_curve ath_sens interChR safejoint sfb21mod msfix\n * </PRE>\n */ var vbr_psy_switch_map = [\n new VBRPresets(0, 9, 9, 0, 4.20, 25.0, -7, -4, 7.5, 1, 0, 0, 2, 26, 0.97),\n new VBRPresets(1, 9, 9, 0, 4.20, 25.0, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 4.20, 25.0, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49),\n new VBRPresets(3, 9, 9, 1, 4.20, 25.0, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64),\n new VBRPresets(4, 9, 9, 1, 4.20, 25.0, -2.2, 0.1, 0, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 4.20, 25.0, -1, 1.65, -7.7, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 4.20, 25.0, -0, 2.47, -7.7, 6.5, -19, 0.0004, 0, 0, 2),\n new VBRPresets(7, 9, 9, 1, 4.20, 25.0, 0.5, 2.0, -14.5, 8, -22, 0.0006, 0, 0, 2),\n new VBRPresets(8, 9, 9, 1, 4.20, 25.0, 1.0, 2.4, -22, 10, -23, 0.0007, 0, 0, 2),\n new VBRPresets(9, 9, 9, 1, 4.20, 25.0, 1.5, 2.95, -30, 11, -25, 0.0008, 0, 0, 2),\n new VBRPresets(10, 9, 9, 1, 4.20, 25.0, 2.0, 2.95, -36, 12, -30, 0.0008, 0, 0, 2)\n ];\n function apply_vbr_preset(gfp, a, enforce) {\n var vbr_preset = gfp.VBR == $7960aab77e945546$var$VbrMode.vbr_rh ? vbr_old_switch_map : vbr_psy_switch_map;\n var x = gfp.VBR_q_frac;\n var p = vbr_preset[a];\n var q = vbr_preset[a + 1];\n var set = p;\n // NOOP(vbr_q);\n // NOOP(quant_comp);\n // NOOP(quant_comp_s);\n // NOOP(expY);\n p.st_lrm = p.st_lrm + x * (q.st_lrm - p.st_lrm);\n // LERP(st_lrm);\n p.st_s = p.st_s + x * (q.st_s - p.st_s);\n // LERP(st_s);\n p.masking_adj = p.masking_adj + x * (q.masking_adj - p.masking_adj);\n // LERP(masking_adj);\n p.masking_adj_short = p.masking_adj_short + x * (q.masking_adj_short - p.masking_adj_short);\n // LERP(masking_adj_short);\n p.ath_lower = p.ath_lower + x * (q.ath_lower - p.ath_lower);\n // LERP(ath_lower);\n p.ath_curve = p.ath_curve + x * (q.ath_curve - p.ath_curve);\n // LERP(ath_curve);\n p.ath_sensitivity = p.ath_sensitivity + x * (q.ath_sensitivity - p.ath_sensitivity);\n // LERP(ath_sensitivity);\n p.interch = p.interch + x * (q.interch - p.interch);\n // LERP(interch);\n // NOOP(safejoint);\n // NOOP(sfb21mod);\n p.msfix = p.msfix + x * (q.msfix - p.msfix);\n // LERP(msfix);\n lame_set_VBR_q(gfp, set.vbr_q);\n if (enforce != 0) gfp.quant_comp = set.quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0)) gfp.quant_comp = set.quant_comp;\n // SET_OPTION(quant_comp, set.quant_comp, -1);\n if (enforce != 0) gfp.quant_comp_short = set.quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0)) gfp.quant_comp_short = set.quant_comp_s;\n // SET_OPTION(quant_comp_short, set.quant_comp_s, -1);\n if (set.expY != 0) gfp.experimentalY = set.expY != 0;\n if (enforce != 0) gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0)) gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n // SET_OPTION(short_threshold_lrm, set.st_lrm, -1);\n if (enforce != 0) gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0)) gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n // SET_OPTION(short_threshold_s, set.st_s, -1);\n if (enforce != 0) gfp.maskingadjust = set.masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0)) gfp.maskingadjust = set.masking_adj;\n // SET_OPTION(maskingadjust, set.masking_adj, 0);\n if (enforce != 0) gfp.maskingadjust_short = set.masking_adj_short;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0)) gfp.maskingadjust_short = set.masking_adj_short;\n // SET_OPTION(maskingadjust_short, set.masking_adj_short, 0);\n if (enforce != 0) gfp.ATHlower = -set.ath_lower / 10.0;\n else if (!(Math.abs(-gfp.ATHlower * 10.0 - 0) > 0)) gfp.ATHlower = -set.ath_lower / 10.0;\n // SET_OPTION(ATHlower, set.ath_lower, 0);\n if (enforce != 0) gfp.ATHcurve = set.ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0)) gfp.ATHcurve = set.ath_curve;\n // SET_OPTION(ATHcurve, set.ath_curve, -1);\n if (enforce != 0) gfp.athaa_sensitivity = set.ath_sensitivity;\n else if (!(Math.abs(gfp.athaa_sensitivity - -1) > 0)) gfp.athaa_sensitivity = set.ath_sensitivity;\n // SET_OPTION(athaa_sensitivity, set.ath_sensitivity, 0);\n if (set.interch > 0) {\n if (enforce != 0) gfp.interChRatio = set.interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0)) gfp.interChRatio = set.interch;\n // SET_OPTION(interChRatio, set.interch, -1);\n }\n /* parameters for which there is no proper set/get interface */ if (set.safejoint > 0) gfp.exp_nspsytune = gfp.exp_nspsytune | set.safejoint;\n if (set.sfb21mod > 0) gfp.exp_nspsytune = gfp.exp_nspsytune | set.sfb21mod << 20;\n if (enforce != 0) gfp.msfix = set.msfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0)) gfp.msfix = set.msfix;\n // SET_OPTION(msfix, set.msfix, -1);\n if (enforce == 0) {\n gfp.VBR_q = a;\n gfp.VBR_q_frac = x;\n }\n }\n /**\n * <PRE>\n * Switch mappings for ABR mode\n *\n * kbps quant q_s safejoint nsmsfix st_lrm st_s ns-bass scale msk ath_lwr ath_curve interch , sfscale\n * </PRE>\n */ var abr_switch_map = [\n new ABRPresets(8, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -30, 11, 0.0012, 1),\n /* 8, impossible to use in stereo */ new ABRPresets(16, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -25, 11, 0.0010, 1),\n /* 16 */ new ABRPresets(24, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -20, 11, 0.0010, 1),\n /* 24 */ new ABRPresets(32, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -15, 11, 0.0010, 1),\n /* 32 */ new ABRPresets(40, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10, 11, 0.0009, 1),\n /* 40 */ new ABRPresets(48, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10, 11, 0.0009, 1),\n /* 48 */ new ABRPresets(56, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -6, 11, 0.0008, 1),\n /* 56 */ new ABRPresets(64, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -2, 11, 0.0008, 1),\n /* 64 */ new ABRPresets(80, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, .0, 8, 0.0007, 1),\n /* 80 */ new ABRPresets(96, 9, 9, 0, 2.50, 6.60, 145, 0, 0.95, 0, 1.0, 5.5, 0.0006, 1),\n /* 96 */ new ABRPresets(112, 9, 9, 0, 2.25, 6.60, 145, 0, 0.95, 0, 2.0, 4.5, 0.0005, 1),\n /* 112 */ new ABRPresets(128, 9, 9, 0, 1.95, 6.40, 140, 0, 0.95, 0, 3.0, 4, 0.0002, 1),\n /* 128 */ new ABRPresets(160, 9, 9, 1, 1.79, 6.00, 135, 0, 0.95, -2, 5.0, 3.5, 0, 1),\n /* 160 */ new ABRPresets(192, 9, 9, 1, 1.49, 5.60, 125, 0, 0.97, -4, 7.0, 3, 0, 0),\n /* 192 */ new ABRPresets(224, 9, 9, 1, 1.25, 5.20, 125, 0, 0.98, -6, 9.0, 2, 0, 0),\n /* 224 */ new ABRPresets(256, 9, 9, 1, 0.97, 5.20, 125, 0, 1.00, -8, 10.0, 1, 0, 0),\n /* 256 */ new ABRPresets(320, 9, 9, 1, 0.90, 5.20, 125, 0, 1.00, -10, 12.0, 0, 0, 0)\n ];\n function apply_abr_preset(gfp, preset, enforce) {\n /* Variables for the ABR stuff */ var actual_bitrate = preset;\n var r = lame.nearestBitrateFullIndex(preset);\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_abr;\n gfp.VBR_mean_bitrate_kbps = actual_bitrate;\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR_mean_bitrate_kbps > 320) gfp.disable_reservoir = true;\n /* parameters for which there is no proper set/get interface */ if (abr_switch_map[r].safejoint > 0) gfp.exp_nspsytune = gfp.exp_nspsytune | 2;\n /* safejoint */ if (abr_switch_map[r].sfscale > 0) gfp.internal_flags.noise_shaping = 2;\n /* ns-bass tweaks */ if (Math.abs(abr_switch_map[r].nsbass) > 0) {\n var k = int(abr_switch_map[r].nsbass * 4);\n if (k < 0) k += 64;\n gfp.exp_nspsytune = gfp.exp_nspsytune | k << 2;\n }\n if (enforce != 0) gfp.quant_comp = abr_switch_map[r].quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0)) gfp.quant_comp = abr_switch_map[r].quant_comp;\n // SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);\n if (enforce != 0) gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0)) gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n // SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);\n if (enforce != 0) gfp.msfix = abr_switch_map[r].nsmsfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0)) gfp.msfix = abr_switch_map[r].nsmsfix;\n // SET_OPTION(msfix, abr_switch_map[r].nsmsfix, -1);\n if (enforce != 0) gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0)) gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n // SET_OPTION(short_threshold_lrm, abr_switch_map[r].st_lrm, -1);\n if (enforce != 0) gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0)) gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n // SET_OPTION(short_threshold_s, abr_switch_map[r].st_s, -1);\n /*\n * ABR seems to have big problems with clipping, especially at low\n * bitrates\n */ /*\n * so we compensate for that here by using a scale value depending on\n * bitrate\n */ if (enforce != 0) gfp.scale = abr_switch_map[r].scale;\n else if (!(Math.abs(gfp.scale - -1) > 0)) gfp.scale = abr_switch_map[r].scale;\n // SET_OPTION(scale, abr_switch_map[r].scale, -1);\n if (enforce != 0) gfp.maskingadjust = abr_switch_map[r].masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0)) gfp.maskingadjust = abr_switch_map[r].masking_adj;\n // SET_OPTION(maskingadjust, abr_switch_map[r].masking_adj, 0);\n if (abr_switch_map[r].masking_adj > 0) {\n if (enforce != 0) gfp.maskingadjust_short = abr_switch_map[r].masking_adj * .9;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0)) gfp.maskingadjust_short = abr_switch_map[r].masking_adj * .9;\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // .9, 0);\n } else {\n if (enforce != 0) gfp.maskingadjust_short = abr_switch_map[r].masking_adj * 1.1;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0)) gfp.maskingadjust_short = abr_switch_map[r].masking_adj * 1.1;\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // 1.1, 0);\n }\n if (enforce != 0) gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n else if (!(Math.abs(-gfp.ATHlower * 10. - 0) > 0)) gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n // SET_OPTION(ATHlower, abr_switch_map[r].ath_lower, 0);\n if (enforce != 0) gfp.ATHcurve = abr_switch_map[r].ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0)) gfp.ATHcurve = abr_switch_map[r].ath_curve;\n // SET_OPTION(ATHcurve, abr_switch_map[r].ath_curve, -1);\n if (enforce != 0) gfp.interChRatio = abr_switch_map[r].interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0)) gfp.interChRatio = abr_switch_map[r].interch;\n // SET_OPTION(interChRatio, abr_switch_map[r].interch, -1);\n return preset;\n }\n this.apply_preset = function(gfp, preset, enforce) {\n /* translate legacy presets */ switch(preset){\n case Lame.R3MIX:\n preset = Lame.V3;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_mtrh;\n break;\n case Lame.MEDIUM:\n preset = Lame.V4;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_rh;\n break;\n case Lame.MEDIUM_FAST:\n preset = Lame.V4;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_mtrh;\n break;\n case Lame.STANDARD:\n preset = Lame.V2;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_rh;\n break;\n case Lame.STANDARD_FAST:\n preset = Lame.V2;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_mtrh;\n break;\n case Lame.EXTREME:\n preset = Lame.V0;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_rh;\n break;\n case Lame.EXTREME_FAST:\n preset = Lame.V0;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_mtrh;\n break;\n case Lame.INSANE:\n preset = 320;\n gfp.preset = preset;\n apply_abr_preset(gfp, preset, enforce);\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_off;\n return preset;\n }\n gfp.preset = preset;\n switch(preset){\n case Lame.V9:\n apply_vbr_preset(gfp, 9, enforce);\n return preset;\n case Lame.V8:\n apply_vbr_preset(gfp, 8, enforce);\n return preset;\n case Lame.V7:\n apply_vbr_preset(gfp, 7, enforce);\n return preset;\n case Lame.V6:\n apply_vbr_preset(gfp, 6, enforce);\n return preset;\n case Lame.V5:\n apply_vbr_preset(gfp, 5, enforce);\n return preset;\n case Lame.V4:\n apply_vbr_preset(gfp, 4, enforce);\n return preset;\n case Lame.V3:\n apply_vbr_preset(gfp, 3, enforce);\n return preset;\n case Lame.V2:\n apply_vbr_preset(gfp, 2, enforce);\n return preset;\n case Lame.V1:\n apply_vbr_preset(gfp, 1, enforce);\n return preset;\n case Lame.V0:\n apply_vbr_preset(gfp, 0, enforce);\n return preset;\n default:\n break;\n }\n if (8 <= preset && preset <= 320) return apply_abr_preset(gfp, preset, enforce);\n /* no corresponding preset found */ gfp.preset = 0;\n return preset;\n };\n // Rest from getset.c:\n /**\n * VBR quality level.<BR>\n * 0 = highest<BR>\n * 9 = lowest\n */ function lame_set_VBR_q(gfp, VBR_q) {\n var ret = 0;\n if (0 > VBR_q) {\n /* Unknown VBR quality level! */ ret = -1;\n VBR_q = 0;\n }\n if (9 < VBR_q) {\n ret = -1;\n VBR_q = 9;\n }\n gfp.VBR_q = VBR_q;\n gfp.VBR_q_frac = 0;\n return ret;\n }\n}\n$7960aab77e945546$exports = $7960aab77e945546$var$Presets;\n\n\n\nvar $b8dhq = parcelRequire(\"b8dhq\");\n\nvar $84mea = parcelRequire(\"84mea\");\nvar $df08f3a0d41b7a78$exports = {};\n/*\n * MP3 quantization\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 1999-2003 Takehiro Tominaga\n * Copyright (c) 2000-2007 Robert Hegemann\n * Copyright (c) 2001-2005 Gabriel Bouvigne\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: Quantize.java,v 1.24 2011/05/24 20:48:06 kenchis Exp $ */ //package mp3;\n//import java.util.Arrays;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $df08f3a0d41b7a78$var$System = $3YDN3.System;\nvar $df08f3a0d41b7a78$var$VbrMode = $3YDN3.VbrMode;\nvar $df08f3a0d41b7a78$var$Float = $3YDN3.Float;\nvar $df08f3a0d41b7a78$var$ShortBlock = $3YDN3.ShortBlock;\nvar $df08f3a0d41b7a78$var$Util = $3YDN3.Util;\nvar $df08f3a0d41b7a78$var$Arrays = $3YDN3.Arrays;\nvar $df08f3a0d41b7a78$var$new_array_n = $3YDN3.new_array_n;\nvar $df08f3a0d41b7a78$var$new_byte = $3YDN3.new_byte;\nvar $df08f3a0d41b7a78$var$new_double = $3YDN3.new_double;\nvar $df08f3a0d41b7a78$var$new_float = $3YDN3.new_float;\nvar $df08f3a0d41b7a78$var$new_float_n = $3YDN3.new_float_n;\nvar $df08f3a0d41b7a78$var$new_int = $3YDN3.new_int;\nvar $df08f3a0d41b7a78$var$new_int_n = $3YDN3.new_int_n;\nvar $df08f3a0d41b7a78$var$assert = $3YDN3.assert;\nvar $225800021a714f05$exports = {};\nfunction $225800021a714f05$var$VBRQuantize() {\n var qupvt;\n var tak;\n this.setModules = function(_qupvt, _tk) {\n qupvt = _qupvt;\n tak = _tk;\n };\n//TODO\n}\n$225800021a714f05$exports = $225800021a714f05$var$VBRQuantize;\n\n\nvar $3afa85f14aff627b$exports = {};\n//package mp3;\nfunction $3afa85f14aff627b$var$CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */ this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */ this.tot_noise = 0.;\n /**\n * max quantization noise\n */ this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */ this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */ this.over_SSD = 0;\n this.bits = 0;\n}\n$3afa85f14aff627b$exports = $3afa85f14aff627b$var$CalcNoiseResult;\n\n\nvar $4fc41bdea3aedc83$exports = {};\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $4fc41bdea3aedc83$var$new_float = $3YDN3.new_float;\nvar $4fc41bdea3aedc83$var$new_int = $3YDN3.new_int;\nvar $4fc41bdea3aedc83$var$assert = $3YDN3.assert;\nfunction $4fc41bdea3aedc83$var$CalcNoiseData() {\n this.global_gain = 0;\n this.sfb_count1 = 0;\n this.step = $4fc41bdea3aedc83$var$new_int(39);\n this.noise = $4fc41bdea3aedc83$var$new_float(39);\n this.noise_log = $4fc41bdea3aedc83$var$new_float(39);\n}\n$4fc41bdea3aedc83$exports = $4fc41bdea3aedc83$var$CalcNoiseData;\n\n\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $7weBo = parcelRequire(\"7weBo\");\n\nvar $arIi9 = parcelRequire(\"arIi9\");\nfunction $df08f3a0d41b7a78$var$Quantize() {\n var bs;\n this.rv = null;\n var rv;\n this.qupvt = null;\n var qupvt;\n var vbr = new $225800021a714f05$exports();\n var tk;\n this.setModules = function(_bs, _rv, _qupvt, _tk) {\n bs = _bs;\n rv = _rv;\n this.rv = _rv;\n qupvt = _qupvt;\n this.qupvt = _qupvt;\n tk = _tk;\n vbr.setModules(qupvt, tk);\n };\n /**\n * convert from L/R <. Mid/Side\n */ this.ms_convert = function(l3_side, gr) {\n for(var i = 0; i < 576; ++i){\n var l = l3_side.tt[gr][0].xr[i];\n var r = l3_side.tt[gr][1].xr[i];\n l3_side.tt[gr][0].xr[i] = (l + r) * ($df08f3a0d41b7a78$var$Util.SQRT2 * 0.5);\n l3_side.tt[gr][1].xr[i] = (l - r) * ($df08f3a0d41b7a78$var$Util.SQRT2 * 0.5);\n }\n };\n /**\n * mt 6/99\n *\n * initializes cod_info, scalefac and xrpow\n *\n * returns 0 if all energies in xr are zero, else 1\n */ function init_xrpow_core(cod_info, xrpow, upper, sum) {\n sum = 0;\n for(var i = 0; i <= upper; ++i){\n var tmp = Math.abs(cod_info.xr[i]);\n sum += tmp;\n xrpow[i] = Math.sqrt(tmp * Math.sqrt(tmp));\n if (xrpow[i] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[i];\n }\n return sum;\n }\n this.init_xrpow = function(gfc, cod_info, xrpow) {\n var sum = 0;\n var upper = 0 | cod_info.max_nonzero_coeff;\n $df08f3a0d41b7a78$var$assert(xrpow != null);\n cod_info.xrpow_max = 0;\n /*\n * check if there is some energy we have to quantize and calculate xrpow\n * matching our fresh scalefactors\n */ $df08f3a0d41b7a78$var$assert(0 <= upper && upper <= 575);\n $df08f3a0d41b7a78$var$Arrays.fill(xrpow, upper, 576, 0);\n sum = init_xrpow_core(cod_info, xrpow, upper, sum);\n /*\n * return 1 if we have something to quantize, else 0\n */ if (sum > 1E-20) {\n var j = 0;\n if ((gfc.substep_shaping & 2) != 0) j = 1;\n for(var i = 0; i < cod_info.psymax; i++)gfc.pseudohalf[i] = j;\n return true;\n }\n $df08f3a0d41b7a78$var$Arrays.fill(cod_info.l3_enc, 0, 576, 0);\n return false;\n };\n /**\n * Gabriel Bouvigne feb/apr 2003<BR>\n * Analog silence detection in partitionned sfb21 or sfb12 for short blocks\n *\n * From top to bottom of sfb, changes to 0 coeffs which are below ath. It\n * stops on the first coeff higher than ath.\n */ function psfb21_analogsilence(gfc, cod_info) {\n var ath = gfc.ATH;\n var xr = cod_info.xr;\n if (cod_info.block_type != $cPNKB.SHORT_TYPE) {\n /* NORM, START or STOP type, but not SHORT blocks */ var stop = false;\n for(var gsfb = $cPNKB.PSFB21 - 1; gsfb >= 0 && !stop; gsfb--){\n var start = gfc.scalefac_band.psfb21[gsfb];\n var end = gfc.scalefac_band.psfb21[gsfb + 1];\n var ath21 = qupvt.athAdjust(ath.adjust, ath.psfb21[gsfb], ath.floor);\n if (gfc.nsPsy.longfact[21] > 1e-12) ath21 *= gfc.nsPsy.longfact[21];\n for(var j = end - 1; j >= start; j--)if (Math.abs(xr[j]) < ath21) xr[j] = 0;\n else {\n stop = true;\n break;\n }\n }\n } else /* note: short blocks coeffs are reordered */ for(var block = 0; block < 3; block++){\n var stop = false;\n for(var gsfb = $cPNKB.PSFB12 - 1; gsfb >= 0 && !stop; gsfb--){\n var start = gfc.scalefac_band.s[12] * 3 + (gfc.scalefac_band.s[13] - gfc.scalefac_band.s[12]) * block + (gfc.scalefac_band.psfb12[gsfb] - gfc.scalefac_band.psfb12[0]);\n var end = start + (gfc.scalefac_band.psfb12[gsfb + 1] - gfc.scalefac_band.psfb12[gsfb]);\n var ath12 = qupvt.athAdjust(ath.adjust, ath.psfb12[gsfb], ath.floor);\n if (gfc.nsPsy.shortfact[12] > 1e-12) ath12 *= gfc.nsPsy.shortfact[12];\n for(var j = end - 1; j >= start; j--)if (Math.abs(xr[j]) < ath12) xr[j] = 0;\n else {\n stop = true;\n break;\n }\n }\n }\n }\n this.init_outer_loop = function(gfc, cod_info) {\n /*\n * initialize fresh cod_info\n */ cod_info.part2_3_length = 0;\n cod_info.big_values = 0;\n cod_info.count1 = 0;\n cod_info.global_gain = 210;\n cod_info.scalefac_compress = 0;\n /* mixed_block_flag, block_type was set in psymodel.c */ cod_info.table_select[0] = 0;\n cod_info.table_select[1] = 0;\n cod_info.table_select[2] = 0;\n cod_info.subblock_gain[0] = 0;\n cod_info.subblock_gain[1] = 0;\n cod_info.subblock_gain[2] = 0;\n cod_info.subblock_gain[3] = 0;\n /* this one is always 0 */ cod_info.region0_count = 0;\n cod_info.region1_count = 0;\n cod_info.preflag = 0;\n cod_info.scalefac_scale = 0;\n cod_info.count1table_select = 0;\n cod_info.part2_length = 0;\n cod_info.sfb_lmax = $cPNKB.SBPSY_l;\n cod_info.sfb_smin = $cPNKB.SBPSY_s;\n cod_info.psy_lmax = gfc.sfb21_extra ? $cPNKB.SBMAX_l : $cPNKB.SBPSY_l;\n cod_info.psymax = cod_info.psy_lmax;\n cod_info.sfbmax = cod_info.sfb_lmax;\n cod_info.sfbdivide = 11;\n for(var sfb = 0; sfb < $cPNKB.SBMAX_l; sfb++){\n cod_info.width[sfb] = gfc.scalefac_band.l[sfb + 1] - gfc.scalefac_band.l[sfb];\n /* which is always 0. */ cod_info.window[sfb] = 3;\n }\n if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n var ixwork = $df08f3a0d41b7a78$var$new_float(576);\n cod_info.sfb_smin = 0;\n cod_info.sfb_lmax = 0;\n if (cod_info.mixed_block_flag != 0) {\n /*\n * MPEG-1: sfbs 0-7 long block, 3-12 short blocks MPEG-2(.5):\n * sfbs 0-5 long block, 3-12 short blocks\n */ cod_info.sfb_smin = 3;\n cod_info.sfb_lmax = gfc.mode_gr * 2 + 4;\n }\n cod_info.psymax = cod_info.sfb_lmax + 3 * ((gfc.sfb21_extra ? $cPNKB.SBMAX_s : $cPNKB.SBPSY_s) - cod_info.sfb_smin);\n cod_info.sfbmax = cod_info.sfb_lmax + 3 * ($cPNKB.SBPSY_s - cod_info.sfb_smin);\n cod_info.sfbdivide = cod_info.sfbmax - 18;\n cod_info.psy_lmax = cod_info.sfb_lmax;\n /* re-order the short blocks, for more efficient encoding below */ /* By Takehiro TOMINAGA */ /*\n * Within each scalefactor band, data is given for successive time\n * windows, beginning with window 0 and ending with window 2. Within\n * each window, the quantized values are then arranged in order of\n * increasing frequency...\n */ var ix = gfc.scalefac_band.l[cod_info.sfb_lmax];\n $df08f3a0d41b7a78$var$System.arraycopy(cod_info.xr, 0, ixwork, 0, 576);\n for(var sfb = cod_info.sfb_smin; sfb < $cPNKB.SBMAX_s; sfb++){\n var start = gfc.scalefac_band.s[sfb];\n var end = gfc.scalefac_band.s[sfb + 1];\n for(var window = 0; window < 3; window++)for(var l = start; l < end; l++)cod_info.xr[ix++] = ixwork[3 * l + window];\n }\n var j = cod_info.sfb_lmax;\n for(var sfb = cod_info.sfb_smin; sfb < $cPNKB.SBMAX_s; sfb++){\n cod_info.width[j] = cod_info.width[j + 1] = cod_info.width[j + 2] = gfc.scalefac_band.s[sfb + 1] - gfc.scalefac_band.s[sfb];\n cod_info.window[j] = 0;\n cod_info.window[j + 1] = 1;\n cod_info.window[j + 2] = 2;\n j += 3;\n }\n }\n cod_info.count1bits = 0;\n cod_info.sfb_partition_table = qupvt.nr_of_sfb_block[0][0];\n cod_info.slen[0] = 0;\n cod_info.slen[1] = 0;\n cod_info.slen[2] = 0;\n cod_info.slen[3] = 0;\n cod_info.max_nonzero_coeff = 575;\n /*\n * fresh scalefactors are all zero\n */ $df08f3a0d41b7a78$var$Arrays.fill(cod_info.scalefac, 0);\n psfb21_analogsilence(gfc, cod_info);\n };\n function BinSearchDirection(ordinal) {\n this.ordinal = ordinal;\n }\n BinSearchDirection.BINSEARCH_NONE = new BinSearchDirection(0);\n BinSearchDirection.BINSEARCH_UP = new BinSearchDirection(1);\n BinSearchDirection.BINSEARCH_DOWN = new BinSearchDirection(2);\n /**\n * author/date??\n *\n * binary step size search used by outer_loop to get a quantizer step size\n * to start with\n */ function bin_search_StepSize(gfc, cod_info, desired_rate, ch, xrpow) {\n var nBits;\n var CurrentStep = gfc.CurrentStep[ch];\n var flagGoneOver = false;\n var start = gfc.OldValue[ch];\n var Direction = BinSearchDirection.BINSEARCH_NONE;\n cod_info.global_gain = start;\n desired_rate -= cod_info.part2_length;\n $df08f3a0d41b7a78$var$assert(CurrentStep != 0);\n for(;;){\n var step;\n nBits = tk.count_bits(gfc, xrpow, cod_info, null);\n if (CurrentStep == 1 || nBits == desired_rate) break;\n /* nothing to adjust anymore */ if (nBits > desired_rate) {\n /* increase Quantize_StepSize */ if (Direction == BinSearchDirection.BINSEARCH_DOWN) flagGoneOver = true;\n if (flagGoneOver) CurrentStep /= 2;\n Direction = BinSearchDirection.BINSEARCH_UP;\n step = CurrentStep;\n } else {\n /* decrease Quantize_StepSize */ if (Direction == BinSearchDirection.BINSEARCH_UP) flagGoneOver = true;\n if (flagGoneOver) CurrentStep /= 2;\n Direction = BinSearchDirection.BINSEARCH_DOWN;\n step = -CurrentStep;\n }\n cod_info.global_gain += step;\n if (cod_info.global_gain < 0) {\n cod_info.global_gain = 0;\n flagGoneOver = true;\n }\n if (cod_info.global_gain > 255) {\n cod_info.global_gain = 255;\n flagGoneOver = true;\n }\n }\n $df08f3a0d41b7a78$var$assert(cod_info.global_gain >= 0);\n $df08f3a0d41b7a78$var$assert(cod_info.global_gain < 256);\n while(nBits > desired_rate && cod_info.global_gain < 255){\n cod_info.global_gain++;\n nBits = tk.count_bits(gfc, xrpow, cod_info, null);\n }\n gfc.CurrentStep[ch] = start - cod_info.global_gain >= 4 ? 4 : 2;\n gfc.OldValue[ch] = cod_info.global_gain;\n cod_info.part2_3_length = nBits;\n return nBits;\n }\n this.trancate_smallspectrums = function(gfc, gi, l3_xmin, work) {\n var distort = $df08f3a0d41b7a78$var$new_float($arIi9.SFBMAX);\n if (0 == (gfc.substep_shaping & 4) && gi.block_type == $cPNKB.SHORT_TYPE || (gfc.substep_shaping & 0x80) != 0) return;\n qupvt.calc_noise(gi, l3_xmin, distort, new $3afa85f14aff627b$exports(), null);\n for(var j = 0; j < 576; j++){\n var xr = 0.0;\n if (gi.l3_enc[j] != 0) xr = Math.abs(gi.xr[j]);\n work[j] = xr;\n }\n var j = 0;\n var sfb = 8;\n if (gi.block_type == $cPNKB.SHORT_TYPE) sfb = 6;\n do {\n var allowedNoise, trancateThreshold;\n var nsame, start;\n var width = gi.width[sfb];\n j += width;\n if (distort[sfb] >= 1.0) continue;\n $df08f3a0d41b7a78$var$Arrays.sort(work, j - width, width);\n if (BitStream.EQ(work[j - 1], 0.0)) continue;\n /* all zero sfb */ allowedNoise = (1.0 - distort[sfb]) * l3_xmin[sfb];\n trancateThreshold = 0.0;\n start = 0;\n do {\n var noise;\n for(nsame = 1; start + nsame < width; nsame++)if (BitStream.NEQ(work[start + j - width], work[start + j + nsame - width])) break;\n noise = work[start + j - width] * work[start + j - width] * nsame;\n if (allowedNoise < noise) {\n if (start != 0) trancateThreshold = work[start + j - width - 1];\n break;\n }\n allowedNoise -= noise;\n start += nsame;\n }while (start < width);\n if (BitStream.EQ(trancateThreshold, 0.0)) continue;\n do if (Math.abs(gi.xr[j - width]) <= trancateThreshold) gi.l3_enc[j - width] = 0;\n while (--width > 0);\n }while (++sfb < gi.psymax);\n gi.part2_3_length = tk.noquant_count_bits(gfc, gi, null);\n };\n /**\n * author/date??\n *\n * Function: Returns zero if there is a scalefac which has not been\n * amplified. Otherwise it returns one.\n */ function loop_break(cod_info) {\n for(var sfb = 0; sfb < cod_info.sfbmax; sfb++)if (cod_info.scalefac[sfb] + cod_info.subblock_gain[cod_info.window[sfb]] == 0) return false;\n return true;\n }\n /* mt 5/99: Function: Improved calc_noise for a single channel */ function penalties(noise) {\n return $df08f3a0d41b7a78$var$Util.FAST_LOG10(0.368 + 0.632 * noise * noise * noise);\n }\n /**\n * author/date??\n *\n * several different codes to decide which quantization is better\n */ function get_klemm_noise(distort, gi) {\n var klemm_noise = 1E-37;\n for(var sfb = 0; sfb < gi.psymax; sfb++)klemm_noise += penalties(distort[sfb]);\n return Math.max(1e-20, klemm_noise);\n }\n function quant_compare(quant_comp, best, calc, gi, distort) {\n /**\n * noise is given in decibels (dB) relative to masking thesholds.<BR>\n *\n * over_noise: ??? (the previous comment is fully wrong)<BR>\n * tot_noise: ??? (the previous comment is fully wrong)<BR>\n * max_noise: max quantization noise\n */ var better;\n switch(quant_comp){\n default:\n case 9:\n if (best.over_count > 0) {\n /* there are distorted sfb */ better = calc.over_SSD <= best.over_SSD;\n if (calc.over_SSD == best.over_SSD) better = calc.bits < best.bits;\n } else /* no distorted sfb */ better = calc.max_noise < 0 && calc.max_noise * 10 + calc.bits <= best.max_noise * 10 + best.bits;\n break;\n case 0:\n better = calc.over_count < best.over_count || calc.over_count == best.over_count && calc.over_noise < best.over_noise || calc.over_count == best.over_count && BitStream.EQ(calc.over_noise, best.over_noise) && calc.tot_noise < best.tot_noise;\n break;\n case 8:\n calc.max_noise = get_klemm_noise(distort, gi);\n //$FALL-THROUGH$\n case 1:\n better = calc.max_noise < best.max_noise;\n break;\n case 2:\n better = calc.tot_noise < best.tot_noise;\n break;\n case 3:\n better = calc.tot_noise < best.tot_noise && calc.max_noise < best.max_noise;\n break;\n case 4:\n better = calc.max_noise <= 0.0 && best.max_noise > 0.2 || calc.max_noise <= 0.0 && best.max_noise < 0.0 && best.max_noise > calc.max_noise - 0.2 && calc.tot_noise < best.tot_noise || calc.max_noise <= 0.0 && best.max_noise > 0.0 && best.max_noise > calc.max_noise - 0.2 && calc.tot_noise < best.tot_noise + best.over_noise || calc.max_noise > 0.0 && best.max_noise > -0.05 && best.max_noise > calc.max_noise - 0.1 && calc.tot_noise + calc.over_noise < best.tot_noise + best.over_noise || calc.max_noise > 0.0 && best.max_noise > -0.1 && best.max_noise > calc.max_noise - 0.15 && calc.tot_noise + calc.over_noise + calc.over_noise < best.tot_noise + best.over_noise + best.over_noise;\n break;\n case 5:\n better = calc.over_noise < best.over_noise || BitStream.EQ(calc.over_noise, best.over_noise) && calc.tot_noise < best.tot_noise;\n break;\n case 6:\n better = calc.over_noise < best.over_noise || BitStream.EQ(calc.over_noise, best.over_noise) && (calc.max_noise < best.max_noise || BitStream.EQ(calc.max_noise, best.max_noise) && calc.tot_noise <= best.tot_noise);\n break;\n case 7:\n better = calc.over_count < best.over_count || calc.over_noise < best.over_noise;\n break;\n }\n if (best.over_count == 0) /*\n * If no distorted bands, only use this quantization if it is\n * better, and if it uses less bits. Unfortunately, part2_3_length\n * is sometimes a poor estimator of the final size at low bitrates.\n */ better = better && calc.bits < best.bits;\n return better;\n }\n /**\n * author/date??\n *\n * <PRE>\n * Amplify the scalefactor bands that violate the masking threshold.\n * See ISO 11172-3 Section C.1.5.4.3.5\n *\n * distort[] = noise/masking\n * distort[] > 1 ==> noise is not masked\n * distort[] < 1 ==> noise is masked\n * max_dist = maximum value of distort[]\n *\n * Three algorithms:\n * noise_shaping_amp\n * 0 Amplify all bands with distort[]>1.\n *\n * 1 Amplify all bands with distort[] >= max_dist^(.5);\n * ( 50% in the db scale)\n *\n * 2 Amplify first band with distort[] >= max_dist;\n *\n *\n * For algorithms 0 and 1, if max_dist < 1, then amplify all bands\n * with distort[] >= .95*max_dist. This is to make sure we always\n * amplify at least one band.\n * </PRE>\n */ function amp_scalefac_bands(gfp, cod_info, distort, xrpow, bRefine) {\n var gfc = gfp.internal_flags;\n var ifqstep34;\n if (cod_info.scalefac_scale == 0) ifqstep34 = 1.29683955465100964055;\n else ifqstep34 = 1.68179283050742922612;\n /* compute maximum value of distort[] */ var trigger = 0;\n for(var sfb = 0; sfb < cod_info.sfbmax; sfb++)if (trigger < distort[sfb]) trigger = distort[sfb];\n var noise_shaping_amp = gfc.noise_shaping_amp;\n if (noise_shaping_amp == 3) {\n if (bRefine) noise_shaping_amp = 2;\n else noise_shaping_amp = 1;\n }\n switch(noise_shaping_amp){\n case 2:\n break;\n case 1:\n /* amplify bands within 50% of max (on db scale) */ if (trigger > 1.0) trigger = Math.pow(trigger, .5);\n else trigger *= .95;\n break;\n case 0:\n default:\n /* ISO algorithm. amplify all bands with distort>1 */ if (trigger > 1.0) trigger = 1.0;\n else trigger *= .95;\n break;\n }\n var j = 0;\n for(var sfb = 0; sfb < cod_info.sfbmax; sfb++){\n var width = cod_info.width[sfb];\n var l;\n j += width;\n if (distort[sfb] < trigger) continue;\n if ((gfc.substep_shaping & 2) != 0) {\n gfc.pseudohalf[sfb] = 0 == gfc.pseudohalf[sfb] ? 1 : 0;\n if (0 == gfc.pseudohalf[sfb] && gfc.noise_shaping_amp == 2) return;\n }\n cod_info.scalefac[sfb]++;\n for(l = -width; l < 0; l++){\n xrpow[j + l] *= ifqstep34;\n if (xrpow[j + l] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[j + l];\n }\n if (gfc.noise_shaping_amp == 2) return;\n }\n }\n /**\n * Takehiro Tominaga 2000-xx-xx\n *\n * turns on scalefac scale and adjusts scalefactors\n */ function inc_scalefac_scale(cod_info, xrpow) {\n var ifqstep34 = 1.29683955465100964055;\n var j = 0;\n for(var sfb = 0; sfb < cod_info.sfbmax; sfb++){\n var width = cod_info.width[sfb];\n var s = cod_info.scalefac[sfb];\n if (cod_info.preflag != 0) s += qupvt.pretab[sfb];\n j += width;\n if ((s & 1) != 0) {\n s++;\n for(var l = -width; l < 0; l++){\n xrpow[j + l] *= ifqstep34;\n if (xrpow[j + l] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[j + l];\n }\n }\n cod_info.scalefac[sfb] = s >> 1;\n }\n cod_info.preflag = 0;\n cod_info.scalefac_scale = 1;\n }\n /**\n * Takehiro Tominaga 2000-xx-xx\n *\n * increases the subblock gain and adjusts scalefactors\n */ function inc_subblock_gain(gfc, cod_info, xrpow) {\n var sfb;\n var scalefac = cod_info.scalefac;\n /* subbloc_gain can't do anything in the long block region */ for(sfb = 0; sfb < cod_info.sfb_lmax; sfb++){\n if (scalefac[sfb] >= 16) return true;\n }\n for(var window = 0; window < 3; window++){\n var s1 = 0;\n var s2 = 0;\n for(sfb = cod_info.sfb_lmax + window; sfb < cod_info.sfbdivide; sfb += 3)if (s1 < scalefac[sfb]) s1 = scalefac[sfb];\n for(; sfb < cod_info.sfbmax; sfb += 3)if (s2 < scalefac[sfb]) s2 = scalefac[sfb];\n if (s1 < 16 && s2 < 8) continue;\n if (cod_info.subblock_gain[window] >= 7) return true;\n /*\n * even though there is no scalefactor for sfb12 subblock gain\n * affects upper frequencies too, that's why we have to go up to\n * SBMAX_s\n */ cod_info.subblock_gain[window]++;\n var j = gfc.scalefac_band.l[cod_info.sfb_lmax];\n for(sfb = cod_info.sfb_lmax + window; sfb < cod_info.sfbmax; sfb += 3){\n var amp;\n var width = cod_info.width[sfb];\n var s = scalefac[sfb];\n $df08f3a0d41b7a78$var$assert(s >= 0);\n s = s - (4 >> cod_info.scalefac_scale);\n if (s >= 0) {\n scalefac[sfb] = s;\n j += width * 3;\n continue;\n }\n scalefac[sfb] = 0;\n var gain = 210 + (s << cod_info.scalefac_scale + 1);\n amp = qupvt.IPOW20(gain);\n j += width * (window + 1);\n for(var l = -width; l < 0; l++){\n xrpow[j + l] *= amp;\n if (xrpow[j + l] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[j + l];\n }\n j += width * (3 - window - 1);\n }\n var amp = qupvt.IPOW20(202);\n j += cod_info.width[sfb] * (window + 1);\n for(var l = -cod_info.width[sfb]; l < 0; l++){\n xrpow[j + l] *= amp;\n if (xrpow[j + l] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[j + l];\n }\n }\n return false;\n }\n /**\n * <PRE>\n * Takehiro Tominaga /date??\n * Robert Hegemann 2000-09-06: made a function of it\n *\n * amplifies scalefactor bands,\n * - if all are already amplified returns 0\n * - if some bands are amplified too much:\n * * try to increase scalefac_scale\n * * if already scalefac_scale was set\n * try on short blocks to increase subblock gain\n * </PRE>\n */ function balance_noise(gfp, cod_info, distort, xrpow, bRefine) {\n var gfc = gfp.internal_flags;\n amp_scalefac_bands(gfp, cod_info, distort, xrpow, bRefine);\n /*\n * check to make sure we have not amplified too much loop_break returns\n * 0 if there is an unamplified scalefac scale_bitcount returns 0 if no\n * scalefactors are too large\n */ var status = loop_break(cod_info);\n if (status) return false;\n /* all bands amplified */ /*\n * not all scalefactors have been amplified. so these scalefacs are\n * possibly valid. encode them:\n */ if (gfc.mode_gr == 2) status = tk.scale_bitcount(cod_info);\n else status = tk.scale_bitcount_lsf(gfc, cod_info);\n if (!status) return true;\n /* amplified some bands not exceeding limits */ /*\n * some scalefactors are too large. lets try setting scalefac_scale=1\n */ if (gfc.noise_shaping > 1) {\n $df08f3a0d41b7a78$var$Arrays.fill(gfc.pseudohalf, 0);\n if (0 == cod_info.scalefac_scale) {\n inc_scalefac_scale(cod_info, xrpow);\n status = false;\n } else if (cod_info.block_type == $cPNKB.SHORT_TYPE && gfc.subblock_gain > 0) status = inc_subblock_gain(gfc, cod_info, xrpow) || loop_break(cod_info);\n }\n if (!status) {\n if (gfc.mode_gr == 2) status = tk.scale_bitcount(cod_info);\n else status = tk.scale_bitcount_lsf(gfc, cod_info);\n }\n return !status;\n }\n /**\n * <PRE>\n * Function: The outer iteration loop controls the masking conditions\n * of all scalefactorbands. It computes the best scalefac and\n * global gain. This module calls the inner iteration loop\n *\n * mt 5/99 completely rewritten to allow for bit reservoir control,\n * mid/side channels with L/R or mid/side masking thresholds,\n * and chooses best quantization instead of last quantization when\n * no distortion free quantization can be found.\n *\n * added VBR support mt 5/99\n *\n * some code shuffle rh 9/00\n * </PRE>\n *\n * @param l3_xmin\n * allowed distortion\n * @param xrpow\n * coloured magnitudes of spectral\n * @param targ_bits\n * maximum allowed bits\n */ this.outer_loop = function(gfp, cod_info, l3_xmin, xrpow, ch, targ_bits) {\n var gfc = gfp.internal_flags;\n var cod_info_w = new $7weBo();\n var save_xrpow = $df08f3a0d41b7a78$var$new_float(576);\n var distort = $df08f3a0d41b7a78$var$new_float($arIi9.SFBMAX);\n var best_noise_info = new $3afa85f14aff627b$exports();\n var better;\n var prev_noise = new $4fc41bdea3aedc83$exports();\n var best_part2_3_length = 9999999;\n var bEndOfSearch = false;\n var bRefine = false;\n var best_ggain_pass1 = 0;\n bin_search_StepSize(gfc, cod_info, targ_bits, ch, xrpow);\n if (0 == gfc.noise_shaping) /* fast mode, no noise shaping, we are ready */ return 100;\n /* default noise_info.over_count */ /* compute the distortion in this quantization */ /* coefficients and thresholds both l/r (or both mid/side) */ qupvt.calc_noise(cod_info, l3_xmin, distort, best_noise_info, prev_noise);\n best_noise_info.bits = cod_info.part2_3_length;\n cod_info_w.assign(cod_info);\n var age = 0;\n $df08f3a0d41b7a78$var$System.arraycopy(xrpow, 0, save_xrpow, 0, 576);\n while(!bEndOfSearch){\n /* BEGIN MAIN LOOP */ do {\n var noise_info = new $3afa85f14aff627b$exports();\n var search_limit;\n var maxggain = 255;\n /*\n * When quantization with no distorted bands is found, allow up\n * to X new unsuccesful tries in serial. This gives us more\n * possibilities for different quant_compare modes. Much more\n * than 3 makes not a big difference, it is only slower.\n */ if ((gfc.substep_shaping & 2) != 0) search_limit = 20;\n else search_limit = 3;\n /*\n * Check if the last scalefactor band is distorted. in VBR mode\n * we can't get rid of the distortion, so quit now and VBR mode\n * will try again with more bits. (makes a 10% speed increase,\n * the files I tested were binary identical, 2000/05/20 Robert\n * Hegemann) distort[] > 1 means noise > allowed noise\n */ if (gfc.sfb21_extra) {\n if (distort[cod_info_w.sfbmax] > 1.0) break;\n if (cod_info_w.block_type == $cPNKB.SHORT_TYPE && (distort[cod_info_w.sfbmax + 1] > 1.0 || distort[cod_info_w.sfbmax + 2] > 1.0)) break;\n }\n /* try a new scalefactor conbination on cod_info_w */ if (!balance_noise(gfp, cod_info_w, distort, xrpow, bRefine)) break;\n if (cod_info_w.scalefac_scale != 0) maxggain = 254;\n /*\n * inner_loop starts with the initial quantization step computed\n * above and slowly increases until the bits < huff_bits. Thus\n * it is important not to start with too large of an inital\n * quantization step. Too small is ok, but inner_loop will take\n * longer\n */ var huff_bits = targ_bits - cod_info_w.part2_length;\n if (huff_bits <= 0) break;\n /*\n * increase quantizer stepsize until needed bits are below\n * maximum\n */ while((cod_info_w.part2_3_length = tk.count_bits(gfc, xrpow, cod_info_w, prev_noise)) > huff_bits && cod_info_w.global_gain <= maxggain)cod_info_w.global_gain++;\n if (cod_info_w.global_gain > maxggain) break;\n if (best_noise_info.over_count == 0) {\n while((cod_info_w.part2_3_length = tk.count_bits(gfc, xrpow, cod_info_w, prev_noise)) > best_part2_3_length && cod_info_w.global_gain <= maxggain)cod_info_w.global_gain++;\n if (cod_info_w.global_gain > maxggain) break;\n }\n /* compute the distortion in this quantization */ qupvt.calc_noise(cod_info_w, l3_xmin, distort, noise_info, prev_noise);\n noise_info.bits = cod_info_w.part2_3_length;\n /*\n * check if this quantization is better than our saved\n * quantization\n */ if (cod_info.block_type != $cPNKB.SHORT_TYPE) // NORM, START or STOP type\n better = gfp.quant_comp;\n else better = gfp.quant_comp_short;\n better = quant_compare(better, best_noise_info, noise_info, cod_info_w, distort) ? 1 : 0;\n /* save data so we can restore this quantization later */ if (better != 0) {\n best_part2_3_length = cod_info.part2_3_length;\n best_noise_info = noise_info;\n cod_info.assign(cod_info_w);\n age = 0;\n /* save data so we can restore this quantization later */ /* store for later reuse */ $df08f3a0d41b7a78$var$System.arraycopy(xrpow, 0, save_xrpow, 0, 576);\n } else /* early stop? */ if (gfc.full_outer_loop == 0) {\n if (++age > search_limit && best_noise_info.over_count == 0) break;\n if (gfc.noise_shaping_amp == 3 && bRefine && age > 30) break;\n if (gfc.noise_shaping_amp == 3 && bRefine && cod_info_w.global_gain - best_ggain_pass1 > 15) break;\n }\n }while (cod_info_w.global_gain + cod_info_w.scalefac_scale < 255);\n if (gfc.noise_shaping_amp == 3) {\n if (!bRefine) {\n /* refine search */ cod_info_w.assign(cod_info);\n $df08f3a0d41b7a78$var$System.arraycopy(save_xrpow, 0, xrpow, 0, 576);\n age = 0;\n best_ggain_pass1 = cod_info_w.global_gain;\n bRefine = true;\n } else /* search already refined, stop */ bEndOfSearch = true;\n } else bEndOfSearch = true;\n }\n $df08f3a0d41b7a78$var$assert(cod_info.global_gain + cod_info.scalefac_scale <= 255);\n /*\n * finish up\n */ if (gfp.VBR == $df08f3a0d41b7a78$var$VbrMode.vbr_rh || gfp.VBR == $df08f3a0d41b7a78$var$VbrMode.vbr_mtrh) /* restore for reuse on next try */ $df08f3a0d41b7a78$var$System.arraycopy(save_xrpow, 0, xrpow, 0, 576);\n else if ((gfc.substep_shaping & 1) != 0) trancate_smallspectrums(gfc, cod_info, l3_xmin, xrpow);\n return best_noise_info.over_count;\n };\n /**\n * Robert Hegemann 2000-09-06\n *\n * update reservoir status after FINAL quantization/bitrate\n */ this.iteration_finish_one = function(gfc, gr, ch) {\n var l3_side = gfc.l3_side;\n var cod_info = l3_side.tt[gr][ch];\n /*\n * try some better scalefac storage\n */ tk.best_scalefac_store(gfc, gr, ch, l3_side);\n /*\n * best huffman_divide may save some bits too\n */ if (gfc.use_best_huffman == 1) tk.best_huffman_divide(gfc, cod_info);\n /*\n * update reservoir status after FINAL quantization/bitrate\n */ rv.ResvAdjust(gfc, cod_info);\n };\n /**\n *\n * 2000-09-04 Robert Hegemann\n *\n * @param l3_xmin\n * allowed distortion of the scalefactor\n * @param xrpow\n * coloured magnitudes of spectral values\n */ this.VBR_encode_granule = function(gfp, cod_info, l3_xmin, xrpow, ch, min_bits, max_bits) {\n var gfc = gfp.internal_flags;\n var bst_cod_info = new $7weBo();\n var bst_xrpow = $df08f3a0d41b7a78$var$new_float(576);\n var Max_bits = max_bits;\n var real_bits = max_bits + 1;\n var this_bits = (max_bits + min_bits) / 2;\n var dbits, over, found = 0;\n var sfb21_extra = gfc.sfb21_extra;\n $df08f3a0d41b7a78$var$assert(Max_bits <= LameInternalFlags.MAX_BITS_PER_CHANNEL);\n $df08f3a0d41b7a78$var$Arrays.fill(bst_cod_info.l3_enc, 0);\n /*\n * search within round about 40 bits of optimal\n */ do {\n $df08f3a0d41b7a78$var$assert(this_bits >= min_bits);\n $df08f3a0d41b7a78$var$assert(this_bits <= max_bits);\n $df08f3a0d41b7a78$var$assert(min_bits <= max_bits);\n if (this_bits > Max_bits - 42) gfc.sfb21_extra = false;\n else gfc.sfb21_extra = sfb21_extra;\n over = outer_loop(gfp, cod_info, l3_xmin, xrpow, ch, this_bits);\n /*\n * is quantization as good as we are looking for ? in this case: is\n * no scalefactor band distorted?\n */ if (over <= 0) {\n found = 1;\n /*\n * now we know it can be done with \"real_bits\" and maybe we can\n * skip some iterations\n */ real_bits = cod_info.part2_3_length;\n /*\n * store best quantization so far\n */ bst_cod_info.assign(cod_info);\n $df08f3a0d41b7a78$var$System.arraycopy(xrpow, 0, bst_xrpow, 0, 576);\n /*\n * try with fewer bits\n */ max_bits = real_bits - 32;\n dbits = max_bits - min_bits;\n this_bits = (max_bits + min_bits) / 2;\n } else {\n /*\n * try with more bits\n */ min_bits = this_bits + 32;\n dbits = max_bits - min_bits;\n this_bits = (max_bits + min_bits) / 2;\n if (found != 0) {\n found = 2;\n /*\n * start again with best quantization so far\n */ cod_info.assign(bst_cod_info);\n $df08f3a0d41b7a78$var$System.arraycopy(bst_xrpow, 0, xrpow, 0, 576);\n }\n }\n }while (dbits > 12);\n gfc.sfb21_extra = sfb21_extra;\n /*\n * found=0 => nothing found, use last one found=1 => we just found the\n * best and left the loop found=2 => we restored a good one and have now\n * l3_enc to restore too\n */ if (found == 2) $df08f3a0d41b7a78$var$System.arraycopy(bst_cod_info.l3_enc, 0, cod_info.l3_enc, 0, 576);\n $df08f3a0d41b7a78$var$assert(cod_info.part2_3_length <= Max_bits);\n };\n /**\n * Robert Hegemann 2000-09-05\n *\n * calculates * how many bits are available for analog silent granules * how\n * many bits to use for the lowest allowed bitrate * how many bits each\n * bitrate would provide\n */ this.get_framebits = function(gfp, frameBits) {\n var gfc = gfp.internal_flags;\n /*\n * always use at least this many bits per granule per channel unless we\n * detect analog silence, see below\n */ gfc.bitrate_index = gfc.VBR_min_bitrate;\n var bitsPerFrame = bs.getframebits(gfp);\n /*\n * bits for analog silence\n */ gfc.bitrate_index = 1;\n bitsPerFrame = bs.getframebits(gfp);\n for(var i = 1; i <= gfc.VBR_max_bitrate; i++){\n gfc.bitrate_index = i;\n var mb = new MeanBits(bitsPerFrame);\n frameBits[i] = rv.ResvFrameBegin(gfp, mb);\n bitsPerFrame = mb.bits;\n }\n };\n /* RH: this one needs to be overhauled sometime */ /**\n * <PRE>\n * 2000-09-04 Robert Hegemann\n *\n * * converts LR to MS coding when necessary\n * * calculates allowed/adjusted quantization noise amounts\n * * detects analog silent frames\n *\n * some remarks:\n * - lower masking depending on Quality setting\n * - quality control together with adjusted ATH MDCT scaling\n * on lower quality setting allocate more noise from\n * ATH masking, and on higher quality setting allocate\n * less noise from ATH masking.\n * - experiments show that going more than 2dB over GPSYCHO's\n * limits ends up in very annoying artefacts\n * </PRE>\n */ this.VBR_old_prepare = function(gfp, pe, ms_ener_ratio, ratio, l3_xmin, frameBits, min_bits, max_bits, bands) {\n var gfc = gfp.internal_flags;\n var masking_lower_db, adjust = 0.0;\n var analog_silence = 1;\n var bits = 0;\n gfc.bitrate_index = gfc.VBR_max_bitrate;\n var avg = rv.ResvFrameBegin(gfp, new MeanBits(0)) / gfc.mode_gr;\n get_framebits(gfp, frameBits);\n for(var gr = 0; gr < gfc.mode_gr; gr++){\n var mxb = qupvt.on_pe(gfp, pe, max_bits[gr], avg, gr, 0);\n if (gfc.mode_ext == $cPNKB.MPG_MD_MS_LR) {\n ms_convert(gfc.l3_side, gr);\n qupvt.reduce_side(max_bits[gr], ms_ener_ratio[gr], avg, mxb);\n }\n for(var ch = 0; ch < gfc.channels_out; ++ch){\n var cod_info = gfc.l3_side.tt[gr][ch];\n if (cod_info.block_type != $cPNKB.SHORT_TYPE) {\n // NORM, START or STOP type\n adjust = 1.28 / (1 + Math.exp(3.5 - pe[gr][ch] / 300.)) - 0.05;\n masking_lower_db = gfc.PSY.mask_adjust - adjust;\n } else {\n adjust = 2.56 / (1 + Math.exp(3.5 - pe[gr][ch] / 300.)) - 0.14;\n masking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n }\n gfc.masking_lower = Math.pow(10.0, masking_lower_db * 0.1);\n init_outer_loop(gfc, cod_info);\n bands[gr][ch] = qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info, l3_xmin[gr][ch]);\n if (bands[gr][ch] != 0) analog_silence = 0;\n min_bits[gr][ch] = 126;\n bits += max_bits[gr][ch];\n }\n }\n for(var gr = 0; gr < gfc.mode_gr; gr++)for(var ch = 0; ch < gfc.channels_out; ch++){\n if (bits > frameBits[gfc.VBR_max_bitrate]) {\n max_bits[gr][ch] *= frameBits[gfc.VBR_max_bitrate];\n max_bits[gr][ch] /= bits;\n }\n if (min_bits[gr][ch] > max_bits[gr][ch]) min_bits[gr][ch] = max_bits[gr][ch];\n }\n /* for gr */ return analog_silence;\n };\n this.bitpressure_strategy = function(gfc, l3_xmin, min_bits, max_bits) {\n for(var gr = 0; gr < gfc.mode_gr; gr++)for(var ch = 0; ch < gfc.channels_out; ch++){\n var gi = gfc.l3_side.tt[gr][ch];\n var pxmin = l3_xmin[gr][ch];\n var pxminPos = 0;\n for(var sfb = 0; sfb < gi.psy_lmax; sfb++)pxmin[pxminPos++] *= 1. + .029 * sfb * sfb / $cPNKB.SBMAX_l / $cPNKB.SBMAX_l;\n if (gi.block_type == $cPNKB.SHORT_TYPE) for(var sfb = gi.sfb_smin; sfb < $cPNKB.SBMAX_s; sfb++){\n pxmin[pxminPos++] *= 1. + .029 * sfb * sfb / $cPNKB.SBMAX_s / $cPNKB.SBMAX_s;\n pxmin[pxminPos++] *= 1. + .029 * sfb * sfb / $cPNKB.SBMAX_s / $cPNKB.SBMAX_s;\n pxmin[pxminPos++] *= 1. + .029 * sfb * sfb / $cPNKB.SBMAX_s / $cPNKB.SBMAX_s;\n }\n max_bits[gr][ch] = 0 | Math.max(min_bits[gr][ch], 0.9 * max_bits[gr][ch]);\n }\n };\n this.VBR_new_prepare = function(gfp, pe, ratio, l3_xmin, frameBits, max_bits) {\n var gfc = gfp.internal_flags;\n var analog_silence = 1;\n var avg = 0, bits = 0;\n var maximum_framebits;\n if (!gfp.free_format) {\n gfc.bitrate_index = gfc.VBR_max_bitrate;\n var mb = new MeanBits(avg);\n rv.ResvFrameBegin(gfp, mb);\n avg = mb.bits;\n get_framebits(gfp, frameBits);\n maximum_framebits = frameBits[gfc.VBR_max_bitrate];\n } else {\n gfc.bitrate_index = 0;\n var mb = new MeanBits(avg);\n maximum_framebits = rv.ResvFrameBegin(gfp, mb);\n avg = mb.bits;\n frameBits[0] = maximum_framebits;\n }\n for(var gr = 0; gr < gfc.mode_gr; gr++){\n qupvt.on_pe(gfp, pe, max_bits[gr], avg, gr, 0);\n if (gfc.mode_ext == $cPNKB.MPG_MD_MS_LR) ms_convert(gfc.l3_side, gr);\n for(var ch = 0; ch < gfc.channels_out; ++ch){\n var cod_info = gfc.l3_side.tt[gr][ch];\n gfc.masking_lower = Math.pow(10.0, gfc.PSY.mask_adjust * 0.1);\n init_outer_loop(gfc, cod_info);\n if (0 != qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info, l3_xmin[gr][ch])) analog_silence = 0;\n bits += max_bits[gr][ch];\n }\n }\n for(var gr = 0; gr < gfc.mode_gr; gr++){\n for(var ch = 0; ch < gfc.channels_out; ch++)if (bits > maximum_framebits) {\n max_bits[gr][ch] *= maximum_framebits;\n max_bits[gr][ch] /= bits;\n }\n /* for ch */ }\n /* for gr */ return analog_silence;\n };\n /**\n * calculates target bits for ABR encoding\n *\n * mt 2000/05/31\n */ this.calc_target_bits = function(gfp, pe, ms_ener_ratio, targ_bits, analog_silence_bits, max_frame_bits) {\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n var res_factor;\n var gr, ch, totbits, mean_bits = 0;\n gfc.bitrate_index = gfc.VBR_max_bitrate;\n var mb = new MeanBits(mean_bits);\n max_frame_bits[0] = rv.ResvFrameBegin(gfp, mb);\n mean_bits = mb.bits;\n gfc.bitrate_index = 1;\n mean_bits = bs.getframebits(gfp) - gfc.sideinfo_len * 8;\n analog_silence_bits[0] = mean_bits / (gfc.mode_gr * gfc.channels_out);\n mean_bits = gfp.VBR_mean_bitrate_kbps * gfp.framesize * 1000;\n if ((gfc.substep_shaping & 1) != 0) mean_bits *= 1.09;\n mean_bits /= gfp.out_samplerate;\n mean_bits -= gfc.sideinfo_len * 8;\n mean_bits /= gfc.mode_gr * gfc.channels_out;\n /**\n * <PRE>\n * res_factor is the percentage of the target bitrate that should\n * be used on average. the remaining bits are added to the\n * bitreservoir and used for difficult to encode frames.\n *\n * Since we are tracking the average bitrate, we should adjust\n * res_factor \"on the fly\", increasing it if the average bitrate\n * is greater than the requested bitrate, and decreasing it\n * otherwise. Reasonable ranges are from .9 to 1.0\n *\n * Until we get the above suggestion working, we use the following\n * tuning:\n * compression ratio res_factor\n * 5.5 (256kbps) 1.0 no need for bitreservoir\n * 11 (128kbps) .93 7% held for reservoir\n *\n * with linear interpolation for other values.\n * </PRE>\n */ res_factor = .93 + .07 * (11.0 - gfp.compression_ratio) / 5.5;\n if (res_factor < .90) res_factor = .90;\n if (res_factor > 1.00) res_factor = 1.00;\n for(gr = 0; gr < gfc.mode_gr; gr++){\n var sum = 0;\n for(ch = 0; ch < gfc.channels_out; ch++){\n targ_bits[gr][ch] = int(res_factor * mean_bits);\n if (pe[gr][ch] > 700) {\n var add_bits = int((pe[gr][ch] - 700) / 1.4);\n var cod_info = l3_side.tt[gr][ch];\n targ_bits[gr][ch] = int(res_factor * mean_bits);\n /* short blocks use a little extra, no matter what the pe */ if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n if (add_bits < mean_bits / 2) add_bits = mean_bits / 2;\n }\n /* at most increase bits by 1.5*average */ if (add_bits > mean_bits * 3 / 2) add_bits = mean_bits * 3 / 2;\n else if (add_bits < 0) add_bits = 0;\n targ_bits[gr][ch] += add_bits;\n }\n if (targ_bits[gr][ch] > LameInternalFlags.MAX_BITS_PER_CHANNEL) targ_bits[gr][ch] = LameInternalFlags.MAX_BITS_PER_CHANNEL;\n sum += targ_bits[gr][ch];\n }\n /* for ch */ if (sum > LameInternalFlags.MAX_BITS_PER_GRANULE) for(ch = 0; ch < gfc.channels_out; ++ch){\n targ_bits[gr][ch] *= LameInternalFlags.MAX_BITS_PER_GRANULE;\n targ_bits[gr][ch] /= sum;\n }\n }\n /* for gr */ if (gfc.mode_ext == $cPNKB.MPG_MD_MS_LR) for(gr = 0; gr < gfc.mode_gr; gr++)qupvt.reduce_side(targ_bits[gr], ms_ener_ratio[gr], mean_bits * gfc.channels_out, LameInternalFlags.MAX_BITS_PER_GRANULE);\n /*\n * sum target bits\n */ totbits = 0;\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n if (targ_bits[gr][ch] > LameInternalFlags.MAX_BITS_PER_CHANNEL) targ_bits[gr][ch] = LameInternalFlags.MAX_BITS_PER_CHANNEL;\n totbits += targ_bits[gr][ch];\n }\n /*\n * repartion target bits if needed\n */ if (totbits > max_frame_bits[0]) {\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n targ_bits[gr][ch] *= max_frame_bits[0];\n targ_bits[gr][ch] /= totbits;\n }\n }\n };\n}\n$df08f3a0d41b7a78$exports = $df08f3a0d41b7a78$var$Quantize;\n\n\n\nvar $65Sx2 = parcelRequire(\"65Sx2\");\nvar $b5a7ab7c590f5d1e$exports = {};\n/*\n * bit reservoir source file\n *\n * Copyright (c) 1999-2000 Mark Taylor\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: Reservoir.java,v 1.9 2011/05/24 20:48:06 kenchis Exp $ */ //package mp3;\n/**\n * ResvFrameBegin:<BR>\n * Called (repeatedly) at the beginning of a frame. Updates the maximum size of\n * the reservoir, and checks to make sure main_data_begin was set properly by\n * the formatter<BR>\n * Background information:\n * \n * This is the original text from the ISO standard. Because of sooo many bugs\n * and irritations correcting comments are added in brackets []. A '^W' means\n * you should remove the last word.\n * \n * <PRE>\n * 1. The following rule can be used to calculate the maximum\n * number of bits used for one granule [^W frame]:<BR>\n * At the highest possible bitrate of Layer III (320 kbps\n * per stereo signal [^W^W^W], 48 kHz) the frames must be of\n * [^W^W^W are designed to have] constant length, i.e.\n * one buffer [^W^W the frame] length is:<BR>\n * \n * 320 kbps * 1152/48 kHz = 7680 bit = 960 byte\n * \n * This value is used as the maximum buffer per channel [^W^W] at\n * lower bitrates [than 320 kbps]. At 64 kbps mono or 128 kbps\n * stereo the main granule length is 64 kbps * 576/48 kHz = 768 bit\n * [per granule and channel] at 48 kHz sampling frequency.\n * This means that there is a maximum deviation (short time buffer\n * [= reservoir]) of 7680 - 2*2*768 = 4608 bits is allowed at 64 kbps.\n * The actual deviation is equal to the number of bytes [with the\n * meaning of octets] denoted by the main_data_end offset pointer.\n * The actual maximum deviation is (2^9-1)*8 bit = 4088 bits\n * [for MPEG-1 and (2^8-1)*8 bit for MPEG-2, both are hard limits].\n * ... The xchange of buffer bits between the left and right channel\n * is allowed without restrictions [exception: dual channel].\n * Because of the [constructed] constraint on the buffer size\n * main_data_end is always set to 0 in the case of bit_rate_index==14,\n * i.e. data rate 320 kbps per stereo signal [^W^W^W]. In this case\n * all data are allocated between adjacent header [^W sync] words\n * [, i.e. there is no buffering at all].\n * </PRE>\n */ \nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $b5a7ab7c590f5d1e$var$assert = $3YDN3.assert;\nfunction $b5a7ab7c590f5d1e$var$Reservoir() {\n var bs;\n this.setModules = function(_bs) {\n bs = _bs;\n };\n this.ResvFrameBegin = function(gfp, mean_bits) {\n var gfc = gfp.internal_flags;\n var maxmp3buf;\n var l3_side = gfc.l3_side;\n var frameLength = bs.getframebits(gfp);\n mean_bits.bits = (frameLength - gfc.sideinfo_len * 8) / gfc.mode_gr;\n /**\n\t\t * <PRE>\n\t\t * Meaning of the variables:\n\t\t * resvLimit: (0, 8, ..., 8*255 (MPEG-2), 8*511 (MPEG-1))\n\t\t * Number of bits can be stored in previous frame(s) due to\n\t\t * counter size constaints\n\t\t * maxmp3buf: ( ??? ... 8*1951 (MPEG-1 and 2), 8*2047 (MPEG-2.5))\n\t\t * Number of bits allowed to encode one frame (you can take 8*511 bit\n\t\t * from the bit reservoir and at most 8*1440 bit from the current\n\t\t * frame (320 kbps, 32 kHz), so 8*1951 bit is the largest possible\n\t\t * value for MPEG-1 and -2)\n\t\t * \n\t\t * maximum allowed granule/channel size times 4 = 8*2047 bits.,\n\t\t * so this is the absolute maximum supported by the format.\n\t\t * \n\t\t * \n\t\t * fullFrameBits: maximum number of bits available for encoding\n\t\t * the current frame.\n\t\t * \n\t\t * mean_bits: target number of bits per granule.\n\t\t * \n\t\t * frameLength:\n\t\t * \n\t\t * gfc.ResvMax: maximum allowed reservoir\n\t\t * \n\t\t * gfc.ResvSize: current reservoir size\n\t\t * \n\t\t * l3_side.resvDrain_pre:\n\t\t * ancillary data to be added to previous frame:\n\t\t * (only usefull in VBR modes if it is possible to have\n\t\t * maxmp3buf < fullFrameBits)). Currently disabled,\n\t\t * see #define NEW_DRAIN\n\t\t * 2010-02-13: RH now enabled, it seems to be needed for CBR too,\n\t\t * as there exists one example, where the FhG decoder\n\t\t * can't decode a -b320 CBR file anymore.\n\t\t * \n\t\t * l3_side.resvDrain_post:\n\t\t * ancillary data to be added to this frame:\n\t\t * \n\t\t * </PRE>\n\t\t */ /* main_data_begin has 9 bits in MPEG-1, 8 bits MPEG-2 */ var resvLimit = 2048 * gfc.mode_gr - 8;\n /*\n\t\t * maximum allowed frame size. dont use more than this number of bits,\n\t\t * even if the frame has the space for them:\n\t\t */ if (gfp.brate > 320) /* in freeformat the buffer is constant */ maxmp3buf = 8 * int(gfp.brate * 1000 / (gfp.out_samplerate / 1152) / 8 + .5);\n else {\n /*\n\t\t\t * all mp3 decoders should have enough buffer to handle this value:\n\t\t\t * size of a 320kbps 32kHz frame\n\t\t\t */ maxmp3buf = 11520;\n /*\n\t\t\t * Bouvigne suggests this more lax interpretation of the ISO doc\n\t\t\t * instead of using 8*960.\n\t\t\t */ if (gfp.strict_ISO) maxmp3buf = 8 * int(320000 / (gfp.out_samplerate / 1152) / 8 + .5);\n }\n gfc.ResvMax = maxmp3buf - frameLength;\n if (gfc.ResvMax > resvLimit) gfc.ResvMax = resvLimit;\n if (gfc.ResvMax < 0 || gfp.disable_reservoir) gfc.ResvMax = 0;\n var fullFrameBits = mean_bits.bits * gfc.mode_gr + Math.min(gfc.ResvSize, gfc.ResvMax);\n if (fullFrameBits > maxmp3buf) fullFrameBits = maxmp3buf;\n $b5a7ab7c590f5d1e$var$assert(0 == gfc.ResvMax % 8);\n $b5a7ab7c590f5d1e$var$assert(gfc.ResvMax >= 0);\n l3_side.resvDrain_pre = 0;\n // frame analyzer code\n if (gfc.pinfo != null) {\n /*\n\t\t\t * expected bits per channel per granule [is this also right for\n\t\t\t * mono/stereo, MPEG-1/2 ?]\n\t\t\t */ gfc.pinfo.mean_bits = mean_bits.bits / 2;\n gfc.pinfo.resvsize = gfc.ResvSize;\n }\n return fullFrameBits;\n };\n /**\n\t * returns targ_bits: target number of bits to use for 1 granule<BR>\n\t * extra_bits: amount extra available from reservoir<BR>\n\t * Mark Taylor 4/99\n\t */ this.ResvMaxBits = function(gfp, mean_bits, targ_bits, cbr) {\n var gfc = gfp.internal_flags;\n var add_bits;\n var ResvSize = gfc.ResvSize, ResvMax = gfc.ResvMax;\n /* compensate the saved bits used in the 1st granule */ if (cbr != 0) ResvSize += mean_bits;\n if ((gfc.substep_shaping & 1) != 0) ResvMax *= 0.9;\n targ_bits.bits = mean_bits;\n /* extra bits if the reservoir is almost full */ if (ResvSize * 10 > ResvMax * 9) {\n add_bits = ResvSize - ResvMax * 9 / 10;\n targ_bits.bits += add_bits;\n gfc.substep_shaping |= 0x80;\n } else {\n add_bits = 0;\n gfc.substep_shaping &= 0x7f;\n /*\n\t\t\t * build up reservoir. this builds the reservoir a little slower\n\t\t\t * than FhG. It could simple be mean_bits/15, but this was rigged to\n\t\t\t * always produce 100 (the old value) at 128kbs\n\t\t\t */ if (!gfp.disable_reservoir && 0 == (gfc.substep_shaping & 1)) targ_bits.bits -= .1 * mean_bits;\n }\n /* amount from the reservoir we are allowed to use. ISO says 6/10 */ var extra_bits = ResvSize < gfc.ResvMax * 6 / 10 ? ResvSize : gfc.ResvMax * 6 / 10;\n extra_bits -= add_bits;\n if (extra_bits < 0) extra_bits = 0;\n return extra_bits;\n };\n /**\n\t * Called after a granule's bit allocation. Readjusts the size of the\n\t * reservoir to reflect the granule's usage.\n\t */ this.ResvAdjust = function(gfc, gi) {\n gfc.ResvSize -= gi.part2_3_length + gi.part2_length;\n };\n /**\n\t * Called after all granules in a frame have been allocated. Makes sure that\n\t * the reservoir size is within limits, possibly by adding stuffing bits.\n\t */ this.ResvFrameEnd = function(gfc, mean_bits) {\n var over_bits;\n var l3_side = gfc.l3_side;\n gfc.ResvSize += mean_bits * gfc.mode_gr;\n var stuffingBits = 0;\n l3_side.resvDrain_post = 0;\n l3_side.resvDrain_pre = 0;\n /* we must be byte aligned */ if ((over_bits = gfc.ResvSize % 8) != 0) stuffingBits += over_bits;\n over_bits = gfc.ResvSize - stuffingBits - gfc.ResvMax;\n if (over_bits > 0) {\n $b5a7ab7c590f5d1e$var$assert(0 == over_bits % 8);\n $b5a7ab7c590f5d1e$var$assert(over_bits >= 0);\n stuffingBits += over_bits;\n }\n var mdb_bytes = Math.min(l3_side.main_data_begin * 8, stuffingBits) / 8;\n l3_side.resvDrain_pre += 8 * mdb_bytes;\n stuffingBits -= 8 * mdb_bytes;\n gfc.ResvSize -= 8 * mdb_bytes;\n l3_side.main_data_begin -= mdb_bytes;\n /* drain the rest into this frames ancillary data */ l3_side.resvDrain_post += stuffingBits;\n gfc.ResvSize -= stuffingBits;\n };\n}\n$b5a7ab7c590f5d1e$exports = $b5a7ab7c590f5d1e$var$Reservoir;\n\n\n\nvar $jL6I1 = parcelRequire(\"jL6I1\");\n\nvar $ctaQC = parcelRequire(\"ctaQC\");\nparcelRequire(\"cPNKB\");\nvar $34609aeb1df0c2af$exports = {};\nfunction $34609aeb1df0c2af$var$Version() {\n /**\n * URL for the LAME website.\n */ var LAME_URL = \"http://www.mp3dev.org/\";\n /**\n * Major version number.\n */ var LAME_MAJOR_VERSION = 3;\n /**\n * Minor version number.\n */ var LAME_MINOR_VERSION = 98;\n /**\n * Patch level.\n */ var LAME_PATCH_VERSION = 4;\n /**\n * Major version number.\n */ var PSY_MAJOR_VERSION = 0;\n /**\n * Minor version number.\n */ var PSY_MINOR_VERSION = 93;\n /**\n * A string which describes the version of LAME.\n *\n * @return string which describes the version of LAME\n */ this.getLameVersion = function() {\n // primary to write screen reports\n return LAME_MAJOR_VERSION + \".\" + LAME_MINOR_VERSION + \".\" + LAME_PATCH_VERSION;\n };\n /**\n * The short version of the LAME version string.\n *\n * @return short version of the LAME version string\n */ this.getLameShortVersion = function() {\n // Adding date and time to version string makes it harder for output\n // validation\n return LAME_MAJOR_VERSION + \".\" + LAME_MINOR_VERSION + \".\" + LAME_PATCH_VERSION;\n };\n /**\n * The shortest version of the LAME version string.\n *\n * @return shortest version of the LAME version string\n */ this.getLameVeryShortVersion = function() {\n // Adding date and time to version string makes it harder for output\n return \"LAME\" + LAME_MAJOR_VERSION + \".\" + LAME_MINOR_VERSION + \"r\";\n };\n /**\n * String which describes the version of GPSYCHO\n *\n * @return string which describes the version of GPSYCHO\n */ this.getPsyVersion = function() {\n return PSY_MAJOR_VERSION + \".\" + PSY_MINOR_VERSION;\n };\n /**\n * String which is a URL for the LAME website.\n *\n * @return string which is a URL for the LAME website\n */ this.getLameUrl = function() {\n return LAME_URL;\n };\n /**\n * Quite useless for a java version, however we are compatible ;-)\n *\n * @return \"32bits\"\n */ this.getLameOsBitness = function() {\n return \"32bits\";\n };\n}\n$34609aeb1df0c2af$exports = $34609aeb1df0c2af$var$Version;\n\n\nvar $e674985ea62d27cf$exports = {};\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $e674985ea62d27cf$var$System = $3YDN3.System;\nvar $e674985ea62d27cf$var$VbrMode = $3YDN3.VbrMode;\nvar $e674985ea62d27cf$var$Float = $3YDN3.Float;\nvar $e674985ea62d27cf$var$ShortBlock = $3YDN3.ShortBlock;\nvar $e674985ea62d27cf$var$Util = $3YDN3.Util;\nvar $e674985ea62d27cf$var$Arrays = $3YDN3.Arrays;\nvar $e674985ea62d27cf$var$new_array_n = $3YDN3.new_array_n;\nvar $e674985ea62d27cf$var$new_byte = $3YDN3.new_byte;\nvar $e674985ea62d27cf$var$new_double = $3YDN3.new_double;\nvar $e674985ea62d27cf$var$new_float = $3YDN3.new_float;\nvar $e674985ea62d27cf$var$new_float_n = $3YDN3.new_float_n;\nvar $e674985ea62d27cf$var$new_int = $3YDN3.new_int;\nvar $e674985ea62d27cf$var$new_int_n = $3YDN3.new_int_n;\nvar $e674985ea62d27cf$var$assert = $3YDN3.assert;\n/**\n * A Vbr header may be present in the ancillary data field of the first frame of\n * an mp3 bitstream<BR>\n * The Vbr header (optionally) contains\n * <UL>\n * <LI>frames total number of audio frames in the bitstream\n * <LI>bytes total number of bytes in the bitstream\n * <LI>toc table of contents\n * </UL>\n *\n * toc (table of contents) gives seek points for random access.<BR>\n * The ith entry determines the seek point for i-percent duration.<BR>\n * seek point in bytes = (toc[i]/256.0) * total_bitstream_bytes<BR>\n * e.g. half duration seek point = (toc[50]/256.0) * total_bitstream_bytes\n */ $e674985ea62d27cf$var$VBRTag.NUMTOCENTRIES = 100;\n$e674985ea62d27cf$var$VBRTag.MAXFRAMESIZE = 2880;\nfunction $e674985ea62d27cf$var$VBRTag() {\n var lame;\n var bs;\n var v;\n this.setModules = function(_lame, _bs, _v) {\n lame = _lame;\n bs = _bs;\n v = _v;\n };\n var FRAMES_FLAG = 0x0001;\n var BYTES_FLAG = 0x0002;\n var TOC_FLAG = 0x0004;\n var VBR_SCALE_FLAG = 0x0008;\n var NUMTOCENTRIES = $e674985ea62d27cf$var$VBRTag.NUMTOCENTRIES;\n /**\n * (0xB40) the max freeformat 640 32kHz framesize.\n */ var MAXFRAMESIZE = $e674985ea62d27cf$var$VBRTag.MAXFRAMESIZE;\n /**\n * <PRE>\n * 4 bytes for Header Tag\n * 4 bytes for Header Flags\n * 100 bytes for entry (toc)\n * 4 bytes for frame size\n * 4 bytes for stream size\n * 4 bytes for VBR scale. a VBR quality indicator: 0=best 100=worst\n * 20 bytes for LAME tag. for example, \"LAME3.12 (beta 6)\"\n * ___________\n * 140 bytes\n * </PRE>\n */ var VBRHEADERSIZE = NUMTOCENTRIES + 4 + 4 + 4 + 4 + 4;\n var LAMEHEADERSIZE = VBRHEADERSIZE + 9 + 1 + 1 + 8 + 1 + 1 + 3 + 1 + 1 + 2 + 4 + 2 + 2;\n /**\n * The size of the Xing header MPEG-1, bit rate in kbps.\n */ var XING_BITRATE1 = 128;\n /**\n * The size of the Xing header MPEG-2, bit rate in kbps.\n */ var XING_BITRATE2 = 64;\n /**\n * The size of the Xing header MPEG-2.5, bit rate in kbps.\n */ var XING_BITRATE25 = 32;\n /**\n * ISO-8859-1 charset for byte to string operations.\n */ var ISO_8859_1 = null; //Charset.forName(\"ISO-8859-1\");\n /**\n * VBR header magic string.\n */ var VBRTag0 = \"Xing\";\n /**\n * VBR header magic string (VBR == VBRMode.vbr_off).\n */ var VBRTag1 = \"Info\";\n /**\n * Lookup table for fast CRC-16 computation. Uses the polynomial\n * x^16+x^15+x^2+1\n */ var crc16Lookup = [\n 0x0000,\n 0xC0C1,\n 0xC181,\n 0x0140,\n 0xC301,\n 0x03C0,\n 0x0280,\n 0xC241,\n 0xC601,\n 0x06C0,\n 0x0780,\n 0xC741,\n 0x0500,\n 0xC5C1,\n 0xC481,\n 0x0440,\n 0xCC01,\n 0x0CC0,\n 0x0D80,\n 0xCD41,\n 0x0F00,\n 0xCFC1,\n 0xCE81,\n 0x0E40,\n 0x0A00,\n 0xCAC1,\n 0xCB81,\n 0x0B40,\n 0xC901,\n 0x09C0,\n 0x0880,\n 0xC841,\n 0xD801,\n 0x18C0,\n 0x1980,\n 0xD941,\n 0x1B00,\n 0xDBC1,\n 0xDA81,\n 0x1A40,\n 0x1E00,\n 0xDEC1,\n 0xDF81,\n 0x1F40,\n 0xDD01,\n 0x1DC0,\n 0x1C80,\n 0xDC41,\n 0x1400,\n 0xD4C1,\n 0xD581,\n 0x1540,\n 0xD701,\n 0x17C0,\n 0x1680,\n 0xD641,\n 0xD201,\n 0x12C0,\n 0x1380,\n 0xD341,\n 0x1100,\n 0xD1C1,\n 0xD081,\n 0x1040,\n 0xF001,\n 0x30C0,\n 0x3180,\n 0xF141,\n 0x3300,\n 0xF3C1,\n 0xF281,\n 0x3240,\n 0x3600,\n 0xF6C1,\n 0xF781,\n 0x3740,\n 0xF501,\n 0x35C0,\n 0x3480,\n 0xF441,\n 0x3C00,\n 0xFCC1,\n 0xFD81,\n 0x3D40,\n 0xFF01,\n 0x3FC0,\n 0x3E80,\n 0xFE41,\n 0xFA01,\n 0x3AC0,\n 0x3B80,\n 0xFB41,\n 0x3900,\n 0xF9C1,\n 0xF881,\n 0x3840,\n 0x2800,\n 0xE8C1,\n 0xE981,\n 0x2940,\n 0xEB01,\n 0x2BC0,\n 0x2A80,\n 0xEA41,\n 0xEE01,\n 0x2EC0,\n 0x2F80,\n 0xEF41,\n 0x2D00,\n 0xEDC1,\n 0xEC81,\n 0x2C40,\n 0xE401,\n 0x24C0,\n 0x2580,\n 0xE541,\n 0x2700,\n 0xE7C1,\n 0xE681,\n 0x2640,\n 0x2200,\n 0xE2C1,\n 0xE381,\n 0x2340,\n 0xE101,\n 0x21C0,\n 0x2080,\n 0xE041,\n 0xA001,\n 0x60C0,\n 0x6180,\n 0xA141,\n 0x6300,\n 0xA3C1,\n 0xA281,\n 0x6240,\n 0x6600,\n 0xA6C1,\n 0xA781,\n 0x6740,\n 0xA501,\n 0x65C0,\n 0x6480,\n 0xA441,\n 0x6C00,\n 0xACC1,\n 0xAD81,\n 0x6D40,\n 0xAF01,\n 0x6FC0,\n 0x6E80,\n 0xAE41,\n 0xAA01,\n 0x6AC0,\n 0x6B80,\n 0xAB41,\n 0x6900,\n 0xA9C1,\n 0xA881,\n 0x6840,\n 0x7800,\n 0xB8C1,\n 0xB981,\n 0x7940,\n 0xBB01,\n 0x7BC0,\n 0x7A80,\n 0xBA41,\n 0xBE01,\n 0x7EC0,\n 0x7F80,\n 0xBF41,\n 0x7D00,\n 0xBDC1,\n 0xBC81,\n 0x7C40,\n 0xB401,\n 0x74C0,\n 0x7580,\n 0xB541,\n 0x7700,\n 0xB7C1,\n 0xB681,\n 0x7640,\n 0x7200,\n 0xB2C1,\n 0xB381,\n 0x7340,\n 0xB101,\n 0x71C0,\n 0x7080,\n 0xB041,\n 0x5000,\n 0x90C1,\n 0x9181,\n 0x5140,\n 0x9301,\n 0x53C0,\n 0x5280,\n 0x9241,\n 0x9601,\n 0x56C0,\n 0x5780,\n 0x9741,\n 0x5500,\n 0x95C1,\n 0x9481,\n 0x5440,\n 0x9C01,\n 0x5CC0,\n 0x5D80,\n 0x9D41,\n 0x5F00,\n 0x9FC1,\n 0x9E81,\n 0x5E40,\n 0x5A00,\n 0x9AC1,\n 0x9B81,\n 0x5B40,\n 0x9901,\n 0x59C0,\n 0x5880,\n 0x9841,\n 0x8801,\n 0x48C0,\n 0x4980,\n 0x8941,\n 0x4B00,\n 0x8BC1,\n 0x8A81,\n 0x4A40,\n 0x4E00,\n 0x8EC1,\n 0x8F81,\n 0x4F40,\n 0x8D01,\n 0x4DC0,\n 0x4C80,\n 0x8C41,\n 0x4400,\n 0x84C1,\n 0x8581,\n 0x4540,\n 0x8701,\n 0x47C0,\n 0x4680,\n 0x8641,\n 0x8201,\n 0x42C0,\n 0x4380,\n 0x8341,\n 0x4100,\n 0x81C1,\n 0x8081,\n 0x4040\n ];\n /***********************************************************************\n * Robert Hegemann 2001-01-17\n ***********************************************************************/ function addVbr(v, bitrate) {\n v.nVbrNumFrames++;\n v.sum += bitrate;\n v.seen++;\n if (v.seen < v.want) return;\n if (v.pos < v.size) {\n v.bag[v.pos] = v.sum;\n v.pos++;\n v.seen = 0;\n }\n if (v.pos == v.size) {\n for(var i = 1; i < v.size; i += 2)v.bag[i / 2] = v.bag[i];\n v.want *= 2;\n v.pos /= 2;\n }\n }\n function xingSeekTable(v, t) {\n if (v.pos <= 0) return;\n for(var i = 1; i < NUMTOCENTRIES; ++i){\n var j = i / NUMTOCENTRIES, act, sum;\n var indx = 0 | Math.floor(j * v.pos);\n if (indx > v.pos - 1) indx = v.pos - 1;\n act = v.bag[indx];\n sum = v.sum;\n var seek_point = 0 | 256. * act / sum;\n if (seek_point > 255) seek_point = 255;\n t[i] = 0xff & seek_point;\n }\n }\n /**\n * Add VBR entry, used to fill the VBR TOC entries.\n *\n * @param gfp\n * global flags\n */ this.addVbrFrame = function(gfp) {\n var gfc = gfp.internal_flags;\n var kbps = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n $e674985ea62d27cf$var$assert(gfc.VBR_seek_table.bag != null);\n addVbr(gfc.VBR_seek_table, kbps);\n };\n /**\n * Read big endian integer (4-bytes) from header.\n *\n * @param buf\n * header containing the integer\n * @param bufPos\n * offset into the header\n * @return extracted integer\n */ function extractInteger(buf, bufPos) {\n var x = buf[bufPos + 0] & 0xff;\n x <<= 8;\n x |= buf[bufPos + 1] & 0xff;\n x <<= 8;\n x |= buf[bufPos + 2] & 0xff;\n x <<= 8;\n x |= buf[bufPos + 3] & 0xff;\n return x;\n }\n /**\n * Write big endian integer (4-bytes) in the header.\n *\n * @param buf\n * header to write the integer into\n * @param bufPos\n * offset into the header\n * @param value\n * integer value to write\n */ function createInteger(buf, bufPos, value) {\n buf[bufPos + 0] = 0xff & (value >> 24 & 0xff);\n buf[bufPos + 1] = 0xff & (value >> 16 & 0xff);\n buf[bufPos + 2] = 0xff & (value >> 8 & 0xff);\n buf[bufPos + 3] = 0xff & (value & 0xff);\n }\n /**\n * Write big endian short (2-bytes) in the header.\n *\n * @param buf\n * header to write the integer into\n * @param bufPos\n * offset into the header\n * @param value\n * integer value to write\n */ function createShort(buf, bufPos, value) {\n buf[bufPos + 0] = 0xff & (value >> 8 & 0xff);\n buf[bufPos + 1] = 0xff & (value & 0xff);\n }\n /**\n * Check for magic strings (Xing/Info).\n *\n * @param buf\n * header to check\n * @param bufPos\n * header offset to check\n * @return magic string found\n */ function isVbrTag(buf, bufPos) {\n return new String(buf, bufPos, VBRTag0.length(), ISO_8859_1).equals(VBRTag0) || new String(buf, bufPos, VBRTag1.length(), ISO_8859_1).equals(VBRTag1);\n }\n function shiftInBitsValue(x, n, v) {\n return 0xff & (x << n | v & ~(-1 << n));\n }\n /**\n * Construct the MP3 header using the settings of the global flags.\n *\n * <img src=\"1000px-Mp3filestructure.svg.png\">\n *\n * @param gfp\n * global flags\n * @param buffer\n * header\n */ function setLameTagFrameHeader(gfp, buffer) {\n var gfc = gfp.internal_flags;\n // MP3 Sync Word\n buffer[0] = shiftInBitsValue(buffer[0], 8, 0xff);\n buffer[1] = shiftInBitsValue(buffer[1], 3, 7);\n buffer[1] = shiftInBitsValue(buffer[1], 1, gfp.out_samplerate < 16000 ? 0 : 1);\n // Version\n buffer[1] = shiftInBitsValue(buffer[1], 1, gfp.version);\n // 01 == Layer 3\n buffer[1] = shiftInBitsValue(buffer[1], 2, 1);\n // Error protection\n buffer[1] = shiftInBitsValue(buffer[1], 1, !gfp.error_protection ? 1 : 0);\n // Bit rate\n buffer[2] = shiftInBitsValue(buffer[2], 4, gfc.bitrate_index);\n // Frequency\n buffer[2] = shiftInBitsValue(buffer[2], 2, gfc.samplerate_index);\n // Pad. Bit\n buffer[2] = shiftInBitsValue(buffer[2], 1, 0);\n // Priv. Bit\n buffer[2] = shiftInBitsValue(buffer[2], 1, gfp.extension);\n // Mode\n buffer[3] = shiftInBitsValue(buffer[3], 2, gfp.mode.ordinal());\n // Mode extension (Used with Joint Stereo)\n buffer[3] = shiftInBitsValue(buffer[3], 2, gfc.mode_ext);\n // Copy\n buffer[3] = shiftInBitsValue(buffer[3], 1, gfp.copyright);\n // Original\n buffer[3] = shiftInBitsValue(buffer[3], 1, gfp.original);\n // Emphasis\n buffer[3] = shiftInBitsValue(buffer[3], 2, gfp.emphasis);\n /* the default VBR header. 48 kbps layer III, no padding, no crc */ /* but sampling freq, mode and copyright/copy protection taken */ /* from first valid frame */ buffer[0] = 0xff;\n var abyte = 0xff & (buffer[1] & 0xf1);\n var bitrate;\n if (1 == gfp.version) bitrate = XING_BITRATE1;\n else if (gfp.out_samplerate < 16000) bitrate = XING_BITRATE25;\n else bitrate = XING_BITRATE2;\n if (gfp.VBR == $e674985ea62d27cf$var$VbrMode.vbr_off) bitrate = gfp.brate;\n var bbyte;\n if (gfp.free_format) bbyte = 0x00;\n else bbyte = 0xff & 16 * lame.BitrateIndex(bitrate, gfp.version, gfp.out_samplerate);\n /*\n * Use as much of the info from the real frames in the Xing header:\n * samplerate, channels, crc, etc...\n */ if (gfp.version == 1) {\n /* MPEG1 */ buffer[1] = 0xff & (abyte | 0x0a);\n /* was 0x0b; */ abyte = 0xff & (buffer[2] & 0x0d);\n /* AF keep also private bit */ buffer[2] = 0xff & (bbyte | abyte);\n /* 64kbs MPEG1 frame */ } else {\n /* MPEG2 */ buffer[1] = 0xff & (abyte | 0x02);\n /* was 0x03; */ abyte = 0xff & (buffer[2] & 0x0d);\n /* AF keep also private bit */ buffer[2] = 0xff & (bbyte | abyte);\n /* 64kbs MPEG2 frame */ }\n }\n /**\n * Get VBR tag information\n *\n * @param buf\n * header to analyze\n * @param bufPos\n * offset into the header\n * @return VBR tag data\n */ this.getVbrTag = function(buf) {\n var pTagData = new VBRTagData();\n var bufPos = 0;\n /* get Vbr header data */ pTagData.flags = 0;\n /* get selected MPEG header data */ var hId = buf[bufPos + 1] >> 3 & 1;\n var hSrIndex = buf[bufPos + 2] >> 2 & 3;\n var hMode = buf[bufPos + 3] >> 6 & 3;\n var hBitrate = buf[bufPos + 2] >> 4 & 0xf;\n hBitrate = Tables.bitrate_table[hId][hBitrate];\n /* check for FFE syncword */ if (buf[bufPos + 1] >> 4 == 0xE) pTagData.samprate = Tables.samplerate_table[2][hSrIndex];\n else pTagData.samprate = Tables.samplerate_table[hId][hSrIndex];\n /* determine offset of header */ if (hId != 0) {\n /* mpeg1 */ if (hMode != 3) bufPos += 36;\n else bufPos += 21;\n } else /* mpeg2 */ if (hMode != 3) bufPos += 21;\n else bufPos += 13;\n if (!isVbrTag(buf, bufPos)) return null;\n bufPos += 4;\n pTagData.hId = hId;\n /* get flags */ var head_flags = pTagData.flags = extractInteger(buf, bufPos);\n bufPos += 4;\n if ((head_flags & FRAMES_FLAG) != 0) {\n pTagData.frames = extractInteger(buf, bufPos);\n bufPos += 4;\n }\n if ((head_flags & BYTES_FLAG) != 0) {\n pTagData.bytes = extractInteger(buf, bufPos);\n bufPos += 4;\n }\n if ((head_flags & TOC_FLAG) != 0) {\n if (pTagData.toc != null) for(var i = 0; i < NUMTOCENTRIES; i++)pTagData.toc[i] = buf[bufPos + i];\n bufPos += NUMTOCENTRIES;\n }\n pTagData.vbrScale = -1;\n if ((head_flags & VBR_SCALE_FLAG) != 0) {\n pTagData.vbrScale = extractInteger(buf, bufPos);\n bufPos += 4;\n }\n pTagData.headersize = (hId + 1) * 72000 * hBitrate / pTagData.samprate;\n bufPos += 21;\n var encDelay = buf[bufPos + 0] << 4;\n encDelay += buf[bufPos + 1] >> 4;\n var encPadding = (buf[bufPos + 1] & 0x0F) << 8;\n encPadding += buf[bufPos + 2] & 0xff;\n /* check for reasonable values (this may be an old Xing header, */ /* not a INFO tag) */ if (encDelay < 0 || encDelay > 3000) encDelay = -1;\n if (encPadding < 0 || encPadding > 3000) encPadding = -1;\n pTagData.encDelay = encDelay;\n pTagData.encPadding = encPadding;\n /* success */ return pTagData;\n };\n /**\n * Initializes the header\n *\n * @param gfp\n * global flags\n */ this.InitVbrTag = function(gfp) {\n var gfc = gfp.internal_flags;\n /**\n * <PRE>\n * Xing VBR pretends to be a 48kbs layer III frame. (at 44.1kHz).\n * (at 48kHz they use 56kbs since 48kbs frame not big enough for\n * table of contents)\n * let's always embed Xing header inside a 64kbs layer III frame.\n * this gives us enough room for a LAME version string too.\n * size determined by sampling frequency (MPEG1)\n * 32kHz: 216 bytes@48kbs 288bytes@ 64kbs\n * 44.1kHz: 156 bytes 208bytes@64kbs (+1 if padding = 1)\n * 48kHz: 144 bytes 192\n *\n * MPEG 2 values are the same since the framesize and samplerate\n * are each reduced by a factor of 2.\n * </PRE>\n */ var kbps_header;\n if (1 == gfp.version) kbps_header = XING_BITRATE1;\n else if (gfp.out_samplerate < 16000) kbps_header = XING_BITRATE25;\n else kbps_header = XING_BITRATE2;\n if (gfp.VBR == $e674985ea62d27cf$var$VbrMode.vbr_off) kbps_header = gfp.brate;\n // make sure LAME Header fits into Frame\n var totalFrameSize = (gfp.version + 1) * 72000 * kbps_header / gfp.out_samplerate;\n var headerSize = gfc.sideinfo_len + LAMEHEADERSIZE;\n gfc.VBR_seek_table.TotalFrameSize = totalFrameSize;\n if (totalFrameSize < headerSize || totalFrameSize > MAXFRAMESIZE) {\n /* disable tag, it wont fit */ gfp.bWriteVbrTag = false;\n return;\n }\n gfc.VBR_seek_table.nVbrNumFrames = 0;\n gfc.VBR_seek_table.nBytesWritten = 0;\n gfc.VBR_seek_table.sum = 0;\n gfc.VBR_seek_table.seen = 0;\n gfc.VBR_seek_table.want = 1;\n gfc.VBR_seek_table.pos = 0;\n if (gfc.VBR_seek_table.bag == null) {\n gfc.VBR_seek_table.bag = new int[400];\n gfc.VBR_seek_table.size = 400;\n }\n // write dummy VBR tag of all 0's into bitstream\n var buffer = $e674985ea62d27cf$var$new_byte(MAXFRAMESIZE);\n setLameTagFrameHeader(gfp, buffer);\n var n = gfc.VBR_seek_table.TotalFrameSize;\n for(var i = 0; i < n; ++i)bs.add_dummy_byte(gfp, buffer[i] & 0xff, 1);\n };\n /**\n * Fast CRC-16 computation (uses table crc16Lookup).\n *\n * @param value\n * @param crc\n * @return\n */ function crcUpdateLookup(value, crc) {\n var tmp = crc ^ value;\n crc = crc >> 8 ^ crc16Lookup[tmp & 0xff];\n return crc;\n }\n this.updateMusicCRC = function(crc, buffer, bufferPos, size) {\n for(var i = 0; i < size; ++i)crc[0] = crcUpdateLookup(buffer[bufferPos + i], crc[0]);\n };\n /**\n * Write LAME info: mini version + info on various switches used (Jonathan\n * Dee 2001/08/31).\n *\n * @param gfp\n * global flags\n * @param musicLength\n * music length\n * @param streamBuffer\n * pointer to output buffer\n * @param streamBufferPos\n * offset into the output buffer\n * @param crc\n * computation of CRC-16 of Lame Tag so far (starting at frame\n * sync)\n * @return number of bytes written to the stream\n */ function putLameVBR(gfp, musicLength, streamBuffer, streamBufferPos, crc) {\n var gfc = gfp.internal_flags;\n var bytesWritten = 0;\n /* encoder delay */ var encDelay = gfp.encoder_delay;\n /* encoder padding */ var encPadding = gfp.encoder_padding;\n /* recall: gfp.VBR_q is for example set by the switch -V */ /* gfp.quality by -q, -h, -f, etc */ var quality = 100 - 10 * gfp.VBR_q - gfp.quality;\n var version = v.getLameVeryShortVersion();\n var vbr;\n var revision = 0x00;\n var revMethod;\n // numbering different in vbr_mode vs. Lame tag\n var vbrTypeTranslator = [\n 1,\n 5,\n 3,\n 2,\n 4,\n 0,\n 3\n ];\n var lowpass = 0 | (gfp.lowpassfreq / 100.0 + .5 > 255 ? 255 : gfp.lowpassfreq / 100.0 + .5);\n var peakSignalAmplitude = 0;\n var radioReplayGain = 0;\n var audiophileReplayGain = 0;\n var noiseShaping = gfp.internal_flags.noise_shaping;\n var stereoMode = 0;\n var nonOptimal = 0;\n var sourceFreq = 0;\n var misc = 0;\n var musicCRC = 0;\n // psy model type: Gpsycho or NsPsytune\n var expNPsyTune = (gfp.exp_nspsytune & 1) != 0;\n var safeJoint = (gfp.exp_nspsytune & 2) != 0;\n var noGapMore = false;\n var noGapPrevious = false;\n var noGapCount = gfp.internal_flags.nogap_total;\n var noGapCurr = gfp.internal_flags.nogap_current;\n // 4 bits\n var athType = gfp.ATHtype;\n var flags = 0;\n // vbr modes\n var abrBitrate;\n switch(gfp.VBR){\n case vbr_abr:\n abrBitrate = gfp.VBR_mean_bitrate_kbps;\n break;\n case vbr_off:\n abrBitrate = gfp.brate;\n break;\n default:\n abrBitrate = gfp.VBR_min_bitrate_kbps;\n }\n // revision and vbr method\n if (gfp.VBR.ordinal() < vbrTypeTranslator.length) vbr = vbrTypeTranslator[gfp.VBR.ordinal()];\n else vbr = 0x00; // unknown\n revMethod = 0x10 * revision + vbr;\n // ReplayGain\n if (gfc.findReplayGain) {\n if (gfc.RadioGain > 0x1FE) gfc.RadioGain = 0x1FE;\n if (gfc.RadioGain < -510) gfc.RadioGain = -510;\n // set name code\n radioReplayGain = 0x2000;\n // set originator code to `determined automatically'\n radioReplayGain |= 0xC00;\n if (gfc.RadioGain >= 0) // set gain adjustment\n radioReplayGain |= gfc.RadioGain;\n else {\n // set the sign bit\n radioReplayGain |= 0x200;\n // set gain adjustment\n radioReplayGain |= -gfc.RadioGain;\n }\n }\n // peak sample\n if (gfc.findPeakSample) peakSignalAmplitude = Math.abs(0 | gfc.PeakSample / 32767.0 * Math.pow(2, 23) + .5);\n // nogap\n if (noGapCount != -1) {\n if (noGapCurr > 0) noGapPrevious = true;\n if (noGapCurr < noGapCount - 1) noGapMore = true;\n }\n // flags\n flags = athType + ((expNPsyTune ? 1 : 0) << 4) + ((safeJoint ? 1 : 0) << 5) + ((noGapMore ? 1 : 0) << 6) + ((noGapPrevious ? 1 : 0) << 7);\n if (quality < 0) quality = 0;\n // stereo mode field (Intensity stereo is not implemented)\n switch(gfp.mode){\n case MONO:\n stereoMode = 0;\n break;\n case STEREO:\n stereoMode = 1;\n break;\n case DUAL_CHANNEL:\n stereoMode = 2;\n break;\n case JOINT_STEREO:\n if (gfp.force_ms) stereoMode = 4;\n else stereoMode = 3;\n break;\n case NOT_SET:\n //$FALL-THROUGH$\n default:\n stereoMode = 7;\n break;\n }\n if (gfp.in_samplerate <= 32000) sourceFreq = 0x00;\n else if (gfp.in_samplerate == 48000) sourceFreq = 0x02;\n else if (gfp.in_samplerate > 48000) sourceFreq = 0x03;\n else // default is 44100Hz\n sourceFreq = 0x01;\n // Check if the user overrided the default LAME behavior with some\n // nasty options\n if (gfp.short_blocks == $e674985ea62d27cf$var$ShortBlock.short_block_forced || gfp.short_blocks == $e674985ea62d27cf$var$ShortBlock.short_block_dispensed || gfp.lowpassfreq == -1 && gfp.highpassfreq == -1 || /* \"-k\" */ gfp.scale_left < gfp.scale_right || gfp.scale_left > gfp.scale_right || gfp.disable_reservoir && gfp.brate < 320 || gfp.noATH || gfp.ATHonly || athType == 0 || gfp.in_samplerate <= 32000) nonOptimal = 1;\n misc = noiseShaping + (stereoMode << 2) + (nonOptimal << 5) + (sourceFreq << 6);\n musicCRC = gfc.nMusicCRC;\n // Write all this information into the stream\n createInteger(streamBuffer, streamBufferPos + bytesWritten, quality);\n bytesWritten += 4;\n for(var j = 0; j < 9; j++)streamBuffer[streamBufferPos + bytesWritten + j] = 0xff & version.charAt(j);\n bytesWritten += 9;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & revMethod;\n bytesWritten++;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & lowpass;\n bytesWritten++;\n createInteger(streamBuffer, streamBufferPos + bytesWritten, peakSignalAmplitude);\n bytesWritten += 4;\n createShort(streamBuffer, streamBufferPos + bytesWritten, radioReplayGain);\n bytesWritten += 2;\n createShort(streamBuffer, streamBufferPos + bytesWritten, audiophileReplayGain);\n bytesWritten += 2;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & flags;\n bytesWritten++;\n if (abrBitrate >= 255) streamBuffer[streamBufferPos + bytesWritten] = 0xFF;\n else streamBuffer[streamBufferPos + bytesWritten] = 0xff & abrBitrate;\n bytesWritten++;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & encDelay >> 4;\n streamBuffer[streamBufferPos + bytesWritten + 1] = 0xff & (encDelay << 4) + (encPadding >> 8);\n streamBuffer[streamBufferPos + bytesWritten + 2] = 0xff & encPadding;\n bytesWritten += 3;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & misc;\n bytesWritten++;\n // unused in rev0\n streamBuffer[streamBufferPos + bytesWritten++] = 0;\n createShort(streamBuffer, streamBufferPos + bytesWritten, gfp.preset);\n bytesWritten += 2;\n createInteger(streamBuffer, streamBufferPos + bytesWritten, musicLength);\n bytesWritten += 4;\n createShort(streamBuffer, streamBufferPos + bytesWritten, musicCRC);\n bytesWritten += 2;\n // Calculate tag CRC.... must be done here, since it includes previous\n // information\n for(var i = 0; i < bytesWritten; i++)crc = crcUpdateLookup(streamBuffer[streamBufferPos + i], crc);\n createShort(streamBuffer, streamBufferPos + bytesWritten, crc);\n bytesWritten += 2;\n return bytesWritten;\n }\n function skipId3v2(fpStream) {\n // seek to the beginning of the stream\n fpStream.seek(0);\n // read 10 bytes in case there's an ID3 version 2 header here\n var id3v2Header = $e674985ea62d27cf$var$new_byte(10);\n fpStream.readFully(id3v2Header);\n /* does the stream begin with the ID3 version 2 file identifier? */ var id3v2TagSize;\n if (!new String(id3v2Header, \"ISO-8859-1\").startsWith(\"ID3\")) /*\n * the tag size (minus the 10-byte header) is encoded into four\n * bytes where the most significant bit is clear in each byte\n */ id3v2TagSize = ((id3v2Header[6] & 0x7f) << 21 | (id3v2Header[7] & 0x7f) << 14 | (id3v2Header[8] & 0x7f) << 7 | id3v2Header[9] & 0x7f) + id3v2Header.length;\n else /* no ID3 version 2 tag in this stream */ id3v2TagSize = 0;\n return id3v2TagSize;\n }\n this.getLameTagFrame = function(gfp, buffer) {\n var gfc = gfp.internal_flags;\n if (!gfp.bWriteVbrTag) return 0;\n if (gfc.Class_ID != Lame.LAME_ID) return 0;\n if (gfc.VBR_seek_table.pos <= 0) return 0;\n if (buffer.length < gfc.VBR_seek_table.TotalFrameSize) return gfc.VBR_seek_table.TotalFrameSize;\n $e674985ea62d27cf$var$Arrays.fill(buffer, 0, gfc.VBR_seek_table.TotalFrameSize, 0);\n // 4 bytes frame header\n setLameTagFrameHeader(gfp, buffer);\n // Create TOC entries\n var toc = $e674985ea62d27cf$var$new_byte(NUMTOCENTRIES);\n if (gfp.free_format) for(var i = 1; i < NUMTOCENTRIES; ++i)toc[i] = 0xff & 255 * i / 100;\n else xingSeekTable(gfc.VBR_seek_table, toc);\n // Start writing the tag after the zero frame\n var streamIndex = gfc.sideinfo_len;\n /**\n * Note: Xing header specifies that Xing data goes in the ancillary data\n * with NO ERROR PROTECTION. If error protecton in enabled, the Xing\n * data still starts at the same offset, and now it is in sideinfo data\n * block, and thus will not decode correctly by non-Xing tag aware\n * players\n */ if (gfp.error_protection) streamIndex -= 2;\n // Put Vbr tag\n if (gfp.VBR == $e674985ea62d27cf$var$VbrMode.vbr_off) {\n buffer[streamIndex++] = 0xff & VBRTag1.charAt(0);\n buffer[streamIndex++] = 0xff & VBRTag1.charAt(1);\n buffer[streamIndex++] = 0xff & VBRTag1.charAt(2);\n buffer[streamIndex++] = 0xff & VBRTag1.charAt(3);\n } else {\n buffer[streamIndex++] = 0xff & VBRTag0.charAt(0);\n buffer[streamIndex++] = 0xff & VBRTag0.charAt(1);\n buffer[streamIndex++] = 0xff & VBRTag0.charAt(2);\n buffer[streamIndex++] = 0xff & VBRTag0.charAt(3);\n }\n // Put header flags\n createInteger(buffer, streamIndex, FRAMES_FLAG + BYTES_FLAG + TOC_FLAG + VBR_SCALE_FLAG);\n streamIndex += 4;\n // Put Total Number of frames\n createInteger(buffer, streamIndex, gfc.VBR_seek_table.nVbrNumFrames);\n streamIndex += 4;\n // Put total audio stream size, including Xing/LAME Header\n var streamSize = gfc.VBR_seek_table.nBytesWritten + gfc.VBR_seek_table.TotalFrameSize;\n createInteger(buffer, streamIndex, 0 | streamSize);\n streamIndex += 4;\n /* Put TOC */ $e674985ea62d27cf$var$System.arraycopy(toc, 0, buffer, streamIndex, toc.length);\n streamIndex += toc.length;\n if (gfp.error_protection) // (jo) error_protection: add crc16 information to header\n bs.CRC_writeheader(gfc, buffer);\n // work out CRC so far: initially crc = 0\n var crc = 0x00;\n for(var i = 0; i < streamIndex; i++)crc = crcUpdateLookup(buffer[i], crc);\n // Put LAME VBR info\n streamIndex += putLameVBR(gfp, streamSize, buffer, streamIndex, crc);\n return gfc.VBR_seek_table.TotalFrameSize;\n };\n /**\n * Write final VBR tag to the file.\n *\n * @param gfp\n * global flags\n * @param stream\n * stream to add the VBR tag to\n * @return 0 (OK), -1 else\n * @throws IOException\n * I/O error\n */ this.putVbrTag = function(gfp, stream) {\n var gfc = gfp.internal_flags;\n if (gfc.VBR_seek_table.pos <= 0) return -1;\n // Seek to end of file\n stream.seek(stream.length());\n // Get file size, abort if file has zero length.\n if (stream.length() == 0) return -1;\n // The VBR tag may NOT be located at the beginning of the stream. If an\n // ID3 version 2 tag was added, then it must be skipped to write the VBR\n // tag data.\n var id3v2TagSize = skipId3v2(stream);\n // Seek to the beginning of the stream\n stream.seek(id3v2TagSize);\n var buffer = $e674985ea62d27cf$var$new_byte(MAXFRAMESIZE);\n var bytes = getLameTagFrame(gfp, buffer);\n if (bytes > buffer.length) return -1;\n if (bytes < 1) return 0;\n // Put it all to disk again\n stream.write(buffer, 0, bytes);\n // success\n return 0;\n };\n}\n$e674985ea62d27cf$exports = $e674985ea62d27cf$var$VBRTag;\n\n\nfunction $dd7ee3788d91dcb8$var$GetAudio() {\n var parse;\n var mpg;\n this.setModules = function(parse2, mpg2) {\n parse = parse2;\n mpg = mpg2;\n };\n}\nfunction $dd7ee3788d91dcb8$var$Parse() {\n var ver;\n var id3;\n var pre;\n this.setModules = function(ver2, id32, pre2) {\n ver = ver2;\n id3 = id32;\n pre = pre2;\n };\n}\nfunction $dd7ee3788d91dcb8$var$MPGLib() {}\nfunction $dd7ee3788d91dcb8$var$ID3Tag() {\n var bits;\n var ver;\n this.setModules = function(_bits, _ver) {\n bits = _bits;\n ver = _ver;\n };\n}\nfunction $dd7ee3788d91dcb8$var$Mp3Encoder(channels, samplerate, kbps) {\n if (arguments.length != 3) {\n console.error(\"WARN: Mp3Encoder(channels, samplerate, kbps) not specified\");\n channels = 1;\n samplerate = 44100;\n kbps = 128;\n }\n var lame = new $kk1yk();\n var gaud = new $dd7ee3788d91dcb8$var$GetAudio();\n var ga = new $b8dhq();\n var bs = new $ctaQC();\n var p = new $7960aab77e945546$exports();\n var qupvt = new $84mea();\n var qu = new $df08f3a0d41b7a78$exports();\n var vbr = new $e674985ea62d27cf$exports();\n var ver = new $34609aeb1df0c2af$exports();\n var id3 = new $dd7ee3788d91dcb8$var$ID3Tag();\n var rv = new $b5a7ab7c590f5d1e$exports();\n var tak = new $65Sx2();\n var parse = new $dd7ee3788d91dcb8$var$Parse();\n var mpg = new $dd7ee3788d91dcb8$var$MPGLib();\n lame.setModules(ga, bs, p, qupvt, qu, vbr, ver, id3, mpg);\n bs.setModules(ga, mpg, ver, vbr);\n id3.setModules(bs, ver);\n p.setModules(lame);\n qu.setModules(bs, rv, qupvt, tak);\n qupvt.setModules(tak, rv, lame.enc.psy);\n rv.setModules(bs);\n tak.setModules(qupvt);\n vbr.setModules(lame, bs, ver);\n gaud.setModules(parse, mpg);\n parse.setModules(ver, id3, p);\n var gfp = lame.lame_init();\n gfp.num_channels = channels;\n gfp.in_samplerate = samplerate;\n gfp.brate = kbps;\n gfp.mode = $jL6I1.STEREO;\n gfp.quality = 3;\n gfp.bWriteVbrTag = false;\n gfp.disable_reservoir = true;\n gfp.write_id3tag_automatic = false;\n var retcode = lame.lame_init_params(gfp);\n $dd7ee3788d91dcb8$var$assert(0 == retcode);\n var maxSamples = 1152;\n var mp3buf_size = 0 | 1.25 * maxSamples + 7200;\n var mp3buf = $dd7ee3788d91dcb8$var$new_byte(mp3buf_size);\n this.encodeBuffer = function(left, right) {\n if (channels == 1) right = left;\n $dd7ee3788d91dcb8$var$assert(left.length == right.length);\n if (left.length > maxSamples) {\n maxSamples = left.length;\n mp3buf_size = 0 | 1.25 * maxSamples + 7200;\n mp3buf = $dd7ee3788d91dcb8$var$new_byte(mp3buf_size);\n }\n var _sz = lame.lame_encode_buffer(gfp, left, right, left.length, mp3buf, 0, mp3buf_size);\n return new Int8Array(mp3buf.subarray(0, _sz));\n };\n this.flush = function() {\n var _sz = lame.lame_encode_flush(gfp, mp3buf, 0, mp3buf_size);\n return new Int8Array(mp3buf.subarray(0, _sz));\n };\n}\nfunction $dd7ee3788d91dcb8$var$WavHeader() {\n this.dataOffset = 0;\n this.dataLen = 0;\n this.channels = 0;\n this.sampleRate = 0;\n}\nfunction $dd7ee3788d91dcb8$var$fourccToInt(fourcc) {\n return fourcc.charCodeAt(0) << 24 | fourcc.charCodeAt(1) << 16 | fourcc.charCodeAt(2) << 8 | fourcc.charCodeAt(3);\n}\n$dd7ee3788d91dcb8$var$WavHeader.RIFF = $dd7ee3788d91dcb8$var$fourccToInt(\"RIFF\");\n$dd7ee3788d91dcb8$var$WavHeader.WAVE = $dd7ee3788d91dcb8$var$fourccToInt(\"WAVE\");\n$dd7ee3788d91dcb8$var$WavHeader.fmt_ = $dd7ee3788d91dcb8$var$fourccToInt(\"fmt \");\n$dd7ee3788d91dcb8$var$WavHeader.data = $dd7ee3788d91dcb8$var$fourccToInt(\"data\");\n$dd7ee3788d91dcb8$var$WavHeader.readHeader = function(dataView) {\n var w = new $dd7ee3788d91dcb8$var$WavHeader();\n var header = dataView.getUint32(0, false);\n if ($dd7ee3788d91dcb8$var$WavHeader.RIFF != header) return;\n var fileLen = dataView.getUint32(4, true);\n if ($dd7ee3788d91dcb8$var$WavHeader.WAVE != dataView.getUint32(8, false)) return;\n if ($dd7ee3788d91dcb8$var$WavHeader.fmt_ != dataView.getUint32(12, false)) return;\n var fmtLen = dataView.getUint32(16, true);\n var pos = 20;\n switch(fmtLen){\n case 16:\n case 18:\n w.channels = dataView.getUint16(pos + 2, true);\n w.sampleRate = dataView.getUint32(pos + 4, true);\n break;\n default:\n throw \"extended fmt chunk not implemented\";\n }\n pos += fmtLen;\n var data = $dd7ee3788d91dcb8$var$WavHeader.data;\n var len = 0;\n while(data != header){\n header = dataView.getUint32(pos, false);\n len = dataView.getUint32(pos + 4, true);\n if (data == header) break;\n pos += len + 8;\n }\n w.dataLen = len;\n w.dataOffset = pos + 8;\n return w;\n};\n$dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 = $dd7ee3788d91dcb8$var$Mp3Encoder;\n$dd7ee3788d91dcb8$export$cb948f2d6837f136 = $dd7ee3788d91dcb8$var$WavHeader;\n\n\nexport {$dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 as Mp3Encoder, $dd7ee3788d91dcb8$export$cb948f2d6837f136 as WavHeader, $dd7ee3788d91dcb8$exports as default};\n//# sourceMappingURL=lame.module.js.map\n"],"names":[],"mappings":"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C;AAC7D,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5D,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5D,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACxC,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACxC,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACxC,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACxC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5D,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5D,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACzC,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACzC,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACzC,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACzC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1C,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1C,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,oBAAoB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1C,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1C,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,oBAAoB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,oBAAoB,EAAE,IAAI,EAAE,CAAC;AAC7B,oBAAoB,EAAE,IAAI,EAAE,CAAC;AAC7B,iBAAiB,OAAO,EAAE,GAAG,EAAE,EAAE;AACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC;AACxB,gBAAgB,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACjE,gBAAgB,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACjE,aAAa;AACb,YAAY,GAAG,IAAI,CAAC,CAAC;AACrB,SAAS,OAAO,EAAE,GAAG,CAAC,EAAE;AACxB,KAAK;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ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C,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAC7C,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAC7C,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,QAAQ,CAAC,CA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I,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CA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IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,CAAC,CAAC;AACF,4BAA4B,CAAC,KAAK,GAAG;AACrC,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,CAAC,CAAC;AACF,4BAA4B,CAAC,KAAK,GAAG;AACrC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,CAAC;AACL,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,CAAC,CAAC;AACF,4BAA4B,CAAC,KAAK,GAAG;AACrC,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,CAAC;AACL,IAAI,G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CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,CAAC,CAAC;AACF,4BAA4B,CAAC,GAAG,GAAG;AACnC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,GAAG,GAAG;AACnC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,GAAG,GAAG;AACnC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,MAAM,GAAG;AACtC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,CAAC,CAAC;AACF,4BAA4B,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,CAAC;AACL,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AACN,IAAI,EAAE;AA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ACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;A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AAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,M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"}