carta1 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Carta1 Audio Codec - Quadrature Mirror Filter
3
+ *
4
+ * This module implements QMF analysis and synthesis for subband decomposition
5
+ * in the ATRAC1 codec. The QMF splits the audio signal into multiple frequency
6
+ * bands for independent processing and coding.
7
+ */
8
+
9
+ import { QMF_TAPS, QMF_DELAY } from '../core/constants.js'
10
+ import { throwError } from '../utils.js'
11
+
12
+ // QMF prototype filter coefficients
13
+ const QMF_COEFFS = new Float32Array([
14
+ -0.00001461907, -0.00009205479, -0.000056157569, 0.00030117269, 0.0002422519,
15
+ -0.00085293897, -0.0005205574, 0.0020340169, 0.00078333891, -0.0042153862,
16
+ -0.00075614988, 0.0078402944, -0.000061169922, -0.01344162, 0.0024626821,
17
+ 0.021736089, -0.007801671, -0.034090221, 0.01880949, 0.054326009,
18
+ -0.043596379, -0.099384367, 0.13207909, 0.46424159,
19
+ ])
20
+
21
+ // Build full window
22
+ const QMF_WINDOW = new Float32Array(QMF_TAPS)
23
+ for (let i = 0; i < 24; i++) {
24
+ QMF_WINDOW[i] = QMF_COEFFS[i] * 2.0
25
+ QMF_WINDOW[47 - i] = QMF_COEFFS[i] * 2.0
26
+ }
27
+
28
+ // Separate even/odd taps for optimization
29
+ const QMF_EVEN = new Float32Array(24)
30
+ const QMF_ODD = new Float32Array(24)
31
+ for (let i = 0; i < 24; i++) {
32
+ QMF_EVEN[i] = QMF_WINDOW[i * 2]
33
+ QMF_ODD[i] = QMF_WINDOW[i * 2 + 1]
34
+ }
35
+
36
+ /**
37
+ * Perform QMF analysis filtering to split input into low and high frequency bands
38
+ * @param {Float32Array} input - Input audio samples
39
+ * @param {Float32Array} delayLine - QMF delay line state
40
+ * @param {Object} qmfWorkBuffers - Optional work buffers for processing
41
+ * @returns {Object} Object containing lowBand, highBand, and newDelay
42
+ */
43
+ export function qmfAnalysis(input, delayLine, qmfWorkBuffers = null) {
44
+ const inputLength = input.length
45
+ const outputLength = inputLength >> 1
46
+
47
+ const workBuffer =
48
+ qmfWorkBuffers?.delay?.[inputLength] ??
49
+ throwError('qmfAnalysis: workBuffer is required')
50
+ workBuffer.set(delayLine)
51
+ workBuffer.set(input, delayLine.length)
52
+
53
+ const lowBand = new Float32Array(outputLength)
54
+ const highBand = new Float32Array(outputLength)
55
+
56
+ for (let i = 0; i < outputLength; i++) {
57
+ let evenSum = 0
58
+ let oddSum = 0
59
+ const offset = i * 2
60
+
61
+ // Unrolled convolution
62
+ for (let j = 0; j < 24; j++) {
63
+ evenSum += workBuffer[offset + 47 - j * 2] * QMF_EVEN[j]
64
+ oddSum += workBuffer[offset + 46 - j * 2] * QMF_ODD[j]
65
+ }
66
+
67
+ lowBand[i] = evenSum + oddSum
68
+ highBand[i] = evenSum - oddSum
69
+ }
70
+
71
+ // Update delay line
72
+ const newDelay = workBuffer.slice(-QMF_DELAY)
73
+ return { lowBand, highBand, newDelay }
74
+ }
75
+
76
+ /**
77
+ * Perform QMF synthesis filtering to reconstruct audio from low and high frequency bands
78
+ * @param {Float32Array} lowBand - Low frequency band samples
79
+ * @param {Float32Array} highBand - High frequency band samples
80
+ * @param {Float32Array} delayLine - QMF delay line state
81
+ * @param {Object} qmfWorkBuffers - Optional work buffers for processing
82
+ * @returns {Object} Object containing output and newDelay
83
+ */
84
+ export function qmfSynthesis(
85
+ lowBand,
86
+ highBand,
87
+ delayLine,
88
+ qmfWorkBuffers = null
89
+ ) {
90
+ const subbandLength = lowBand.length
91
+ const outputLength = subbandLength * 2
92
+
93
+ const workBuffer =
94
+ qmfWorkBuffers?.delay?.[outputLength] ??
95
+ throwError('qmfSynthesis: workBuffer is required')
96
+ workBuffer.set(delayLine)
97
+
98
+ // Upsample and merge
99
+ for (let i = 0; i < subbandLength; i++) {
100
+ const low = lowBand[i]
101
+ const high = highBand[i]
102
+ const offset = QMF_DELAY + i * 2
103
+ workBuffer[offset] = 0.5 * (low + high)
104
+ workBuffer[offset + 1] = 0.5 * (low - high)
105
+ }
106
+
107
+ const output = new Float32Array(outputLength)
108
+
109
+ // Convolution
110
+ for (let i = 0; i < subbandLength; i++) {
111
+ const offset = i * 2
112
+ let sample0 = 0
113
+ let sample1 = 0
114
+
115
+ for (let j = 0; j < 24; j++) {
116
+ const idx = offset + j * 2
117
+ sample0 += workBuffer[idx] * QMF_EVEN[j]
118
+ sample1 += workBuffer[idx + 1] * QMF_ODD[j]
119
+ }
120
+
121
+ output[i * 2] = sample1
122
+ output[i * 2 + 1] = sample0
123
+ }
124
+
125
+ const newDelay = workBuffer.slice(-QMF_DELAY)
126
+ return { output, newDelay }
127
+ }
package/codec/utils.js ADDED
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Carta1 Audio Codec - Utilities
3
+ *
4
+ * This module provides common utility functions for the ATRAC1 codec including
5
+ * pipeline composition, error handling, and audio stream processing utilities
6
+ * for delay compensation and frame padding.
7
+ */
8
+
9
+ import { CODEC_DELAY, SAMPLES_PER_FRAME } from './core/constants.js'
10
+
11
+ /**
12
+ * Throws an error with the given message
13
+ * @param {string} msg - Error message
14
+ * @throws {Error} Always throws an error with the provided message
15
+ */
16
+ export function throwError(msg) {
17
+ throw new Error(msg)
18
+ }
19
+
20
+ /**
21
+ * Creates a pipeline by composing multiple processing stages
22
+ * @param {Object} context - Shared context passed to all stages
23
+ * @param {...Function} stages - Stage functions to compose
24
+ * @returns {Function} Composed pipeline function
25
+ */
26
+ export function pipe(context, ...stages) {
27
+ const functions = stages.map((stage) => stage(context))
28
+
29
+ return (input) => {
30
+ return functions.reduce((value, fn) => fn(value), input)
31
+ }
32
+ }
33
+
34
+ /**
35
+ * Pads audio frames and adds flush samples for proper codec delay handling
36
+ * @param {AsyncIterable<Float32Array>} iter - Input frame stream
37
+ * @param {number} [samplesToFlush=CODEC_DELAY] - Number of samples to flush
38
+ * @yields {Float32Array} Padded frames with flush samples
39
+ */
40
+ export async function* withFlushSamples(iter, samplesToFlush = CODEC_DELAY) {
41
+ let lastFrameLength = SAMPLES_PER_FRAME
42
+ for await (const frame of iter) {
43
+ lastFrameLength = frame.length
44
+ if (lastFrameLength === SAMPLES_PER_FRAME) {
45
+ yield frame
46
+ } else {
47
+ // We need to pad
48
+ const paddedFrame = new Float32Array(SAMPLES_PER_FRAME)
49
+ paddedFrame.set(frame)
50
+ yield paddedFrame
51
+ }
52
+ }
53
+ if (SAMPLES_PER_FRAME - lastFrameLength < samplesToFlush) {
54
+ yield new Float32Array(SAMPLES_PER_FRAME)
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Applies delay compensation to PCM frame stream by dropping initial samples
60
+ * @param {AsyncIterable<Float32Array>} pcmFrameStream - Input PCM frame stream
61
+ * @param {number} [samplesToDrop=CODEC_DELAY] - Number of samples to drop for delay compensation
62
+ * @yields {Float32Array} Delay-compensated PCM frames
63
+ */
64
+ export async function* withDelayCompensation(
65
+ pcmFrameStream,
66
+ samplesToDrop = CODEC_DELAY
67
+ ) {
68
+ let buffer = new Float32Array(0)
69
+ let droppedInitialSamples = false
70
+
71
+ for await (const frame of pcmFrameStream) {
72
+ // Drop samples from the very first frame only
73
+ if (!droppedInitialSamples) {
74
+ droppedInitialSamples = true
75
+ if (samplesToDrop >= frame.length) {
76
+ // Entire first frame is dropped
77
+ samplesToDrop -= frame.length
78
+ continue
79
+ }
80
+ // Keep only the portion after dropped samples
81
+ buffer = frame.slice(samplesToDrop)
82
+ samplesToDrop = 0
83
+ continue
84
+ }
85
+
86
+ // Concatenate buffer with new frame
87
+ const combined = new Float32Array(buffer.length + frame.length)
88
+ combined.set(buffer)
89
+ combined.set(frame, buffer.length)
90
+
91
+ // Emit all complete frames
92
+ let offset = 0
93
+ while (offset + SAMPLES_PER_FRAME <= combined.length) {
94
+ yield combined.slice(offset, offset + SAMPLES_PER_FRAME)
95
+ offset += SAMPLES_PER_FRAME
96
+ }
97
+
98
+ // Buffer the remainder for next iteration
99
+ buffer = combined.slice(offset)
100
+ }
101
+
102
+ // Emit final partial frame
103
+ if (buffer.length > 0) {
104
+ yield buffer
105
+ }
106
+ }
107
+
108
+ /**
109
+ * Adapts a mono transform function to work with stereo audio streams
110
+ * @param {Function} monoTransform - Transform function for mono audio
111
+ * @param {...*} args - Additional arguments to pass to the transform
112
+ * @returns {Function} Stereo-adapted transform function
113
+ */
114
+ export function withStereo(monoTransform, ...args) {
115
+ return async function* (stereoIter) {
116
+ // Buffer to store frames temporarily
117
+ const leftFrames = []
118
+ const rightFrames = []
119
+
120
+ // Collect all frames first (necessary for proper synchronization)
121
+ for await (const [left, right] of stereoIter) {
122
+ leftFrames.push(left)
123
+ rightFrames.push(right)
124
+ }
125
+
126
+ // Create mono iterators
127
+ const leftIter = (async function* () {
128
+ for (const frame of leftFrames) yield frame
129
+ })()
130
+
131
+ const rightIter = (async function* () {
132
+ for (const frame of rightFrames) yield frame
133
+ })()
134
+
135
+ // Apply transform to each channel
136
+ const leftTransformed = monoTransform(leftIter, ...args)
137
+ const rightTransformed = monoTransform(rightIter, ...args)
138
+
139
+ // Zip back together
140
+ for await (const left of leftTransformed) {
141
+ const { value: right } = await rightTransformed.next()
142
+ if (right !== undefined) {
143
+ yield [left, right]
144
+ }
145
+ }
146
+ }
147
+ }
148
+
149
+ // Stereo-adapted utility functions
150
+ export const withStereoFlushSamples = withStereo(withFlushSamples)
151
+ export const withStereoDelayCompensation = withStereo(withDelayCompensation)
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Carta1Worker=t():e.Carta1Worker=t()}(this,()=>(()=>{"use strict";var e={r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",u=r.toStringTag||"@@toStringTag";function a(r,n,i,u){var a=n&&n.prototype instanceof f?n:f,s=Object.create(a.prototype);return o(s,"_invoke",function(r,n,o){var i,u,a,f=0,s=o||[],l=!1,y={p:0,n:0,v:e,a:b,f:b.bind(e,4),d:function(t,r){return i=t,u=0,a=e,y.n=r,c}};function b(r,n){for(u=r,a=n,t=0;!l&&f&&!o&&t<s.length;t++){var o,i=s[t],b=y.p,p=i[2];r>3?(o=p===n)&&(a=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=b&&((o=r<2&&b<i[1])?(u=0,y.v=n,y.n=i[1]):b<p&&(o=r<3||i[0]>n||n>p)&&(i[4]=r,i[5]=n,y.n=p,u=0))}if(o||r>1)return c;throw l=!0,n}return function(o,s,p){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&b(s,p),u=s,a=p;(t=u<2?e:a)||!l;){i||(u?u<3?(u>1&&(y.n=-1),b(u,a)):y.n=a:y.v=a);try{if(f=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(l=y.n<0)?a:r.call(n,y))!==c)break}catch(t){i=e,u=1,a=t}finally{f=1}}return{value:t,done:l}}}(r,i,u),!0),s}var c={};function f(){}function s(){}function l(){}t=Object.getPrototypeOf;var y=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),b=l.prototype=f.prototype=Object.create(y);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,o(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e}return s.prototype=l,o(b,"constructor",l),o(l,"constructor",s),s.displayName="GeneratorFunction",o(l,u,"GeneratorFunction"),o(b),o(b,u,"Generator"),o(b,i,function(){return this}),o(b,"toString",function(){return"[object Generator]"}),(n=function(){return{w:a,m:p}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){if(t)i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r;else{var u=function(t,r){o(e,t,function(e){return this._invoke(t,r,e)})};u("next",0),u("throw",1),u("return",2)}},o(e,t,r,n)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){a(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t,r,n,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void r(e)}a.done?t(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function u(e){c(i,n,o,u,a,"next",e)}function a(e){c(i,n,o,u,a,"throw",e)}u(void 0)})}}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,u,a=[],c=!0,f=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(f)throw o}}return a}}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function p(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}e.r(t);var d=function(){return e=function e(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"carta1-worker.min.js";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.worker=new Worker(r),this.nextJobId=1,this.jobs=new Map,this.worker.onmessage=function(e){var r=e.data,n=r.jobId,o=r.error,i=r.result;if(n)if(t.jobs.has(n)){var u=t.jobs.get(n),a=u.resolve,c=u.reject;t.jobs.delete(n),o?c(new Error(o)):i?a(i):c(new Error("Worker returned no result"))}else console.warn("Received result for unknown job:",n);else console.warn("Received message without jobId:",e.data)},this.worker.onerror=function(e){console.error("Worker crashed:",e);var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=l(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}(t.jobs);try{for(n.s();!(r=n.n()).done;)(0,s(r.value,2)[1].reject)(new Error("Worker crashed: "+e.message))}catch(e){n.e(e)}finally{n.f()}t.jobs.clear()}},t=[{key:"encode",value:(c=f(n().m(function e(t){var r,o,i=this,a=arguments;return n().w(function(e){for(;;)if(0===e.n)return r=a.length>1&&void 0!==a[1]?a[1]:{},o=this.nextJobId++,e.a(2,new Promise(function(e,n){i.jobs.set(o,{resolve:e,reject:n});try{var a=u({},r);i.worker.postMessage({jobId:o,type:"encode",pcmData:t,options:a})}catch(e){i.jobs.delete(o),n(e)}}))},e,this)})),function(e){return c.apply(this,arguments)})},{key:"decode",value:(a=f(n().m(function e(t){var r,o=this;return n().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){o.jobs.set(r,{resolve:e,reject:n});try{o.worker.postMessage({jobId:r,type:"decode",aea:t})}catch(e){o.jobs.delete(r),n(e)}}))},e,this)})),function(e){return a.apply(this,arguments)})},{key:"parseAeaBlob",value:(i=f(n().m(function e(t){var r,o=this;return n().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){o.jobs.set(r,{resolve:e,reject:n});try{o.worker.postMessage({jobId:r,type:"parseAea",blob:t})}catch(e){o.jobs.delete(r),n(e)}}))},e,this)})),function(e){return i.apply(this,arguments)})},{key:"getEncoderOptions",value:(o=f(n().m(function e(){var t,r=this;return n().w(function(e){for(;;)if(0===e.n)return t=this.nextJobId++,e.a(2,new Promise(function(e,n){r.jobs.set(t,{resolve:e,reject:n});try{r.worker.postMessage({jobId:t,type:"getEncoderOptions"})}catch(e){r.jobs.delete(t),n(e)}}))},e,this)})),function(){return o.apply(this,arguments)})},{key:"terminate",value:function(){this.worker&&(this.worker.terminate(),this.worker=null),this.jobs.clear()}}],t&&b(e.prototype,t),r&&b(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,o,i,a,c}();return"undefined"!=typeof module&&module.exports?module.exports=d:"function"==typeof define&&define.amd?define([],function(){return d}):"undefined"!=typeof window&&(window.Carta1Worker=d),t})());
2
+ //# sourceMappingURL=carta1-worker-interface.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carta1-worker-interface.min.js","mappings":"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","sources":["webpack://Carta1Worker/webpack/universalModuleDefinition","webpack://Carta1Worker/webpack/bootstrap","webpack://Carta1Worker/webpack/runtime/make namespace object","webpack://Carta1Worker/./codec/browser/interface.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Carta1Worker\"] = factory();\n\telse\n\t\troot[\"Carta1Worker\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Carta1 Worker Interface - Client-side API\n *\n * Provides a clean async interface for encoding and decoding ATRAC1 audio\n * using Web Workers for non-blocking operation.\n *\n * Usage:\n * const codec = new Carta1Worker('carta1-worker.min.js')\n * const result = await codec.encode(pcmData, options)\n * codec.terminate()\n *\n * The worker path can be customized to match your deployment:\n * new Carta1Worker('/js/carta1-worker.min.js')\n * new Carta1Worker('https://cdn.example.com/carta1-worker.min.js')\n */\n\nclass Carta1Worker {\n /**\n * Create a new ATRAC1 codec worker\n *\n * @param {string} [workerPath='atrac1-worker.min.js'] - Path to the worker script\n */\n constructor(workerPath = 'carta1-worker.min.js') {\n this.worker = new Worker(workerPath)\n this.nextJobId = 1\n this.jobs = new Map()\n\n // Handle worker responses\n this.worker.onmessage = (e) => {\n const { jobId, error, result } = e.data\n\n if (!jobId) {\n console.warn('Received message without jobId:', e.data)\n return\n }\n\n if (this.jobs.has(jobId)) {\n const { resolve, reject } = this.jobs.get(jobId)\n this.jobs.delete(jobId)\n\n if (error) {\n reject(new Error(error))\n } else if (result) {\n resolve(result)\n } else {\n reject(new Error('Worker returned no result'))\n }\n } else {\n console.warn('Received result for unknown job:', jobId)\n }\n }\n\n // Handle worker errors\n this.worker.onerror = (error) => {\n console.error('Worker crashed:', error)\n // Reject all pending jobs\n for (const [, { reject }] of this.jobs) {\n reject(new Error('Worker crashed: ' + error.message))\n }\n this.jobs.clear()\n }\n }\n\n /**\n * Encode PCM audio to ATRAC1 format\n *\n * @param {Float32Array|Array<Float32Array>} pcmData - PCM audio data\n * - Mono: Float32Array\n * - Stereo: [left, right] Float32Arrays\n * @param {Object} [options={}] - Encoder options\n * @param {number} [options.transientThresholdLow] - Low band transient threshold\n * @param {number} [options.transientThresholdMid] - Mid band transient threshold\n * @param {number} [options.transientThresholdHigh] - High band transient threshold\n * @param {number} [options.normalizationDb] - Normalization level in dB\n * @returns {Promise<Object>} Encoding result\n * @returns {Blob} returns.aeaBlob - ATRAC1 encoded audio blob\n * @returns {Object} returns.shortBlockData - Short block frame indices\n */\n async encode(pcmData, options = {}) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n // Ensure plain object for serialization\n const plainOptions = { ...options }\n this.worker.postMessage({\n jobId,\n type: 'encode',\n pcmData,\n options: plainOptions,\n })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Decode ATRAC1 audio to PCM WAV format\n *\n * @param {Object} aea - ATRAC1 audio data\n * @param {Uint8Array} aea.header - AEA file header\n * @param {Array} aea.aeaData - Encoded frame data\n * @param {Object} [aea.info] - Optional metadata\n * @returns {Promise<Object>} Decoding result\n * @returns {Blob} returns.wavBlob - Decoded WAV audio blob\n * @returns {Object} returns.info - Audio metadata (channels, sample rate)\n */\n async decode(aea) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'decode', aea })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Parse AEA file blob to extract metadata and frame data\n *\n * @param {Blob} blob - AEA file blob\n * @returns {Promise<Object>} Parsed AEA data\n * @returns {Uint8Array} returns.header - AEA file header\n * @returns {Array} returns.aeaData - Encoded frame data\n * @returns {Object} returns.info - Metadata (title, channels, frames)\n */\n async parseAeaBlob(blob) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'parseAea', blob })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Get default encoder options metadata\n *\n * @returns {Promise<Object>} Default encoder options\n */\n async getEncoderOptions() {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'getEncoderOptions' })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Terminate the worker and clean up resources\n *\n * Call this when done using the codec to free memory\n */\n terminate() {\n if (this.worker) {\n this.worker.terminate()\n this.worker = null\n }\n this.jobs.clear()\n }\n}\n\n// Export for different module systems\n/* global define, window */\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = Carta1Worker\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return Carta1Worker\n })\n} else if (typeof window !== 'undefined') {\n // Global export for browser\n window.Carta1Worker = Carta1Worker\n}\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","Symbol","toStringTag","Object","defineProperty","value","e","t","r","n","iterator","o","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","enumerable","configurable","writable","_invoke","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","_slicedToArray","Array","isArray","_arrayWithHoles","next","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","from","test","_defineProperties","key","_typeof","toPrimitive","String","Number","_toPrimitive","Carta1Worker","_this","workerPath","undefined","_classCallCheck","worker","Worker","nextJobId","jobs","Map","onmessage","_e$data","data","jobId","error","result","has","_this$jobs$get","get","reject","Error","console","warn","onerror","_step","_iterator","_n","F","s","_createForOfIteratorHelper","message","err","clear","_encode","_callee","pcmData","options","_this2","_args","_context","set","plainOptions","postMessage","type","_x","_decode","_callee2","aea","_this3","_context2","_x2","_parseAeaBlob","_callee3","blob","_this4","_context3","_x3","_getEncoderOptions","_callee4","_this5","_context4","terminate","window"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (()=>{"use strict";var r={},e=44100,n=512,t=new Uint8Array([0,8,0,0]),o=2048,a=212,i=52,u=new Int32Array([8,8,8,8,4,4,4,4,8,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,9,9,9,9,10,10,10,10,12,12,12,12,12,12,12,12,20,20,20,20,20,20,20,20]),l=new Int32Array([20,28,32,36,40,44,48,52]),f=new Int32Array([20,36,52]),c=(function(){for(var r=new Uint8Array(52),e=0;e<f[0];e++)r[e]=0;for(var n=f[0];n<f[1];n++)r[n]=1;for(var t=f[1];t<f[2];t++)r[t]=2}(),new Uint8Array([20,21,22,19,23,18,24,17,25,16,26,15,27,14,28,32,33,34,35,36,37,38,31,30,29]),new Float32Array([172.3,516.8,861.3,1205.9,1464.3,1636.5,1808.8,1981.1,2239.5,2584,2928.5,3273,3574.5,3832.9,4091.3,4349.7,4608.1,4866.5,5124.9,5383.3,5641.7,5900.1,6158.5,6416.9,6696.8,6998.3,7299.8,7601.2,7945.8,8333.3,8720.9,9108.5,9517.7,9948.3,10379,10809.7,11283.4,11800.2,12317,12833.8,13350.6,13867.4,14384.2,14901,15590,16451.4,17312.7,18174,19035.4,19896.7,20758,21619.3])),s=new Int32Array([0,8,16,24,32,36,40,44,48,56,64,72,80,86,92,98,104,110,116,122,128,134,140,146,152,159,166,173,180,189,198,207,216,226,236,246,256,268,280,292,304,316,328,340,352,372,392,412,432,452,472,492]),h=new Int32Array([0,32,64,96,8,40,72,104,12,44,76,108,20,52,84,116,26,58,90,122,128,160,192,224,134,166,198,230,141,173,205,237,150,182,214,246,256,288,320,352,384,416,448,480,268,300,332,364,396,428,460,492]),v=256,y=512,p=function(){for(var r=new Float32Array(32),e=0;e<32;e++)r[e]=Math.sin((e+.5)*Math.PI/64);return r}(),b=46,d=15,m=new Int32Array([0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),w=function(){var r=new Float32Array(16);r[0]=1;for(var e=1;e<=15;e++){var n=(1<<m[e]-1)-1;r[e]=1/(12*n*n)}return r}(),g=function(){for(var r=new Float32Array(15),e=0;e<15;e++)r[e]=10*Math.log10(w[e+1]/(w[e]||1));return r}(),k=function(){for(var r=new Float32Array(64),e=0;e<64;e++)r[e]=Math.pow(2,e/3-21);return r}(),S=function(){for(var r=new Float32Array(i),e=0;e<i;e++){var n=c[e];r[e]=13*Math.atan(76e-5*n)+3.5*Math.atan(Math.pow(n/7500,2))}return r}(),A=(function(){for(var r=new Float32Array(i),e=0;e<i;e++){var n=c[e]/1e3,t=3.64*Math.pow(n,-.8)-6.5*Math.exp(-.6*Math.pow(n-3.3,2))+.001*Math.pow(n,4);r[e]=Math.pow(10,Math.max(-10,Math.min(96,t))/10)}}(),function(){for(var r=new Float32Array(2704),e=0;e<i;e++)for(var n=0;n<i;n++){var t=S[e]-S[n],o=-100;t>=-3&&t<-1?o=17*(t+3)-70:t>=-1&&t<0?o=36*t:t>=0&&t<1?o=-27*t:t>=1&&t<8&&(o=4*-(t-1)-27),r[e*i+n]=o}}(),-200),M=2048,j=32767,O=32768,F=10/Math.LN10,T=Math.LN10/10,P=(function(){for(var r=new Float32Array(512),e=Math.sqrt(8/3),n=0;n<512;n++){var t=.5*(1-Math.cos(2*Math.PI*n/512))*e;r[n]=Math.round(1e4*t)/1e4}}(),new Uint8Array([0,1,2,4,5,7,8,10,12,14,16,19,22,26,31,36,44,49,54,60,67,74,80,92,105])),x=[[1,.85,13.87],[2,1.694,2.85],[3,2.525,-1.28],[4,3.337,-3.5],[5,4.124,-4.9],[6,4.882,-5.89],[7,5.608,-6.63],[8,6.301,-7.21],[9,6.959,-7.68],[10,7.581,-8.08],[11,8.169,-8.43],[12,8.723,-8.75],[13,9.244,-9.05],[14,9.734,-9.33],[15,10.195,-9.61],[16,10.629,-9.89],[17,11.037,-10.17],[18,11.421,-10.47],[19,11.783,-10.77],[20,12.125,-11.1],[21,12.448,-11.44],[22,12.753,-11.79],[23,13.042,-12.17],[24,13.317,-12.56],[25,13.577,-12.96],[26,13.825,-13.38],[27,14.062,-13.79],[28,14.288,-14.21],[29,14.504,-14.63],[30,14.711,-15.03],[31,14.909,-15.41],[32,15.1,-15.77],[33,15.283,-16.09],[34,15.46,-16.37],[35,15.631,-16.6],[36,15.795,-16.78],[37,15.955,-16.91],[38,16.11,-16.97],[39,16.26,-16.98],[40,16.405,-16.92],[41,16.547,-16.81],[42,16.685,-16.65],[43,16.82,-16.43],[44,16.951,-16.17],[45,17.079,-15.87],[46,17.204,-15.54],[47,17.327,-15.19],[48,17.447,-14.82],[50,17.68,-14.06],[52,17.904,-13.32],[54,18.121,-12.64],[56,18.331,-12.04],[58,18.534,-11.53],[60,18.73,-11.11],[62,18.922,-10.77],[64,19.108,-10.49],[66,19.288,-10.26],[68,19.464,-10.07],[70,19.635,-9.89],[72,19.801,-9.72],[74,19.963,-9.54],[76,20.12,-9.37],[78,20.273,-9.18],[80,20.421,-8.97],[82,20.565,-8.75],[84,20.705,-8.51],[86,20.84,-8.26],[88,20.971,-7.98],[90,21.099,-7.68],[92,21.222,-7.36],[94,21.341,-7.02],[96,21.457,-6.65],[100,21.676,-5.85],[104,21.882,-4.93],[108,22.074,-3.9],[112,22.253,-2.75],[116,22.42,-1.46],[120,22.575,-.03],[124,22.721,1.56],[128,22.857,3.31],[132,22.984,5.23],[136,23.102,7.34],[140,23.213,9.64],[144,23.317,12.15],[148,23.414,14.88],[152,23.506,17.84],[156,23.592,21.05],[160,23.673,24.52],[164,23.749,28.25],[168,23.821,32.27],[172,23.888,36.59],[176,23.952,41.22],[180,24.013,46.18],[184,24.07,51.49],[188,24.124,56],[192,24.176,56],[196,24.225,56],[200,24.271,56],[204,24.316,56],[208,24.358,56],[212,24.398,56],[216,24.436,56],[220,24.473,56],[224,24.508,56],[228,24.541,56],[232,24.573,56]],B=P.map(function(r){return x[r][0]-1}),I=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,64,64,65,65,66,66,67,67,68,68,69,69,70,70,71,71,71,71,72,72,72,72,73,73,73,73,74,74,74,74,75,75,75,75,76,76,76,76,77,77,77,77,78,78,78,78,79,79,79,79,80,80,80,80,81,81,81,81,82,82,82,82,83,83,83,83,84,84,84,84,85,85,85,85,86,86,86,86,87,87,87,87,88,88,88,88,89,89,89,89,90,90,90,90,91,91,91,91,92,92,92,92,93,93,93,93,94,94,94,94,95,95,95,95,96,96,96,96,97,97,97,97,98,98,98,98,99,99,99,99,100,100,100,100,101,101,101,101,102,102,102,102,103,103,103,103,104,104,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105]);function C(r,e,n,t){if(0!==t){var o=Math.floor(e/8),a=e%8;n&=(1<<t)-1;for(var i=0;i<t&&o<r.length;){var u=8-a,l=Math.min(t-i,u),f=n>>t-i-l&(1<<l)-1,c=(1<<l)-1<<u-l;r[o]=r[o]&~c|f<<u-l,i+=l,o++,a=0}}}function E(r,e,n){if(0===n)return 0;for(var t=Math.floor(e/8),o=e%8,a=0,i=0;i<n&&t<r.length;){var u=8-o,l=Math.min(n-i,u),f=(1<<l)-1;a=a<<l|r[t]>>u-l&f,i+=l,t++,o=0}return a}function _(r,e,n){var t=E(r,e,n);return t>=1<<n-1?t-(1<<n):t}function D(r){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},D(r)}function z(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,q(t.key),t)}}function q(r){var e=function(r,e){if("object"!=D(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=D(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==D(e)?e:e+""}function U(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=function(r,e){if(r){if("string"==typeof r)return L(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?L(r,e):void 0}}(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var t=0,o=function(){};return{s:o,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(r){throw r},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return i=r.done,r},e:function(r){u=!0,a=r},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function L(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function H(r){var e=new Uint8Array(a),n=new DataView(e.buffer),t=l.indexOf(r.nBfu),o=2-r.blockSizeMode[0]<<14|2-r.blockSizeMode[1]<<12|3-r.blockSizeMode[2]<<10|t<<5;n.setUint16(0,o,!1);for(var i=16,u=0;u<r.nBfu;u++)C(e,i,r.wordLengthIndices[u],4),i+=4;for(var f=0;f<r.nBfu;f++)C(e,i,r.scaleFactorIndices[f],6),i+=6;for(var c=0;c<r.nBfu;c++){var s=m[r.wordLengthIndices[c]];if(s>0){var h,v=U(r.quantizedCoefficients[c]);try{for(v.s();!(h=v.n()).done;){var y=h.value;C(e,i,y<0?y+(1<<s):y,s),i+=s}}catch(r){v.e(r)}finally{v.f()}}}return e[209]=0,e[210]=0,e[211]=0,e}function W(r){if(r.length!==a)throw new Error("Frame must be ".concat(a," bytes"));for(var e=new DataView(r.buffer,r.byteOffset,r.byteLength).getUint16(0,!1),n=[2-(e>>14&3),2-(e>>12&3),3-(e>>10&3)],t=l[e>>5&7],o=16,i=new Int32Array(t),f=0;f<t;f++)i[f]=E(r,o,4),o+=4;for(var c=new Int32Array(t),s=0;s<t;s++)c[s]=E(r,o,6),o+=6;for(var h=[],v=0;v<t;v++){var y=m[i[v]],p=u[v],b=new Int32Array(p);if(y>0)for(var d=0;d<p;d++)b[d]=_(r,o,y),o+=y;h.push(b)}return{nBfu:t,scaleFactorIndices:c,wordLengthIndices:i,quantizedCoefficients:h,blockSizeMode:n}}var G=function(){return r=function r(){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r)},n=[{key:"createHeader",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=new Uint8Array(o),i=new DataView(a.buffer);a.set(t,0);var u=(new TextEncoder).encode(r);return a.set(u.subarray(0,Math.min(u.length,255)),4),i.setUint32(260,e,!0),a[264]=n,a}},{key:"parseHeader",value:function(r){if(r.length!==o)throw new Error("Header must be ".concat(o," bytes"));for(var e=0;e<t.length;e++)if(r[e]!==t[e])throw new Error("Invalid AEA file");var n=new DataView(r.buffer,r.byteOffset,r.byteLength),a=r.indexOf(0,4),i=-1===a?256:a-4;return{title:(new TextDecoder).decode(r.subarray(4,4+i)),frameCount:n.getUint32(260,!0),channelCount:r[264]}}}],(e=null)&&z(r.prototype,e),n&&z(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,e,n}();function N(r){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},N(r)}function V(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),n.push.apply(n,t)}return n}function R(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?V(Object(n),!0).forEach(function(e){$(r,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):V(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))})}return r}function $(r,e,n){return(e=X(e))in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function J(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||function(r,e){if(r){if("string"==typeof r)return K(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(r,e):void 0}}(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function Q(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,X(t.key),t)}}function X(r){var e=function(r,e){if("object"!=N(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=N(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==N(e)?e:e+""}var Y=function(){return r=function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this.values={transientThresholdLow:1,transientThresholdMid:1.5,transientThresholdHigh:2,normalizationDb:68},this.metadata={transientThresholdLow:{default:this.values.transientThresholdLow,name:"Low Band Transient Threshold",description:"Controls the transient detection threshold for the low frequency band (0-5.5kHz). Lower values make detection more sensitive, triggering short blocks more easily. Higher values require stronger transients.",range:[.01,2],step:.01},transientThresholdMid:{default:this.values.transientThresholdMid,name:"Mid Band Transient Threshold",description:"Controls the transient detection threshold for the mid frequency band (5.5-11kHz). Lower values make detection more sensitive, triggering short blocks more easily. Higher values require stronger transients.",range:[.01,3],step:.01},transientThresholdHigh:{default:this.values.transientThresholdHigh,name:"High Band Transient Threshold",description:"Controls the transient detection threshold for the high frequency band (11-22kHz). Lower values make detection more sensitive, triggering short blocks more easily. Higher values require stronger transients.",range:[.01,4],step:.01},normalizationDb:{default:this.values.normalizationDb,name:"Normalization Target (dB)",description:"Sets the target maximum level in decibels for psychoacoustic model normalization. This affects the dynamic range allocation and quantization precision. Higher values may increase bitrate but preserve more detail.",range:[60,80],step:1}},e&&this.setOptions(e)},e=[{key:"setOptions",value:function(r){for(var e=0,n=Object.entries(r);e<n.length;e++){var t=J(n[e],2),o=t[0],a=t[1];o in this.values&&this.setValue(o,a)}}},{key:"setValue",value:function(r,e){if(!(r in this.metadata))throw new Error("Unknown option: ".concat(r));var n=J(this.metadata[r].range,2),t=n[0],o=n[1];if(e<t||e>o)throw new Error("Value for ".concat(r," must be between ").concat(t," and ").concat(o,", got ").concat(e));this.values[r]=e}},{key:"getValue",value:function(r){if(!(r in this.values))throw new Error("Unknown option: ".concat(r));return this.values[r]}},{key:"transientThresholdLow",get:function(){return this.values.transientThresholdLow}},{key:"transientThresholdMid",get:function(){return this.values.transientThresholdMid}},{key:"transientThresholdHigh",get:function(){return this.values.transientThresholdHigh}},{key:"normalizationDb",get:function(){return this.values.normalizationDb}},{key:"getMetadata",value:function(r){return this.metadata[r]}},{key:"getAllMetadata",value:function(){return R({},this.metadata)}},{key:"reset",value:function(){for(var r=0,e=Object.entries(this.metadata);r<e.length;r++){var n=J(e[r],2),t=n[0],o=n[1];this.values[t]=o.default}}},{key:"toObject",value:function(){return{values:R({},this.values),metadata:R({},this.metadata)}}}],e&&Q(r.prototype,e),n&&Q(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,e,n}();function Z(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||function(r,e){if(r){if("string"==typeof r)return rr(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rr(r,e):void 0}}(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rr(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function er(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,n="function"==typeof Symbol?Symbol:{},t=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,t,o,a){var l=t&&t.prototype instanceof u?t:u,f=Object.create(l.prototype);return nr(f,"_invoke",function(n,t,o){var a,u,l,f=0,c=o||[],s=!1,h={p:0,n:0,v:r,a:v,f:v.bind(r,4),d:function(e,n){return a=e,u=0,l=r,h.n=n,i}};function v(n,t){for(u=n,l=t,e=0;!s&&f&&!o&&e<c.length;e++){var o,a=c[e],v=h.p,y=a[2];n>3?(o=y===t)&&(l=a[(u=a[4])?5:(u=3,3)],a[4]=a[5]=r):a[0]<=v&&((o=n<2&&v<a[1])?(u=0,h.v=t,h.n=a[1]):v<y&&(o=n<3||a[0]>t||t>y)&&(a[4]=n,a[5]=t,h.n=y,u=0))}if(o||n>1)return i;throw s=!0,t}return function(o,c,y){if(f>1)throw TypeError("Generator is already running");for(s&&1===c&&v(c,y),u=c,l=y;(e=u<2?r:l)||!s;){a||(u?u<3?(u>1&&(h.n=-1),v(u,l)):h.n=l:h.v=l);try{if(f=2,a){if(u||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,u<2&&(u=0)}else 1===u&&(e=a.return)&&e.call(a),u<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),u=1);a=r}else if((e=(s=h.n<0)?l:n.call(t,h))!==i)break}catch(e){a=r,u=1,l=e}finally{f=1}}return{value:e,done:s}}}(n,o,a),!0),f}var i={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var c=[][t]?e(e([][t]())):(nr(e={},t,function(){return this}),e),s=f.prototype=u.prototype=Object.create(c);function h(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,f):(r.__proto__=f,nr(r,o,"GeneratorFunction")),r.prototype=Object.create(s),r}return l.prototype=f,nr(s,"constructor",f),nr(f,"constructor",l),l.displayName="GeneratorFunction",nr(f,o,"GeneratorFunction"),nr(s),nr(s,o,"Generator"),nr(s,t,function(){return this}),nr(s,"toString",function(){return"[object Generator]"}),(er=function(){return{w:a,m:h}})()}function nr(r,e,n,t){var o=Object.defineProperty;try{o({},"",{})}catch(r){o=0}nr=function(r,e,n,t){if(e)o?o(r,e,{value:n,enumerable:!t,configurable:!t,writable:!t}):r[e]=n;else{var a=function(e,n){nr(r,e,function(r){return this._invoke(e,n,r)})};a("next",0),a("throw",1),a("return",2)}},nr(r,e,n,t)}function tr(r){return new ir(r,0)}function or(r){return function(){return new ar(r.apply(this,arguments))}}function ar(r){var e,n;function t(e,n){try{var a=r[e](n),i=a.value,u=i instanceof ir;Promise.resolve(u?i.v:i).then(function(n){if(u){var l="return"===e?"return":"next";if(!i.k||n.done)return t(l,n);n=r[l](n).value}o(a.done?"return":"normal",n)},function(r){t("throw",r)})}catch(r){o("throw",r)}}function o(r,o){switch(r){case"return":e.resolve({value:o,done:!0});break;case"throw":e.reject(o);break;default:e.resolve({value:o,done:!1})}(e=e.next)?t(e.key,e.arg):n=null}this._invoke=function(r,o){return new Promise(function(a,i){var u={key:r,arg:o,resolve:a,reject:i,next:null};n?n=n.next=u:(e=n=u,t(r,o))})},"function"!=typeof r.return&&(this.return=void 0)}function ir(r,e){this.v=r,this.k=e}function ur(r){var e,n,t,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,t=Symbol.iterator);o--;){if(n&&null!=(e=r[n]))return e.call(r);if(t&&null!=(e=r[t]))return new lr(e.call(r));n="@@asyncIterator",t="@@iterator"}throw new TypeError("Object is not async iterable")}function lr(r){function e(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var e=r.done;return Promise.resolve(r.value).then(function(r){return{value:r,done:e}})}return lr=function(r){this.s=r,this.n=r.next},lr.prototype={s:null,n:null,next:function(){return e(this.n.apply(this.s,arguments))},return:function(r){var n=this.s.return;return void 0===n?Promise.resolve({value:r,done:!0}):e(n.apply(this.s,arguments))},throw:function(r){var n=this.s.return;return void 0===n?Promise.reject(r):e(n.apply(this.s,arguments))}},new lr(r)}function fr(r){throw new Error(r)}function cr(r){for(var e=arguments.length,n=new Array(e>1?e-1:0),t=1;t<e;t++)n[t-1]=arguments[t];var o=n.map(function(e){return e(r)});return function(r){return o.reduce(function(r,e){return e(r)},r)}}function sr(r){return hr.apply(this,arguments)}function hr(){return hr=or(function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:266;return er().m(function t(){var o,a,i,u,l,f,c,s,h;return er().w(function(t){for(;;)switch(t.n){case 0:o=n,a=!1,i=!1,t.p=1,l=ur(r);case 2:return t.n=3,tr(l.next());case 3:if(!(a=!(f=t.v).done)){t.n=7;break}if(c=f.value,(o=c.length)!==n){t.n=5;break}return t.n=4,c;case 4:t.n=6;break;case 5:return(s=new Float32Array(n)).set(c),t.n=6,s;case 6:a=!1,t.n=2;break;case 7:t.n=9;break;case 8:t.p=8,h=t.v,i=!0,u=h;case 9:if(t.p=9,t.p=10,!a||null==l.return){t.n=11;break}return t.n=11,tr(l.return());case 11:if(t.p=11,!i){t.n=12;break}throw u;case 12:return t.f(11);case 13:return t.f(9);case 14:if(!(n-o<e)){t.n=15;break}return t.n=15,new Float32Array(n);case 15:return t.a(2)}},t,null,[[10,,11,13],[1,8,9,14]])})()}),hr.apply(this,arguments)}function vr(r){return yr.apply(this,arguments)}function yr(){return yr=or(function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:266;return er().m(function t(){var o,a,i,u,l,f,c,s,h,v,y;return er().w(function(t){for(;;)switch(t.n){case 0:o=new Float32Array(0),a=!1,i=!1,u=!1,t.p=1,f=ur(r);case 2:return t.n=3,tr(f.next());case 3:if(!(i=!(c=t.v).done)){t.n=10;break}if(s=c.value,a){t.n=5;break}if(a=!0,!(e>=s.length)){t.n=4;break}return e-=s.length,t.a(3,9);case 4:return o=s.slice(e),e=0,t.a(3,9);case 5:(h=new Float32Array(o.length+s.length)).set(o),h.set(s,o.length),v=0;case 6:if(!(v+n<=h.length)){t.n=8;break}return t.n=7,h.slice(v,v+n);case 7:v+=n,t.n=6;break;case 8:o=h.slice(v);case 9:i=!1,t.n=2;break;case 10:t.n=12;break;case 11:t.p=11,y=t.v,u=!0,l=y;case 12:if(t.p=12,t.p=13,!i||null==f.return){t.n=14;break}return t.n=14,tr(f.return());case 14:if(t.p=14,!u){t.n=15;break}throw l;case 15:return t.f(14);case 16:return t.f(12);case 17:if(!(o.length>0)){t.n=18;break}return t.n=18,o;case 18:return t.a(2)}},t,null,[[13,,14,16],[1,11,12,17]])})()}),yr.apply(this,arguments)}function pr(r){for(var e=arguments.length,n=new Array(e>1?e-1:0),t=1;t<e;t++)n[t-1]=arguments[t];return function(){var e=or(er().m(function e(t){var o,a,i,u,l,f,c,s,h,v,y,p,b,d,m,w,g,k,S,A,M,j,O,F;return er().w(function(e){for(;;)switch(e.n){case 0:o=[],a=[],i=!1,u=!1,e.p=1,f=ur(t);case 2:return e.n=3,tr(f.next());case 3:if(!(i=!(c=e.v).done)){e.n=5;break}s=Z(c.value,2),h=s[0],v=s[1],o.push(h),a.push(v);case 4:i=!1,e.n=2;break;case 5:e.n=7;break;case 6:e.p=6,O=e.v,u=!0,l=O;case 7:if(e.p=7,e.p=8,!i||null==f.return){e.n=9;break}return e.n=9,tr(f.return());case 9:if(e.p=9,!u){e.n=10;break}throw l;case 10:return e.f(9);case 11:return e.f(7);case 12:y=or(er().m(function r(){var e,n,t;return er().w(function(r){for(;;)switch(r.n){case 0:e=0,n=o;case 1:if(!(e<n.length)){r.n=3;break}return t=n[e],r.n=2,t;case 2:e++,r.n=1;break;case 3:return r.a(2)}},r)}))(),p=or(er().m(function r(){var e,n,t;return er().w(function(r){for(;;)switch(r.n){case 0:e=0,n=a;case 1:if(!(e<n.length)){r.n=3;break}return t=n[e],r.n=2,t;case 2:e++,r.n=1;break;case 3:return r.a(2)}},r)}))(),b=r.apply(void 0,[y].concat(n)),d=r.apply(void 0,[p].concat(n)),m=!1,w=!1,e.p=13,k=ur(b);case 14:return e.n=15,tr(k.next());case 15:if(!(m=!(S=e.v).done)){e.n=18;break}return A=S.value,e.n=16,tr(d.next());case 16:if(M=e.v,void 0===(j=M.value)){e.n=17;break}return e.n=17,[A,j];case 17:m=!1,e.n=14;break;case 18:e.n=20;break;case 19:e.p=19,F=e.v,w=!0,g=F;case 20:if(e.p=20,e.p=21,!m||null==k.return){e.n=22;break}return e.n=22,tr(k.return());case 22:if(e.p=22,!w){e.n=23;break}throw g;case 23:return e.f(22);case 24:return e.f(20);case 25:return e.a(2)}},e,null,[[21,,22,24],[13,19,20,25],[8,,9,11],[1,6,7,12]])}));return function(r){return e.apply(this,arguments)}}()}ar.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},ar.prototype.next=function(r){return this._invoke("next",r)},ar.prototype.throw=function(r){return this._invoke("throw",r)},ar.prototype.return=function(r){return this._invoke("return",r)};for(var br=pr(sr),dr=pr(vr),mr=new Float32Array([-1461907e-11,-9205479e-11,-56157569e-12,.00030117269,.0002422519,-.00085293897,-.0005205574,.0020340169,.00078333891,-.0042153862,-.00075614988,.0078402944,-61169922e-12,-.01344162,.0024626821,.021736089,-.007801671,-.034090221,.01880949,.054326009,-.043596379,-.099384367,.13207909,.46424159]),wr=new Float32Array(48),gr=0;gr<24;gr++)wr[gr]=2*mr[gr],wr[47-gr]=2*mr[gr];for(var kr=new Float32Array(24),Sr=new Float32Array(24),Ar=0;Ar<24;Ar++)kr[Ar]=wr[2*Ar],Sr[Ar]=wr[2*Ar+1];function Mr(r,e){var n,t,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=r.length,i=a>>1,u=null!==(n=null==o||null===(t=o.delay)||void 0===t?void 0:t[a])&&void 0!==n?n:fr("qmfAnalysis: workBuffer is required");u.set(e),u.set(r,e.length);for(var l=new Float32Array(i),f=new Float32Array(i),c=0;c<i;c++){for(var s=0,h=0,v=2*c,y=0;y<24;y++)s+=u[v+47-2*y]*kr[y],h+=u[v+46-2*y]*Sr[y];l[c]=s+h,f[c]=s-h}return{lowBand:l,highBand:f,newDelay:u.slice(-46)}}function jr(r,e,n){var t,o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=r.length,u=2*i,l=null!==(t=null==a||null===(o=a.delay)||void 0===o?void 0:o[u])&&void 0!==t?t:fr("qmfSynthesis: workBuffer is required");l.set(n);for(var f=0;f<i;f++){var c=r[f],s=e[f],h=b+2*f;l[h]=.5*(c+s),l[h+1]=.5*(c-s)}for(var v=new Float32Array(u),y=0;y<i;y++){for(var p=2*y,d=0,m=0,w=0;w<24;w++){var g=p+2*w;d+=l[g]*kr[w],m+=l[g+1]*Sr[w]}v[2*y]=m,v[2*y+1]=d}return{output:v,newDelay:l.slice(-46)}}function Or(r){return Or="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Or(r)}function Fr(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,Tr(t.key),t)}}function Tr(r){var e=function(r,e){if("object"!=Or(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=Or(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==Or(e)?e:e+""}var Pr=function(){return r=function r(){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r)},n=[{key:"fft",value:function(r,e){var n=r.length;if(1!==n){for(var t=Math.log2(n),o=0;o<n;o++){for(var a=0,i=o,u=0;u<t;u++)a=a<<1|1&i,i>>=1;if(a>o){var l=[r[a],r[o]];r[o]=l[0],r[a]=l[1];var f=[e[a],e[o]];e[o]=f[0],e[a]=f[1]}}for(var c=2;c<=n;c<<=1)for(var s=c>>1,h=-2*Math.PI/c,v=Math.cos(h),y=Math.sin(h),p=0;p<n;p+=c)for(var b=1,d=0,m=0;m<s;m++){var w=p+m,g=w+s,k=r[w],S=e[w],A=r[g],M=e[g],j=A*b-M*d,O=A*d+M*b;r[w]=k+j,e[w]=S+O,r[g]=k-j,e[g]=S-O;var F=b*v-d*y;d=b*y+d*v,b=F}}}}],(e=null)&&Fr(r.prototype,e),n&&Fr(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,e,n}();function xr(r){return xr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},xr(r)}function Br(r,e,n){return e=Cr(e),function(r,e){if(e&&("object"==xr(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}(r)}(r,Ir()?Reflect.construct(e,n||[],Cr(r).constructor):e.apply(r,n))}function Ir(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(r){}return(Ir=function(){return!!r})()}function Cr(r){return Cr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Cr(r)}function Er(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&_r(r,e)}function _r(r,e){return _r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,e){return r.__proto__=e,r},_r(r,e)}function Dr(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,qr(t.key),t)}}function zr(r,e,n){return e&&Dr(r.prototype,e),n&&Dr(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}function qr(r){var e=function(r,e){if("object"!=xr(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=xr(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==xr(e)?e:e+""}function Ur(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var Lr=zr(function r(e,n){Ur(this,r),this.size=e,this.halfSize=e>>1,this.quarterSize=e>>2,this.fftSize=this.halfSize>>1;var t=2*Math.PI/(8*e),o=2*Math.PI/e,a=Math.sqrt(n/e);this.sinCosTable=new Float32Array(this.halfSize);for(var i=0;i<this.quarterSize;i++){var u=o*i+t;this.sinCosTable[2*i]=a*Math.cos(u),this.sinCosTable[2*i+1]=a*Math.sin(u)}}),Hr=function(r){function e(r,n){return Ur(this,e),Br(this,e,[r,n])}return Er(e,r),zr(e,[{key:"transform",value:function(r){var e,n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=null==t?void 0:t[this.fftSize],a=null!==(e=null==o?void 0:o.real)&&void 0!==e?e:fr("mdct: real is required"),i=null!==(n=null==o?void 0:o.imag)&&void 0!==n?n:fr("mdct: imag is required"),u=this.quarterSize,l=3*u;a.fill(0),i.fill(0);for(var f=0;f<u;f+=2){var c=l+f,s=u+f,h=u-1-f,v=r[l-1-f]+r[c],y=r[s]-r[h],p=this.sinCosTable[f],b=this.sinCosTable[f+1];a[f>>1]=v*p+y*b,i[f>>1]=y*p-v*b}for(var d=u;d<this.halfSize;d+=2){var m=d>>1,w=d-u,g=u+d,k=5*u-1-d,S=r[l-1-d]-r[w],A=r[g]+r[k],M=this.sinCosTable[d],j=this.sinCosTable[d+1];a[m]=S*M+A*j,i[m]=A*M-S*j}Pr.fft(a,i);for(var O=new Float32Array(this.halfSize),F=0;F<this.fftSize;F++){var T=this.sinCosTable[2*F],P=this.sinCosTable[2*F+1],x=a[F],B=i[F];O[2*F]=-x*T-B*P,O[this.halfSize-1-2*F]=-x*P+B*T}return O}}])}(Lr),Wr=function(r){function e(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return Ur(this,e),Br(this,e,[r,n||r])}return Er(e,r),zr(e,[{key:"transform",value:function(r){var e,n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=null==t?void 0:t[this.fftSize],a=null!==(e=null==o?void 0:o.real)&&void 0!==e?e:fr("imdct: real is required"),i=null!==(n=null==o?void 0:o.imag)&&void 0!==n?n:fr("imdct: imag is required"),u=this.quarterSize,l=3*u;a.fill(0),i.fill(0);for(var f=0;f<this.fftSize;f++){var c=2*f,s=r[c],h=r[this.halfSize-1-c],v=this.sinCosTable[c],y=this.sinCosTable[c+1];a[f]=-2*(h*y+s*v),i[f]=-2*(h*v-s*y)}Pr.fft(a,i);for(var p=new Float32Array(this.size),b=0;b<this.fftSize/2;b++){var d=2*b,m=this.sinCosTable[d],w=this.sinCosTable[d+1],g=a[b],k=i[b],S=g*m+k*w,A=g*w-k*m;p[l-1-d]=S,p[l+d]=S,p[u+d]=A,p[u-1-d]=-A}for(var M=this.fftSize/2;M<this.fftSize;M++){var j=2*(M-this.fftSize/2)+u,O=2*M,F=this.sinCosTable[O],T=this.sinCosTable[O+1],P=a[M],x=i[M],B=P*F+x*T,I=P*T-x*F;p[l-1-j]=B,p[j-u]=-B,p[u+j]=I,p[5*u-1-j]=I}return p}}])}(Lr),Gr=new Hr(64,.5),Nr=new Hr(v,.5),Vr=new Hr(y,1),Rr=new Wr(64,256),$r=new Wr(v,1024),Jr=new Wr(y,1024);function Kr(r,e,n){for(var t=r.length,o=new Float32Array(2*t),a=0;a<t;a++){var i=n[a],u=n[2*t-1-a],l=r[a],f=e[t-1-a];o[a]=l*u-f*i,o[2*t-1-a]=l*i+f*u}return o}function Qr(r){for(var e=0,n=0;n<r.length;n++)e=Math.max(e,Math.abs(r[n]));if(0===e)return 0;for(var t=0,o=k.length-1;t<o;){var a=t+o>>1;e<=k[a]?o=a:t=a+1}return t}function Xr(r,e,n){if(0===n||0===e)return new Int32Array(r.length);for(var t=(1<<n-1)-1,o=t/k[e],a=new Int32Array(r.length),i=0;i<r.length;i++){var u=r[i]*o;a[i]=Math.max(-t-1,Math.min(t,Math.round(u)))}return a}function Yr(r,e,n){if(0===n||0===e)return new Float32Array(r.length);for(var t=k[e]/((1<<n-1)-1),o=new Float32Array(r.length),a=0;a<r.length;a++)o[a]=r[a]*t;return o}function Zr(r){return function(r){if(Array.isArray(r))return ne(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||ee(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function re(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=ee(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var t=0,o=function(){};return{s:o,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(r){throw r},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return i=r.done,r},e:function(r){u=!0,a=r},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function ee(r,e){if(r){if("string"==typeof r)return ne(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ne(r,e):void 0}}function ne(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function te(r,n,t,o){var a=function(r,e,n){for(var t=new Float32Array(n),o=0;o<n;o++){var a=r[o],i=e[o];if(0!==i){for(var u=0,l=0;l<i;l++)u+=a[l]*a[l];t[o]=u>0?10*Math.log10(u/i):A}else t[o]=A}return t}(n,t,o),u=function(r){var n=new Float32Array(i);n.fill(A);for(var t=2*(r.length-1),o=e/t,a=0;a<i;a++){var u=c[a],l=Math.round(u/o);l>=0&&l<r.length&&(n[a]=r[l])}return n}(r.maskingThreshold||r.globalThreshold),f=function(r,e,n){for(var t=new Float32Array(n),o=0;o<n;o++)t[o]=r[o]<=A?-1/0:r[o]-e[o];return t}(a,u,o),s=function(r,e,n){var t=r.some(function(r){return r>0});return t?function(r,e){for(var n=[],t=0;t<e;t++)r[t]>0&&n.push({index:t,smr:r[t]});if(n.sort(function(r,e){return e.smr-r.smr}),0===n.length)return l[l.length-1];for(var o=[],a=0,i=0;i<n.length;i++)a+=n[i].smr,o.push(a);var u,f=re(l);try{for(f.s();!(u=f.n()).done;){var c=u.value;if(!(c>e)){var s=n.slice(0,Math.min(n.length,c)).map(function(r){return r.index});if(Math.max.apply(Math,Zr(s).concat([0]))<c){var h=Math.min(c-1,n.length-1);if(h>=n.length-1)return c;var v=o[h],y=o[o.length-1],p=n.length-h-1;if(p>0)if((y-v)/p<.1*(v/(h+1)))return c}}}}catch(r){f.e(r)}finally{f.f()}return l[l.length-1]}(r,n):function(r,e,n){for(var t=-1,o=n-1;o>=0;o--)if(e[o]>A&&r[o]>-1/0){t=o;break}var a,i=re(l);try{for(i.s();!(a=i.n()).done;){var u=a.value;if(u>t)return u}}catch(r){i.e(r)}finally{i.f()}return l[l.length-1]}(r,e,n)}(f,a,o),h=function(r,e,n,t){var o=new Int32Array(r).fill(0),a=function(r,e){for(var n=[],t=0;t<e;t++)r[t]>-1/0&&n.push({bfu:t,priority:r[t]});for(var o=Math.floor(n.length/2)-1;o>=0;o--)ae(n,o);return{isEmpty:function(){return 0===n.length},peek:function(){return n[0]},pop:function(){return function(r){var e=r[0],n=r.pop();r.length>0&&(r[0]=n,ae(r,0));return e}(n)},updateTop:function(){return ae(n,0)}}}(e,r);for(;!a.isEmpty();){var i=a.peek(),u=o[i.bfu];if(u>=d)a.pop();else{var l=oe(i.bfu,u,n);l<=t?(t-=l,o[i.bfu]++,i.priority+=g[u],a.updateTop()):a.pop()}}return o}(s,f,t,1656-10*s);return{bfuCount:s,allocation:h}}function oe(r,e,n){var t=m[e]*n[r];return m[e+1]*n[r]-t}function ae(r,e){for(var n=e,t=r[n],o=r.length;;){var a=2*n+1,i=2*n+2,u=n,l=t.priority;if(a<o&&r[a].priority>l&&(u=a,l=r[a].priority),i<o&&r[i].priority>l&&(u=i),u===n)break;r[n]=r[u],n=u}r[n]=t}function ie(r){return ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ie(r)}function ue(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,fe(t.key),t)}}function le(r,e,n){return e&&ue(r.prototype,e),n&&ue(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}function fe(r){var e=function(r,e){if("object"!=ie(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=ie(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==ie(e)?e:e+""}var ce=le(function r(){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this.transformBuffers={64:new Float32Array(64),128:new Float32Array(128),256:new Float32Array(256),512:new Float32Array(512)},this.qmfWorkBuffers={delay:{128:new Float32Array(174),256:new Float32Array(302),512:new Float32Array(558)},highBandDelay:{128:new Float32Array(167),256:new Float32Array(295)}},this.qmfDelays={lowBand:new Float32Array(b),midBand:new Float32Array(b),highBand:new Float32Array(39)},this.transientDetection={prevLowCoeffs:new Float32Array(128),prevMidCoeffs:new Float32Array(128),prevHighCoeffs:new Float32Array(256)},this.mdctBuffers={16:{real:new Float32Array(16),imag:new Float32Array(16)},64:{real:new Float32Array(64),imag:new Float32Array(64)},128:{real:new Float32Array(128),imag:new Float32Array(128)}},this.mdctOverlap=[new Float32Array(32),new Float32Array(32),new Float32Array(32)],this.imdctOverlap=[new Float32Array(256),new Float32Array(256),new Float32Array(512)],this.reversalBuffers={32:new Float32Array(32),128:new Float32Array(128),256:new Float32Array(256)},this.psychoAnalysis={flags:new Uint8Array(1024),threshold:new Float32Array(1025)},this.bfuData=new Array(i);for(var e=0;e<i;e++)this.bfuData[e]=new Float32Array(20)});function se(r,e){var n=new Float32Array(e),t=new Float32Array(e),o=Math.min(r.length,e);n.set(r.subarray(0,o)),Pr.fft(n,t);for(var a=new Float32Array(e/2),i=0;i<e/2;i++)a[i]=Math.sqrt(n[i]*n[i]+t[i]*t[i]);return a}function he(r,e,n){if(!e)return!1;var t=function(r,e){var n=function(r,e){for(var n=0,t=0,o=0;o<r.length;o++){var a=Math.abs(r[o]),i=a-Math.abs(e[o]);i>0&&(n+=i),t+=a*a}var u=Math.sqrt(t)||1e-6;return n/u}(r,e),t=ve(r),o=ve(e),a=Math.abs(t-o),i=ye(r),u=ye(e),l=Math.abs(i-u),f=function(r,e){for(var n=0,t=0,o=0;o<r.length;o++)n+=r[o]*r[o],t+=e[o]*e[o];n=Math.max(n,1e-10),t=Math.max(t,1e-10);var a=10*Math.log10(n/t);return Math.max(0,a)}(r,e);return{spectralFlux:n,flatnessChange:a,hfChange:l,energyChange:f}}(r,e),o=function(r){var e=r.spectralFlux,n=r.flatnessChange,t=r.hfChange,o=r.energyChange,a=e,i=Math.sqrt(n),u=Math.log1p(10*t)/Math.log1p(10),l=Math.min(o/30,1);return(a+i+u+l)/4}(t);return o>n}function ve(r){for(var e=0,n=0,t=0,o=0;o<r.length;o++){var a=Math.abs(r[o]);a>1e-10&&(e+=Math.log(a),n+=a,t++)}if(0===t)return 0;var i=Math.exp(e/t),u=n/t;return u>1e-10?i/u:0}function ye(r){for(var e=Math.floor(r.length/2),n=0,t=0,o=0;o<e;o++)n+=r[o]*r[o];for(var a=e;a<r.length;a++)t+=r[a]*r[a];var i=n+t;return i>0?t/i:0}function pe(r){return function(r){if(Array.isArray(r))return me(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||de(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function be(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=de(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var t=0,o=function(){};return{s:o,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(r){throw r},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return i=r.done,r},e:function(r){u=!0,a=r},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function de(r,e){if(r){if("string"==typeof r)return me(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?me(r,e):void 0}}function me(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function we(r){return r>0?F*Math.log(r):A}function ge(r){return Math.exp(r*T)}function ke(r,e,n,t){var o=e/512,a=function(r){var e=new Float32Array(512);e.set(r.subarray(0,128),0);for(var n=0;n<128;n++)e[128+n]=r[255-n];for(var t=0;t<256;t++)e[256+t]=r[511-t];return e}(r),i=function(r,e,n){for(var t=e/2,o=new Float32Array(t+1),a=new Float32Array(512),i=0,u=0;u<512;u++){var l=r[u]*r[u];a[u]=l,i=Math.max(i,l)}var f=1/(i||1),c=-1/0;if(512===e){for(var s=0;s<256;s++){var h=.5*(a[2*s]+a[2*s+1])*f;o[s]=h>0?we(h):A,c=Math.max(c,o[s])}o[256]=o[255],c=Math.max(c,o[256])}else for(var v=512/e,y=0;y<=t;y++){var p=y*v,b=Math.floor(p),d=p-b,m=(b<511?a[b]*(1-d)+a[b+1]*d:a[511])*f;o[y]=m>0?we(m):A,c=Math.max(c,o[y])}for(var w=n-c,g=0;g<o.length;g++)o[g]>A&&(o[g]+=w);return o}(a,e,t),u=function(r,e,n){var t=e.flags;t.fill(0);var o=function(r,e,n){for(var t=[],o=Math.floor(249*n),a=2*(r.length-1),i=Math.floor(63*n),u=Math.floor(127*n),l=Math.floor(150*n),f=1;f<a/2-1&&f<=o;f++)if(!(r[f]<=r[f-1]||r[f]<r[f+1])){var c=Se(f,i,u,l);if(c&&Ae(r,f,c)){var s=we(ge(r[f-1])+ge(r[f])+ge(r[f+1]));t.push({index:f,spl:s}),Me(e,f,c)}}return{flags:e,tonalList:t}}(r,t,n),a=o.tonalList,i=function(r,e){for(var n=[],t=0;t<P.length-1;t++){var o=x[P[t]][0]-1,a=je(e,r,o,x[P[t+1]][0]-1,P[t]);if(a.powerDb>A){var i=Math.round(o+a.centroidOffset);1===r[i=Math.max(0,Math.min(i,r.length-1))]&&(i=Math.min(i+1,r.length-1)),n.push({index:i,spl:a.powerDb}),r[i]=2}}return{flags:r,nonTonalList:n}}(t,r),u=i.nonTonalList,l=function(r,e,n){var t,o=function(r){var e=r.index;return e<I.length&&r.spl>=x[I[e]][2]},a=function(e){e.index<r.length&&(r[e.index]=3)},i=[],u=be(e);try{for(u.s();!(t=u.n()).done;){var l=t.value;o(l)?i.push(l):a(l)}}catch(r){u.e(r)}finally{u.f()}var f,c=[],s=be(n);try{for(s.s();!(f=s.n()).done;){var h=f.value;o(h)?c.push(h):a(h)}}catch(r){s.e(r)}finally{s.f()}return{tonalList:i,nonTonalList:c}}(t,a,u);return{flags:t,tonalMaskers:l.tonalList,nonTonalMaskers:l.nonTonalList}}(i,n,o),l=u.flags,f=u.tonalMaskers,c=u.nonTonalMaskers,s=function(r,e,n,t,o){var a=new Float32Array(P.length);return function(r,e,n,t){for(var o=0;o<P.length;o++){var a=x[P[o]],i=a[1],u=ge(a[2]);u+=Oe(r,e,i,!0),u+=Oe(r,n,i,!1),t[o]=we(u)}}(r,e,n,a),function(r,e,n){for(var t=.25,o=n/2,a=B,i=0,u=0;u<=o;u++)if(u<=a[0])e[u]=r[0];else if(u>=a[a.length-1])e[u]=r[r.length-1];else{for(;i<a.length-1&&a[i+1]<u;)i++;var l=a[i],f=a[i+1],c=r[i],s=r[i+1],h=f-l;if(h>0){var v=c+(s-c)*((u-l)/h),y=Math.abs(s-c)*t;e[u]=v+y}else e[u]=c}}(a,t,o),t}(i,f,c,n.threshold,e);return{psd:i,tonalMaskers:f,nonTonalMaskers:c,globalThreshold:s,flags:l}}function Se(r,e,n,t){return r>2&&r<e?[-2,2]:r>=e&&r<n?[-3,-2,2,3]:r>=n&&r<t?[-6,-5,-4,-3,-2,2,3,4,5,6]:null}function Ae(r,e,n){var t,o=be(n);try{for(o.s();!(t=o.n()).done;){var a=e+t.value;if(a>=0&&a<r.length&&r[e]-r[a]<7)return!1}}catch(r){o.e(r)}finally{o.f()}return!0}function Me(r,e,n){r[e]=1;var t,o=be([].concat(pe(n),[-1,1]));try{for(o.s();!(t=o.n()).done;){var a=e+t.value;a>=0&&a<r.length&&a!==e&&(r[a]=3)}}catch(r){o.e(r)}finally{o.f()}}function je(r,e,n,t,o){for(var a=0,i=0,u=x[o][1],l=n;l<t&&l<e.length;l++)if(0===e[l]){var f=ge(r[l]);a+=f,i+=f*(x[I[l]][1]-u),e[l]=3}return{powerDb:we(a),centroidOffset:a>0?i/a*(t-n):0}}function Oe(r,e,n,t){var o,a=0,i=be(e);try{for(i.s();!(o=i.n()).done;){var u=o.value,l=u.index;if(!(l>=I.length)){var f=x[I[l]][1],c=n-f;if(!(c<-3||c>=8))a+=ge(Fe(u.spl,r[l],f,c,t))}}}catch(r){i.e(r)}finally{i.f()}return a}function Fe(r,e,n,t,o){var a=.4*e+6;return r+(o?-1.525-.275*n-4.5:-1.525-.175*n-.5)+(t<-1?17*(t+1)-a:t<0?a*t:t<1?-17*t:-(t-1)*(17-.15*e)-17)}function Te(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||function(r,e){if(r){if("string"==typeof r)return Pe(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pe(r,e):void 0}}(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pe(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function xe(r){var e,n=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("qmfAnalysisStage: bufferPool is required"),t=n.qmfDelays;return function(r){var e=Mr(r,t.lowBand,n.qmfWorkBuffers);t.lowBand=e.newDelay;var o=Mr(e.lowBand,t.midBand,n.qmfWorkBuffers);t.midBand=o.newDelay;var a=n.qmfWorkBuffers.highBandDelay[e.highBand.length];a.set(t.highBand),a.set(e.highBand,t.highBand.length);var i=a.slice(0,e.highBand.length);return t.highBand=a.slice(e.highBand.length),{bands:[o.lowBand,o.highBand,i]}}}function Be(r){var e,n,t=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("blockSelectorStage: bufferPool is required"),o=null!==(n=null==r?void 0:r.options)&&void 0!==n?n:fr("blockSelectorStage: options is required");return function(r){var e=r.bands,n=Te(e,3),a=n[0],i=n[1],u=n[2],l=se(a,256),f=se(i,256),c=se(u,512),s=he(l,t.transientDetection.prevLowCoeffs,o.transientThresholdLow),h=he(f,t.transientDetection.prevMidCoeffs,o.transientThresholdMid),v=he(c,t.transientDetection.prevHighCoeffs,o.transientThresholdHigh);return t.transientDetection.prevLowCoeffs=l,t.transientDetection.prevMidCoeffs=f,t.transientDetection.prevHighCoeffs=c,{bands:e,blockModes:[s?2:0,h?2:0,v?3:0]}}}function Ie(r){var e,n=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("mdctStage: bufferPool is required"),t=n.mdctOverlap;return function(r){for(var e=r.bands,o=r.blockModes,a=r.originalFrame,i=new Float32Array(512),u=0;u<3;u++)for(var l=e[u],f=2===u?256:128,c=1<<o[u],s=1===c?f:32,h=1===c?2===u?Vr:Nr:Gr,b=1===c?2===u?y:v:64,d=1===c?2===u?112:48:0,m=0===u?0:1===u?128:256,w=0;w<c;w++){var g=w*s,k=n.transformBuffers[b];k.fill(0),k.set(t[u],d);for(var S=0;S<32;S++){var A=l[g+s-32+S];t[u][S]=p[S]*A,l[g+s-32+S]=A*p[31-S]}k.set(l.subarray(g,g+s),d+32);var M=h.transform(k,n.mdctBuffers);if(u>0){var j=n.reversalBuffers[M.length];j.fill(0);for(var O=0;O<M.length;O++)j[O]=M[M.length-1-O];M=j}i.set(M,m+g)}return{bands:e,coefficients:i,blockModes:o,originalFrame:a}}}function Ce(r){var e,n,t=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("quantizationStage: bufferPool is required"),o=null!==(n=null==r?void 0:r.options)&&void 0!==n?n:fr("quantizationStage: options is required");return function(r){for(var e=r.coefficients,n=r.blockModes,a=function(r,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,t=null!=n?n:[],o=[],a=0,i=0,l=0;l<3;l++){for(var c=a,v=2===l?256:128,y=l<2?f[l]:u.length,p=0===e[l]?s:h;i<y;){var b=u[i],d=p[i]-c,m=n?n[i]:new Float32Array(b);if(m.fill(0),d>=0&&d<v)for(var w=Math.min(d+b,v)-d,g=0;g<w;g++)m[g]=r[c+d+g];n||t.push(m),o.push(b),i++}a+=v}return{bfuData:t,bfuSizes:o,bfuCount:i}}(e,n,t.bfuData),i=a.bfuData,l=a.bfuSizes,c=a.bfuCount,v=te(ke(e,M,t.psychoAnalysis,o.normalizationDb),i,l,c),y=v.bfuCount,p=v.allocation,b=new Int32Array(y),d=[],w=0;w<y;w++){var g=i[w].subarray(0,l[w]),k=p[w],S=m[k];b[w]=Qr(g);var A=Xr(g,b[w],S);d.push(A)}return{nBfu:y,scaleFactorIndices:b,wordLengthIndices:p.slice(0,y),quantizedCoefficients:d,blockSizeMode:n}}}function Ee(){return cr({options:arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Y,bufferPool:arguments.length>1&&void 0!==arguments[1]?arguments[1]:new ce},xe,Be,Ie,Ce)}function _e(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||function(r,e){if(r){if("string"==typeof r)return De(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?De(r,e):void 0}}(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function De(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function ze(){return function(r){for(var e=new Float32Array(512),n=r.nBfu,t=r.scaleFactorIndices,o=r.wordLengthIndices,a=r.quantizedCoefficients,i=r.blockSizeMode,u=0;u<n;u++){var l=m[o[u]],c=0;u>=f[0]&&(c=1),u>=f[1]&&(c=2);var v=0===i[c]?s[u]:h[u];if(l>0){var y=Yr(a[u],t[u],l);e.set(y,v)}}return[e,i]}}function qe(r){var e,n=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("imdctStage: bufferPool is required"),t=n.imdctOverlap;return function(r){for(var e=_e(r,2),o=e[0],a=e[1],i=[],u=[o.subarray(0,128),o.subarray(128,256),o.subarray(256,512)],l=0;l<3;l++){var f=2===l?256:128,c=1<<a[l],s=1===c?f:32,h=1===c?2===l?Jr:$r:Rr,v=n.transformBuffers[512];v.fill(0);for(var y=t[l],b=y.slice(2*f-16,2*f),d=0,m=0,w=0;w<c;w++){var g=u[l].slice(m,m+s);if(l>0){for(var k=n.reversalBuffers[g.length],S=0;S<g.length;S++)k[S]=g[g.length-1-S];g=k}for(var A=h.transform(g,n.mdctBuffers),M=A.length/4,j=0;j<s;j++)v[d+j]=A[M+j];var O=Kr(b.slice(0,16),v.slice(d,d+16),p);y.set(O,d);for(var F=0;F<16;F++)b[F]=v[d+16+F];d+=s,m+=s}if(1===c)for(var T=2===l?240:112,P=0;P<T;P++)y[32+P]=v[16+P];for(var x=0;x<16;x++)y[2*f-16+x]=v[f-16+x];i.push(y.slice(0,f))}return i}}function Ue(r){var e,n=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("qmfSynthesisStage: bufferPool is required"),t=n.qmfDelays;return function(r){var e=n.qmfWorkBuffers.highBandDelay[r[2].length];e.set(t.highBand),e.set(r[2]);var o=e.slice(0,2*r[0].length);t.highBand=e.slice(2*r[0].length);var a=jr(r[0],r[1],t.midBand,n.qmfWorkBuffers);t.midBand=a.newDelay;var i=jr(a.output,o,t.lowBand,n.qmfWorkBuffers);return t.lowBand=i.newDelay,i.output}}function Le(){return cr({bufferPool:arguments.length>0&&void 0!==arguments[0]?arguments[0]:new ce},ze,qe,Ue)}function He(r){return He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},He(r)}function We(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=Re(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var t=0,o=function(){};return{s:o,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(r){throw r},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return i=r.done,r},e:function(r){u=!0,a=r},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function Ge(r,e,n,t,o,a,i){try{var u=r[a](i),l=u.value}catch(r){return void n(r)}u.done?e(l):Promise.resolve(l).then(t,o)}function Ne(r){return function(){var e=this,n=arguments;return new Promise(function(t,o){var a=r.apply(e,n);function i(r){Ge(a,t,o,i,u,"next",r)}function u(r){Ge(a,t,o,i,u,"throw",r)}i(void 0)})}}function Ve(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||Re(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Re(r,e){if(r){if("string"==typeof r)return $e(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$e(r,e):void 0}}function $e(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function Je(r){if(null!=r){var e=r["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length))return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}}}throw new TypeError(He(r)+" is not iterable")}function Ke(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,n="function"==typeof Symbol?Symbol:{},t=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,t,o,a){var l=t&&t.prototype instanceof u?t:u,f=Object.create(l.prototype);return Qe(f,"_invoke",function(n,t,o){var a,u,l,f=0,c=o||[],s=!1,h={p:0,n:0,v:r,a:v,f:v.bind(r,4),d:function(e,n){return a=e,u=0,l=r,h.n=n,i}};function v(n,t){for(u=n,l=t,e=0;!s&&f&&!o&&e<c.length;e++){var o,a=c[e],v=h.p,y=a[2];n>3?(o=y===t)&&(l=a[(u=a[4])?5:(u=3,3)],a[4]=a[5]=r):a[0]<=v&&((o=n<2&&v<a[1])?(u=0,h.v=t,h.n=a[1]):v<y&&(o=n<3||a[0]>t||t>y)&&(a[4]=n,a[5]=t,h.n=y,u=0))}if(o||n>1)return i;throw s=!0,t}return function(o,c,y){if(f>1)throw TypeError("Generator is already running");for(s&&1===c&&v(c,y),u=c,l=y;(e=u<2?r:l)||!s;){a||(u?u<3?(u>1&&(h.n=-1),v(u,l)):h.n=l:h.v=l);try{if(f=2,a){if(u||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,u<2&&(u=0)}else 1===u&&(e=a.return)&&e.call(a),u<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),u=1);a=r}else if((e=(s=h.n<0)?l:n.call(t,h))!==i)break}catch(e){a=r,u=1,l=e}finally{f=1}}return{value:e,done:s}}}(n,o,a),!0),f}var i={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var c=[][t]?e(e([][t]())):(Qe(e={},t,function(){return this}),e),s=f.prototype=u.prototype=Object.create(c);function h(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,f):(r.__proto__=f,Qe(r,o,"GeneratorFunction")),r.prototype=Object.create(s),r}return l.prototype=f,Qe(s,"constructor",f),Qe(f,"constructor",l),l.displayName="GeneratorFunction",Qe(f,o,"GeneratorFunction"),Qe(s),Qe(s,o,"Generator"),Qe(s,t,function(){return this}),Qe(s,"toString",function(){return"[object Generator]"}),(Ke=function(){return{w:a,m:h}})()}function Qe(r,e,n,t){var o=Object.defineProperty;try{o({},"",{})}catch(r){o=0}Qe=function(r,e,n,t){if(e)o?o(r,e,{value:n,enumerable:!t,configurable:!t,writable:!t}):r[e]=n;else{var a=function(e,n){Qe(r,e,function(r){return this._invoke(e,n,r)})};a("next",0),a("throw",1),a("return",2)}},Qe(r,e,n,t)}function Xe(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,Ye(t.key),t)}}function Ye(r){var e=function(r,e){if("object"!=He(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=He(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==He(e)?e:e+""}function Ze(r){return function(){return new rn(r.apply(this,arguments))}}function rn(r){var e,n;function t(e,n){try{var a=r[e](n),i=a.value,u=i instanceof tn;Promise.resolve(u?i.v:i).then(function(n){if(u){var l="return"===e?"return":"next";if(!i.k||n.done)return t(l,n);n=r[l](n).value}o(a.done?"return":"normal",n)},function(r){t("throw",r)})}catch(r){o("throw",r)}}function o(r,o){switch(r){case"return":e.resolve({value:o,done:!0});break;case"throw":e.reject(o);break;default:e.resolve({value:o,done:!1})}(e=e.next)?t(e.key,e.arg):n=null}this._invoke=function(r,o){return new Promise(function(a,i){var u={key:r,arg:o,resolve:a,reject:i,next:null};n?n=n.next=u:(e=n=u,t(r,o))})},"function"!=typeof r.return&&(this.return=void 0)}function en(r){return new tn(r,0)}function nn(r){var e={},n=!1;function t(e,t){return n=!0,t=new Promise(function(n){n(r[e](t))}),{done:!1,value:new tn(t,1)}}return e["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},e.next=function(r){return n?(n=!1,r):t("next",r)},"function"==typeof r.throw&&(e.throw=function(r){if(n)throw n=!1,r;return t("throw",r)}),"function"==typeof r.return&&(e.return=function(r){return n?(n=!1,r):t("return",r)}),e}function tn(r,e){this.v=r,this.k=e}function on(r){var e,n,t,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,t=Symbol.iterator);o--;){if(n&&null!=(e=r[n]))return e.call(r);if(t&&null!=(e=r[t]))return new an(e.call(r));n="@@asyncIterator",t="@@iterator"}throw new TypeError("Object is not async iterable")}function an(r){function e(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var e=r.done;return Promise.resolve(r.value).then(function(r){return{value:r,done:e}})}return an=function(r){this.s=r,this.n=r.next},an.prototype={s:null,n:null,next:function(){return e(this.n.apply(this.s,arguments))},return:function(r){var n=this.s.return;return void 0===n?Promise.resolve({value:r,done:!0}):e(n.apply(this.s,arguments))},throw:function(r){var n=this.s.return;return void 0===n?Promise.reject(r):e(n.apply(this.s,arguments))}},new an(r)}rn.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},rn.prototype.next=function(r){return this._invoke("next",r)},rn.prototype.throw=function(r){return this._invoke("throw",r)},rn.prototype.return=function(r){return this._invoke("return",r)};var un=function(){function r(){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r)}return t=r,i=null,u=[{key:"encodeStream",value:function(e){return Ze(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ke().m(function t(){var o,a,i,u;return Ke().w(function(t){for(;;)switch(t.n){case 0:if(o=n.channelCount,a=void 0===o?1:o,i=n.onProgress,u=n.encoderOptions,1!==a){t.n=2;break}return t.d(Je(nn(on(r._encodeMonoStream(e,i,u)))),1);case 1:case 3:t.n=5;break;case 2:if(2!==a){t.n=4;break}return t.d(Je(nn(on(r._encodeStereoStream(e,i,u)))),3);case 4:throw new Error("Unsupported channel count: ".concat(a));case 5:return t.a(2)}},t)})()}).apply(this,arguments)}},{key:"_encodeMonoStream",value:function(r,e,n){return Ze(Ke().m(function t(){var o,a,i,u,l,f,c,s,h,v,y;return Ke().w(function(t){for(;;)switch(t.n){case 0:o=n||new Y,a=Ee(o),i=0,u=!1,l=!1,t.p=1,c=on(sr(r));case 2:return t.n=3,en(c.next());case 3:if(!(u=!(s=t.v).done)){t.n=6;break}return h=s.value,v=a(h),t.n=4,v;case 4:e&&e(i++);case 5:u=!1,t.n=2;break;case 6:t.n=8;break;case 7:t.p=7,y=t.v,l=!0,f=y;case 8:if(t.p=8,t.p=9,!u||null==c.return){t.n=10;break}return t.n=10,en(c.return());case 10:if(t.p=10,!l){t.n=11;break}throw f;case 11:return t.f(10);case 12:return t.f(8);case 13:return t.a(2)}},t,null,[[9,,10,12],[1,7,8,13]])}))()}},{key:"_encodeStereoStream",value:function(r,e,n){return Ze(Ke().m(function t(){var o,a,i,u,l,f,c,s,h,v,y,p,b,d,m;return Ke().w(function(t){for(;;)switch(t.n){case 0:o=n||new Y,a=Ee(o),i=Ee(o),u=0,l=!1,f=!1,t.p=1,s=on(br(r));case 2:return t.n=3,en(s.next());case 3:if(!(l=!(h=t.v).done)){t.n=7;break}return v=Ve(h.value,2),y=v[0],p=v[1],b=a(y),d=i(p),t.n=4,b;case 4:return t.n=5,d;case 5:e&&e(u++);case 6:l=!1,t.n=2;break;case 7:t.n=9;break;case 8:t.p=8,m=t.v,f=!0,c=m;case 9:if(t.p=9,t.p=10,!l||null==s.return){t.n=11;break}return t.n=11,en(s.return());case 11:if(t.p=11,!f){t.n=12;break}throw c;case 12:return t.f(11);case 13:return t.f(9);case 14:return t.a(2)}},t,null,[[10,,11,13],[1,8,9,14]])}))()}},{key:"decodeStream",value:function(e){return Ze(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ke().m(function t(){var o,a,i;return Ke().w(function(t){for(;;)switch(t.n){case 0:if(o=n.channelCount,a=void 0===o?1:o,i=n.onProgress,1!==a){t.n=2;break}return t.d(Je(nn(on(r._decodeMonoStream(e,i)))),1);case 1:case 3:t.n=5;break;case 2:if(2!==a){t.n=4;break}return t.d(Je(nn(on(r._decodeStereoStream(e,i)))),3);case 4:throw new Error("Unsupported channel count: ".concat(a));case 5:return t.a(2)}},t)})()}).apply(this,arguments)}},{key:"_decodeMonoStream",value:function(r,e){return Ze(Ke().m(function n(){var t,o,a;return Ke().w(function(n){for(;;)switch(n.n){case 0:return t=Le(),o=0,a=function(){var n=Ze(Ke().m(function n(){var a,i,u,l,f,c,s,h;return Ke().w(function(n){for(;;)switch(n.n){case 0:a=!1,i=!1,n.p=1,l=on(r);case 2:return n.n=3,en(l.next());case 3:if(!(a=!(f=n.v).done)){n.n=6;break}return c=f.value,s=t(c),n.n=4,s;case 4:e&&e(o++);case 5:a=!1,n.n=2;break;case 6:n.n=8;break;case 7:n.p=7,h=n.v,i=!0,u=h;case 8:if(n.p=8,n.p=9,!a||null==l.return){n.n=10;break}return n.n=10,en(l.return());case 10:if(n.p=10,!i){n.n=11;break}throw u;case 11:return n.f(10);case 12:return n.f(8);case 13:return n.a(2)}},n,null,[[9,,10,12],[1,7,8,13]])}));return function(){return n.apply(this,arguments)}}(),n.d(Je(nn(on(vr(a())))),1);case 1:return n.a(2)}},n)}))()}},{key:"_decodeStereoStream",value:function(e,n){return Ze(Ke().m(function t(){var o,a,i,u;return Ke().w(function(t){for(;;)switch(t.n){case 0:return o=Le(),a=Le(),i=0,u=function(){var t=Ze(Ke().m(function t(){var u,l,f,c,s,h,v,y,p,b,d,m,w,g,k;return Ke().w(function(t){for(;;)switch(t.n){case 0:u=null,l=!0,f=!1,c=!1,t.p=1,h=on(e);case 2:return t.n=3,en(h.next());case 3:if(!(f=!(v=t.v).done)){t.n=8;break}if(y=v.value,!l){t.n=4;break}u=y,t.n=6;break;case 4:return p=y,b=o(u),d=a(p),t.n=5,[b,d];case 5:n&&n(i++);case 6:l=!l;case 7:f=!1,t.n=2;break;case 8:t.n=10;break;case 9:t.p=9,k=t.v,c=!0,s=k;case 10:if(t.p=10,t.p=11,!f||null==h.return){t.n=12;break}return t.n=12,en(h.return());case 12:if(t.p=12,!c){t.n=13;break}throw s;case 13:return t.f(12);case 14:return t.f(10);case 15:if(l||!u){t.n=17;break}return m=r._createDummyFrame(),w=o(u),g=a(m),t.n=16,[w,g];case 16:n&&n(i++);case 17:return t.a(2)}},t,null,[[11,,12,14],[1,9,10,15]])}));return function(){return t.apply(this,arguments)}}(),t.d(Je(nn(on(dr(u())))),1);case 1:return t.a(2)}},t)}))()}},{key:"frameBufferToFrames",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;return Ke().m(function n(){var t,o,a,i,u,l,f,c,s,h,v,y,p,b,d,m;return Ke().w(function(n){for(;;)switch(n.n){case 0:if(1!==(t=r.length)){n.n=4;break}o=Ve(r,1),a=o[0],i=0;case 1:if(!(i<a.length)){n.n=3;break}for(u=new Float32Array(e),l=Math.min(i+e,a.length),f=0;f<l-i;f++)u[f]=a[i+f];return n.n=2,u;case 2:i+=e,n.n=1;break;case 3:n.n=9;break;case 4:if(2!==t){n.n=8;break}c=Ve(r,2),s=c[0],h=c[1],v=Math.max(s.length,h.length),y=0;case 5:if(!(y<v)){n.n=7;break}for(p=new Float32Array(e),b=new Float32Array(e),d=Math.min(y+e,v),m=0;m<d-y;m++)p[m]=y+m<s.length?s[y+m]:0,b[m]=y+m<h.length?h[y+m]:0;return n.n=6,[p,b];case 6:y+=e,n.n=5;break;case 7:n.n=9;break;case 8:throw new Error("Unsupported channel count: ".concat(t));case 9:return n.a(2)}},n)})()}},{key:"collectFrames",value:(c=Ne(Ke().m(function r(e){var n,t,o,a,i,u,l,f;return Ke().w(function(r){for(;;)switch(r.n){case 0:n=[],t=!1,o=!1,r.p=1,i=on(e);case 2:return r.n=3,i.next();case 3:if(!(t=!(u=r.v).done)){r.n=5;break}l=u.value,n.push(l);case 4:t=!1,r.n=2;break;case 5:r.n=7;break;case 6:r.p=6,f=r.v,o=!0,a=f;case 7:if(r.p=7,r.p=8,!t||null==i.return){r.n=9;break}return r.n=9,i.return();case 9:if(r.p=9,!o){r.n=10;break}throw a;case 10:return r.f(9);case 11:return r.f(7);case 12:return r.a(2,n)}},r,null,[[8,,9,11],[1,6,7,12]])})),function(r){return c.apply(this,arguments)})},{key:"_createDummyFrame",value:function(){return{nBfu:0,blockSizeMode:[0,0,0],scaleFactorIndices:new Int32Array(0),wordLengthIndices:new Int32Array(0),quantizedCoefficients:[]}}},{key:"createAeaBlob",value:(f=Ne(Ke().m(function r(e){var n,t,o,a,i,u,l,f,c,s,h,v,y,p,b,d,m,w,g,k,S=arguments;return Ke().w(function(r){for(;;)switch(r.n){case 0:t=(n=S.length>1&&void 0!==S[1]?S[1]:{}).title,o=void 0===t?"encoded by atrac1.js":t,a=n.channelCount,i=void 0===a?1:a,u=[],l=!1,f=!1,r.p=1,s=on(e);case 2:return r.n=3,s.next();case 3:if(!(l=!(h=r.v).done)){r.n=5;break}v=h.value,u.push(H(v));case 4:l=!1,r.n=2;break;case 5:r.n=7;break;case 6:r.p=6,k=r.v,f=!0,c=k;case 7:if(r.p=7,r.p=8,!l||null==s.return){r.n=9;break}return r.n=9,s.return();case 9:if(r.p=9,!f){r.n=10;break}throw c;case 10:return r.f(9);case 11:return r.f(7);case 12:for(y=G.createHeader(o,u.length,i),p=y.length+u.reduce(function(r,e){return r+e.length},0),(b=new Uint8Array(p)).set(y,0),d=y.length,m=0,w=u;m<w.length;m++)g=w[m],b.set(g,d),d+=g.length;return r.a(2,new Blob([b],{type:"application/octet-stream"}))}},r,null,[[8,,9,11],[1,6,7,12]])})),function(r){return f.apply(this,arguments)})},{key:"createWavBlob",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=Array.isArray(n)?n:[n];if(1===t)return r._createMonoWavBlob(a,o);if(2===t)return r._createStereoWavBlob(a,o);throw new Error("Unsupported channel count: ".concat(t))}},{key:"_createMonoWavBlob",value:function(e,n){var t=e.reduce(function(r,e){return r+e.length},0),o=new ArrayBuffer(44+2*t),a=new DataView(o);r._writeWavHeader(a,t,1,n);var i,u=44,l=We(e);try{for(l.s();!(i=l.n()).done;)for(var f=i.value,c=0;c<f.length;c++){var s=Math.max(-1,Math.min(1,f[c]));a.setInt16(u,s<0?s*O:s*j,!0),u+=2}}catch(r){l.e(r)}finally{l.f()}return new Blob([o],{type:"audio/wav"})}},{key:"_createStereoWavBlob",value:function(e,n){var t=e.reduce(function(r,e){var n=Ve(e,2),t=n[0],o=n[1];return r+Math.max(t.length,o.length)},0),o=new ArrayBuffer(44+2*t*2),a=new DataView(o);r._writeWavHeader(a,t,2,n);var i,u=44,l=We(e);try{for(l.s();!(i=l.n()).done;)for(var f=Ve(i.value,2),c=f[0],s=f[1],h=Math.max(c.length,s.length),v=0;v<h;v++){var y=v<c.length?c[v]:0,p=v<s.length?s[v]:0,b=Math.max(-1,Math.min(1,y)),d=Math.max(-1,Math.min(1,p));a.setInt16(u,b<0?b*O:b*j,!0),u+=2,a.setInt16(u,d<0?d*O:d*j,!0),u+=2}}catch(r){l.e(r)}finally{l.f()}return new Blob([o],{type:"audio/wav"})}},{key:"_writeWavHeader",value:function(r,e,n,t){var o=t*n*2,a=2*n,i=e*a,u=36+i,l=0,f=function(e,n){for(var t=0;t<n.length;t++)r.setUint8(e+t,n.charCodeAt(t))};f(l,"RIFF"),l+=4,r.setUint32(l,u,!0),f(l+=4,"WAVE"),f(l+=4,"fmt "),l+=4,r.setUint32(l,16,!0),l+=4,r.setUint16(l,1,!0),l+=2,r.setUint16(l,n,!0),l+=2,r.setUint32(l,t,!0),l+=4,r.setUint32(l,o,!0),l+=4,r.setUint16(l,a,!0),l+=2,r.setUint16(l,16,!0),f(l+=2,"data"),l+=4,r.setUint32(l,i,!0)}},{key:"parseAeaBlob",value:(l=Ne(Ke().m(function r(e){var n,t,i,u,l,f;return Ke().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,e.arrayBuffer();case 1:for(n=r.v,t=new Uint8Array(n.slice(0,o)),i=G.parseHeader(t),u=[],l=o;l<n.byteLength;l+=a)(f=new Uint8Array(n.slice(l,l+a))).length===a&&u.push(f);return r.a(2,{info:i,frameData:u})}},r)})),function(r){return l.apply(this,arguments)})},{key:"deserializedFrameStream",value:Ke().m(function r(e){var n,t,o,a;return Ke().w(function(r){for(;;)switch(r.n){case 0:n=We(e),r.p=1,n.s();case 2:if((t=n.n()).done){r.n=4;break}return o=t.value,r.n=3,W(o);case 3:r.n=2;break;case 4:r.n=6;break;case 5:r.p=5,a=r.v,n.e(a);case 6:return r.p=6,n.f(),r.f(6);case 7:return r.a(2)}},r,null,[[1,5,6,7]])})},{key:"assemblePcmFrames",value:function(r,e){if(1===e){var n,t=r.reduce(function(r,e){return r+e.length},0),o=new Float32Array(t),a=0,i=We(r);try{for(i.s();!(n=i.n()).done;){var u=n.value;o.set(u,a),a+=u.length}}catch(r){i.e(r)}finally{i.f()}return o}if(2===e){var l,f=r.reduce(function(r,e){var n=Ve(e,2),t=n[0],o=n[1];return r+Math.max(t.length,o.length)},0),c=new Float32Array(2*f),s=0,h=We(r);try{for(h.s();!(l=h.n()).done;)for(var v=Ve(l.value,2),y=v[0],p=v[1],b=Math.max(y.length,p.length),d=0;d<b;d++)c[2*s]=d<y.length?y[d]:0,c[2*s+1]=d<p.length?p[d]:0,s++}catch(r){h.e(r)}finally{h.f()}return c}throw new Error("Unsupported channel count: ".concat(e))}}],i&&Xe(t.prototype,i),u&&Xe(t,u),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,i,u,l,f,c}();function ln(r){return ln="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ln(r)}function fn(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),n.push.apply(n,t)}return n}function cn(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?fn(Object(n),!0).forEach(function(e){sn(r,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):fn(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))})}return r}function sn(r,e,n){return(e=function(r){var e=function(r,e){if("object"!=ln(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=ln(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==ln(e)?e:e+""}(e))in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function hn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,n="function"==typeof Symbol?Symbol:{},t=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,t,o,a){var l=t&&t.prototype instanceof u?t:u,f=Object.create(l.prototype);return vn(f,"_invoke",function(n,t,o){var a,u,l,f=0,c=o||[],s=!1,h={p:0,n:0,v:r,a:v,f:v.bind(r,4),d:function(e,n){return a=e,u=0,l=r,h.n=n,i}};function v(n,t){for(u=n,l=t,e=0;!s&&f&&!o&&e<c.length;e++){var o,a=c[e],v=h.p,y=a[2];n>3?(o=y===t)&&(l=a[(u=a[4])?5:(u=3,3)],a[4]=a[5]=r):a[0]<=v&&((o=n<2&&v<a[1])?(u=0,h.v=t,h.n=a[1]):v<y&&(o=n<3||a[0]>t||t>y)&&(a[4]=n,a[5]=t,h.n=y,u=0))}if(o||n>1)return i;throw s=!0,t}return function(o,c,y){if(f>1)throw TypeError("Generator is already running");for(s&&1===c&&v(c,y),u=c,l=y;(e=u<2?r:l)||!s;){a||(u?u<3?(u>1&&(h.n=-1),v(u,l)):h.n=l:h.v=l);try{if(f=2,a){if(u||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,u<2&&(u=0)}else 1===u&&(e=a.return)&&e.call(a),u<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),u=1);a=r}else if((e=(s=h.n<0)?l:n.call(t,h))!==i)break}catch(e){a=r,u=1,l=e}finally{f=1}}return{value:e,done:s}}}(n,o,a),!0),f}var i={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var c=[][t]?e(e([][t]())):(vn(e={},t,function(){return this}),e),s=f.prototype=u.prototype=Object.create(c);function h(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,f):(r.__proto__=f,vn(r,o,"GeneratorFunction")),r.prototype=Object.create(s),r}return l.prototype=f,vn(s,"constructor",f),vn(f,"constructor",l),l.displayName="GeneratorFunction",vn(f,o,"GeneratorFunction"),vn(s),vn(s,o,"Generator"),vn(s,t,function(){return this}),vn(s,"toString",function(){return"[object Generator]"}),(hn=function(){return{w:a,m:h}})()}function vn(r,e,n,t){var o=Object.defineProperty;try{o({},"",{})}catch(r){o=0}vn=function(r,e,n,t){if(e)o?o(r,e,{value:n,enumerable:!t,configurable:!t,writable:!t}):r[e]=n;else{var a=function(e,n){vn(r,e,function(r){return this._invoke(e,n,r)})};a("next",0),a("throw",1),a("return",2)}},vn(r,e,n,t)}function yn(r,e,n,t,o,a,i){try{var u=r[a](i),l=u.value}catch(r){return void n(r)}u.done?e(l):Promise.resolve(l).then(t,o)}function pn(r){return function(){var e=this,n=arguments;return new Promise(function(t,o){var a=r.apply(e,n);function i(r){yn(a,t,o,i,u,"next",r)}function u(r){yn(a,t,o,i,u,"throw",r)}i(void 0)})}}function bn(r,e,n){return dn.apply(this,arguments)}function dn(){return(dn=pn(hn().m(function r(e,n,t){var o,a,i,u,l,f,c;return hn().w(function(r){for(;;)switch(r.n){case 0:return t=null!=t?t:"encoded by carta1",r.p=1,o=un.frameBufferToFrames(e),a=e.length,i=new Y(n),u=un.encodeStream(o,{channelCount:a,encoderOptions:i}),r.n=2,un.collectFrames(u);case 2:return l=r.v,r.n=3,un.createAeaBlob(l,{title:t,channelCount:a});case 3:return f=r.v,r.a(2,{aeaBlob:f});case 4:throw r.p=4,c=r.v,console.error("Worker encode error:",c),c;case 5:return r.a(2)}},r,null,[[1,4]])}))).apply(this,arguments)}function mn(){return(new Y).toObject()}function wn(r){return gn.apply(this,arguments)}function gn(){return(gn=pn(hn().m(function r(n){var t,o,a,i,u,l,f,c,s;return hn().w(function(r){for(;;)switch(r.n){case 0:return t=n.header,o=n.aeaData,(a=n.info)?i=cn({sampleRate:e},a):t?(u=G.parseHeader(t),i=cn({sampleRate:e},u)):i={channelCount:2,sampleRate:e},l=un.deserializedFrameStream(o),f=un.decodeStream(l,{channelCount:i.channelCount}),r.n=1,un.collectFrames(f);case 1:return c=r.v,s=un.createWavBlob(c,i.channelCount,i.sampleRate),r.a(2,{wavBlob:s,info:i})}},r)}))).apply(this,arguments)}self.onmessage=function(){var r=pn(hn().m(function r(e){var n,t,o,a,i,u,l,f,c,s,h;return hn().w(function(r){for(;;)switch(r.n){case 0:n=e.data,t=n.jobId,o=n.type,a=n.pcmData,i=n.aea,u=n.options,l=n.title,f=n.blob,r.p=1,s=o,r.n="encode"===s?2:"decode"===s?4:"parseAea"===s?6:"getEncoderOptions"===s?8:9;break;case 2:return r.n=3,bn(a,u,l);case 3:return c=r.v,r.a(3,10);case 4:return r.n=5,wn(i);case 5:return c=r.v,r.a(3,10);case 6:return r.n=7,un.parseAeaBlob(f);case 7:return c=r.v,r.a(3,10);case 8:return c=mn(),r.a(3,10);case 9:throw new Error("Unknown worker message type: ".concat(o));case 10:self.postMessage({jobId:t,result:c}),r.n=12;break;case 11:r.p=11,h=r.v,console.error("Worker error:",h),self.postMessage({jobId:t,error:h.message});case 12:return r.a(2)}},r,null,[[1,11]])}));return function(e){return r.apply(this,arguments)}}();var kn=self;for(var Sn in r)kn[Sn]=r[Sn];r.__esModule&&Object.defineProperty(kn,"__esModule",{value:!0})})();
2
+ //# sourceMappingURL=carta1-worker.min.js.map