Begin Promise based implementation

master
William Toohey 10 years ago
parent 5c325b8d41
commit c75dd94c3d
  1. 101
      js/HuesCore.js
  2. 56
      js/ResourceManager.js
  3. 98
      js/SoundManager.js
  4. 208
      js/mp3/mp3-min.js
  5. 10
      js/mp3/mp3-worker.js

@ -123,54 +123,58 @@ function HuesCore(defaults) {
this.uiArray = [];
this.lastSongArray = [];
this.lastImageArray = [];
this.uiArray.push(new RetroUI(), new WeedUI(), new ModernUI(), new XmasUI(), new HalloweenUI());
this.settings = new HuesSettings(defaults);
this.autoSong = localStorage["autoSong"];
this.resourceManager = new Resources(this);
this.soundManager = new SoundManager(this);
if(!this.soundManager.canUse) {
this.error(this.soundManager.errorMsg);
return;
}
setInterval(function() {
this.loopCheck();
}.bind(this), 1000);
this.renderer = new HuesCanvas("waifu", this.soundManager.context, this);
this.autoSong = localStorage["autoSong"];
this.visualiser = document.createElement("canvas");
this.visualiser.id = "visualiser";
this.visualiser.height = "64";
this.vCtx = this.visualiser.getContext("2d");
this.uiArray.push(new RetroUI(), new WeedUI(), new ModernUI(), new XmasUI(), new HalloweenUI());
this.settings.connectCore(this);
// Update with merged
defaults = this.settings.defaults;
this.setColour(this.colourIndex);
if(defaults.load) {
this.resourceManager.addAll(defaults.respacks, function() {
document.getElementById("preloadHelper").classList.add("loaded");
if(defaults.firstImage) {
this.setImageByName(defaults.firstImage);
this.soundManager = new SoundManager(this);
this.soundManager.init().then(function(response) {
setInterval(function() {
this.loopCheck();
}.bind(this), 1000);
this.renderer = new HuesCanvas("waifu", this.soundManager.context, this);
this.settings.connectCore(this);
// Update with merged
defaults = this.settings.defaults;
this.setColour(this.colourIndex);
this.animationLoop();
if(defaults.load) {
return this.resourceManager.addAll(defaults.respacks, function(progress) {
var prog = document.getElementById("preMain");
var scale = Math.floor(progress * defaults.preloadMax);
var padding = defaults.preloadMax.toString(defaults.preloadBase).length;
prog.textContent = defaults.preloadPrefix + (Array(padding).join("0")+scale.toString(defaults.preloadBase)).slice(-padding);
});
} else {
document.getElementById("preloadHelper").style.display = "none";
return;
}
}.bind(this)).then(function(response) {
document.getElementById("preloadHelper").classList.add("loaded");
if(defaults.firstImage) {
this.setImageByName(defaults.firstImage);
} else {
this.setImage(0);
}
if(defaults.autoplay) {
if(defaults.firstSong) {
this.setSongByName(defaults.firstSong);
} else {
this.setImage(0);
}
if(defaults.autoplay) {
if(defaults.firstSong) {
this.setSongByName(defaults.firstSong);
} else {
this.setSong(0);
}
this.setSong(0);
}
}.bind(this), function(progress) {
var prog = document.getElementById("preMain");
var scale = Math.floor(progress * defaults.preloadMax);
var padding = defaults.preloadMax.toString(defaults.preloadBase).length;
prog.textContent = defaults.preloadPrefix + (Array(padding).join("0")+scale.toString(defaults.preloadBase)).slice(-padding);
});
} else {
document.getElementById("preloadHelper").style.display = "none";
}
}
}.bind(this))["catch"](function(error) {
this.error(error);
}.bind(this));
document.onkeydown = function(e){
e = e || window.event;
@ -189,8 +193,6 @@ function HuesCore(defaults) {
var key = e.keyCode || e.which;
return this.keyHandler(key);
}.bind(this);
this.animationLoop();
}
HuesCore.prototype.callEventListeners = function(ev) {
@ -695,7 +697,7 @@ HuesCore.prototype.changeUI = function(index) {
this.callEventListeners("newsong", this.currentSong);
this.callEventListeners("newimage", this.currentImage);
this.callEventListeners("newcolour", this.colours[this.colourIndex], false);
this.callEventListeners("beat", this.getBeatString(), this.getSafeBeatIndex());
this.callEventListeners("beat", this.getBeatString(), this.getBeatIndex());
}
};
@ -866,10 +868,23 @@ HuesCore.prototype.keyHandler = function(key) {
};
HuesCore.prototype.error = function(message) {
document.getElementById("preSub").textContent = "Error: " + message;
console.log(message);
document.getElementById("preSub").textContent = message;
document.getElementById("preMain").style.color = "#F00";
};
HuesCore.prototype.warning = function(message) {
console.log(message);
document.getElementById("preSub").textContent = message;
document.getElementById("preMain").style.color = "#F93";
};
HuesCore.prototype.clearMessage = function() {
console.log(message);
document.getElementById("preSub").textContent = "";
document.getElementById("preMain").style.color = "";
};
HuesCore.prototype.oldColours =
[{'c': 0x000000, 'n': 'black'},
{'c': 0x550000, 'n': 'brick'},

@ -39,7 +39,6 @@ function Resources(core) {
this.toLoad = 0;
this.progressState = [];
this.rToLoad = [];
this.loadFinishCallback = null;
this.progressCallback = null;
this.root = null;
@ -82,37 +81,32 @@ function Resources(core) {
// Array of URLs to load, and a callback for when we're done
// Preserves order of URLs being loaded
Resources.prototype.addAll = function(urls, callback, progressCallback) {
this.toLoad += urls.length;
if(progressCallback) {
this.progressCallback = progressCallback;
this.progressState = Array.apply(null, Array(urls.length)).map(Number.prototype.valueOf,0);
}
if(callback) {
this.loadFinishCallback = callback;
}
for(var i = 0; i < urls.length; i++) {
var r = new Respack();
this.rToLoad.push(r);
r.loadFromURL(urls[i], function() {
this.toLoad--;
if(this.toLoad <= 0) {
// could use a while() and shift(), but it'd be slower
for(var i = 0; i < this.rToLoad.length; i++) {
this.addPack(this.rToLoad[i]);
}
this.rToLoad = [];
if(this.loadFinishCallback) {
this.loadFinishCallback();
this.loadFinishCallback = null;
Resources.prototype.addAll = function(urls, progressCallback) {
return new Promise(function(resolve, reject) {
this.toLoad += urls.length;
if(progressCallback) {
this.progressCallback = progressCallback;
this.progressState = Array.apply(null, Array(urls.length)).map(Number.prototype.valueOf,0);
}
for(var i = 0; i < urls.length; i++) {
var r = new Respack();
this.rToLoad.push(r);
r.loadFromURL(urls[i], function() {
this.toLoad--;
if(this.toLoad <= 0) {
for(var i = 0; i < this.rToLoad.length; i++) {
this.addPack(this.rToLoad[i]);
}
this.rToLoad = [];
this.progressCallback = null;
resolve();
}
this.progressCallback = null;
}
}.bind(this), function(index, progress, pack) {
this.progressState[index] = progress;
this.updateProgress(pack);
}.bind(this, i));
}
}.bind(this), function(index, progress, pack) {
this.progressState[index] = progress;
this.updateProgress(pack);
}.bind(this, i));
}
}.bind(this));
};
Resources.prototype.updateProgress = function(pack) {

@ -30,6 +30,8 @@ function SoundManager(core) {
this.core = core;
this.playing = false;
this.song = null;
this.initPromise = null;
/* Lower level audio and timing info */
this.bufSource = null;
@ -60,39 +62,73 @@ function SoundManager(core) {
this.tmpBuffer = null;
this.tmpBuild = null;
this.onLoadCallback = null;
}
// In case of API non-support
this.canUse = true;
// Check Web Audio API Support
try {
// More info at http://caniuse.com/#feat=audio-api
window.AudioContext = window.AudioContext || window.webkitAudioContext;
this.context = new window.AudioContext();
this.gainNode = this.context.createGain();
this.gainNode.connect(this.context.destination);
} catch(e) {
this.canUse = false;
this.errorMsg = "Web Audio API not supported in this browser.";
return;
SoundManager.prototype.init = function() {
if(!this.initPromise) {
this.initPromise = new Promise(function(resolve, reject) {
// Check Web Audio API Support
try {
// More info at http://caniuse.com/#feat=audio-api
window.AudioContext = window.AudioContext || window.webkitAudioContext;
this.context = new window.AudioContext();
this.gainNode = this.context.createGain();
this.gainNode.connect(this.context.destination);
} catch(e) {
reject(Error("Web Audio API not supported in this browser."));
return;
}
resolve();
}.bind(this)).then(function(response) {
return new Promise(function(resolve, reject) {
// Get our MP3 decoder started
try {
this.mp3Worker = new Worker(this.core.settings.defaults.mp3WorkerPath + 'mp3-worker.js');
} catch(e) {
console.log(e);
reject(Error("MP3 Worker cannot be started - correct path set in defaults?"));
}
var pingListener = function(event) {
this.mp3Worker.removeEventListener('message', pingListener);
this.mp3Worker.addEventListener('message', this.workerFinished.bind(this), false);
resolve();
}.bind(this)
this.mp3Worker.addEventListener('message', pingListener, false);
this.mp3Worker.addEventListener('error', function() {
reject(Error("MP3 Worker cannot be started - correct path set in defaults?"));
}.bind(this), false);
this.mp3Worker.postMessage({ping:true});
}.bind(this))
}.bind(this)).then(function(response) {
return new Promise(function(resolve, reject) {
// iOS and other some mobile browsers - unlock the context as
// it starts in a suspended state
if(this.context.state != "running") {
this.core.warning("We're about to load about 10MB of stuff. Tap to begin!");
var unlocker = function() {
// create empty buffer
var buffer = this.context.createBuffer(1, 1, 22050);
var source = this.context.createBufferSource();
source.buffer = buffer;
// connect to output (your speakers)
source.connect( this.context.destination);
// play the file
source.start(0);
window.removeEventListener('touchend', unlocker);
this.core.clearMessage();
resolve();
}.bind(this);
window.addEventListener('touchend', unlocker, false);
} else {
resolve();
}
}.bind(this))
}.bind(this));
}
this.mp3Worker = new Worker(core.settings.defaults.mp3WorkerPath + 'mp3-worker.js');
this.mp3Worker.addEventListener('message', this.workerFinished.bind(this), false);
window.addEventListener('touchend', function() {
// create empty buffer
var buffer = this.context.createBuffer(1, 1, 22050);
var source = this.context.createBufferSource();
source.buffer = buffer;
// connect to output (your speakers)
source.connect( this.context.destination);
// play the file
source.start(0);
}.bind(this), false);
return this.initPromise;
}
SoundManager.prototype.playSong = function(song, playBuild, callback) {

208
js/mp3/mp3-min.js vendored

@ -108,7 +108,7 @@ l.prototype.bypassResampler=function(a){return this.noReturn?(this.outputBuffer=
[]}};m.exports=l},{}],24:[function(b,m,g){(function(l){var a,e,d,q=function(a,b){return function(){return a.apply(b,arguments)}},h={}.hasOwnProperty,c=function(a,b){function d(){this.constructor=a}for(var c in b)h.call(b,c)&&(a[c]=b[c]);d.prototype=b.prototype;a.prototype=new d;a.__super__=b.prototype;return a};e=b("../core/events");a=b("../device");d=b("./resampler");(function(b){function k(a,b){this.sampleRate=a;this.channels=b;this.refill=q(this.refill,this);this.context=null!=u?u:u=new h;this.deviceSampleRate=
this.context.sampleRate;this.bufferSize=Math.ceil(4096/(this.deviceSampleRate/this.sampleRate)*this.channels);this.bufferSize+=this.bufferSize%this.channels;this.deviceSampleRate!==this.sampleRate&&(this.resampler=new d(this.sampleRate,this.deviceSampleRate,this.channels,4096*this.channels));this.node=this.context[e](4096,this.channels,this.channels);this.node.onaudioprocess=this.refill;this.node.connect(this.context.destination)}var h,e,u;c(k,b);a.register(k);h=l.AudioContext||l.webkitAudioContext;
k.supported=h&&("function"===typeof h.prototype[e="createScriptProcessor"]||"function"===typeof h.prototype[e="createJavaScriptNode"]);u=null;k.prototype.refill=function(a){var b,k,d,c,h,e,t;c=a.outputBuffer;a=c.numberOfChannels;b=Array(a);for(d=k=0;k<a;d=k+=1)b[d]=c.getChannelData(d);k=new Float32Array(this.bufferSize);this.emit("refill",k);this.resampler&&(k=this.resampler.resampler(k));d=h=0;for(t=c.length;h<t;d=h+=1)for(c=e=0;e<a;c=e+=1)b[c][d]=k[d*a+c]};k.prototype.destroy=function(){return this.node.disconnect(0)};
k.prototype.getDeviceTime=function(){return this.context.currentTime*this.sampleRate};return k})(e)}).call(this,"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../core/events":9,"../device":21,"./resampler":23}],25:[function(b,m,g){b=function(){function b(a,e){a&&e&&Object.defineProperty(this,"value",{get(){return a[e]}})}b.prototype.process=function(a){};return b}();m.exports=b},{}],26:[function(b,m,g){var l={}.hasOwnProperty,a=function(a,b){function q(){this.constructor=
k.prototype.getDeviceTime=function(){return this.context.currentTime*this.sampleRate};return k})(e)}).call(this,"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../core/events":9,"../device":21,"./resampler":23}],25:[function(b,m,g){b=function(){function b(a,e){a&&e&&Object.defineProperty(this,"value",{get:function(){return a[e]}})}b.prototype.process=function(a){};return b}();m.exports=b},{}],26:[function(b,m,g){var l={}.hasOwnProperty,a=function(a,b){function q(){this.constructor=
a}for(var h in b)l.call(b,h)&&(a[h]=b[h]);q.prototype=b.prototype;a.prototype=new q;a.__super__=b.prototype;return a};b=function(b){function d(){return d.__super__.constructor.apply(this,arguments)}a(d,b);d.prototype.process=function(a){var b,d,e,k;if(0!==this.value)for(d=Math.max(-50,Math.min(50,this.value)),b=e=0,k=a.length;e<k;b=e+=2)a[b]*=Math.min(1,(50-d)/50),a[b+1]*=Math.min(1,(50+d)/50)};return d}(b("../filter"));m.exports=b},{"../filter":25}],27:[function(b,m,g){var l={}.hasOwnProperty,a=
function(a,b){function q(){this.constructor=a}for(var h in b)l.call(b,h)&&(a[h]=b[h]);q.prototype=b.prototype;a.prototype=new q;a.__super__=b.prototype;return a};b=function(b){function d(){return d.__super__.constructor.apply(this,arguments)}a(d,b);d.prototype.process=function(a){var b,d,e,k;if(!(100<=this.value))for(d=Math.max(0,Math.min(100,this.value))/100,b=e=0,k=a.length;e<k;b=e+=1)a[b]*=d};return d}(b("../filter"));m.exports=b},{"../filter":25}],28:[function(b,m,g){var l,a,e,d,q,h=function(a,
b){return function(){return a.apply(b,arguments)}},c={}.hasOwnProperty,x=function(a,b){function d(){this.constructor=a}for(var h in b)c.call(b,h)&&(a[h]=b[h]);d.prototype=b.prototype;a.prototype=new d;a.__super__=b.prototype;return a};g=b("./core/events");l=b("./asset");q=b("./filters/volume");e=b("./filters/balance");d=b("./queue");a=b("./device");b=function(b){function c(a){this.asset=a;this.startPlaying=h(this.startPlaying,this);this.playing=!1;this.duration=this.currentTime=this.buffered=0;this.volume=
@ -146,17 +146,17 @@ this[l];return a};g.prototype.nchannels=function(){return 0===this.mode?1:2};g.p
function(a){for(var b=a.next_frame,l=!0,h=null;l;){l=!1;if(a.sync){if(!a.available(g.BUFFER_GUARD))throw a.next_frame=b,new AV.UnderflowError;if(255!==a.getU8(b)||224!==(a.getU8(b+1)&224))throw a.this_frame=b,a.next_frame=b+1,new AV.UnderflowError;}else{a.seek(8*b);if(!a.doSync())throw new AV.UnderflowError;b=a.nextByte()}a.this_frame=b;a.next_frame=b+1;a.seek(8*a.this_frame);h=new g;h.decode(a);0===h.bitrate&&((0===a.freerate||!a.sync||3===h.layer&&64E4<a.freerate)&&g.free_bitrate(a,h),h.bitrate=
a.freerate,h.flags|=g.FLAGS.FREEFORMAT);var c=h.flags&g.FLAGS.PADDING?1:0,c=1===h.layer?4*((12*h.bitrate/h.samplerate<<0)+c):((3===h.layer&&h.flags&g.FLAGS.LSF_EXT?72:144)*h.bitrate/h.samplerate<<0)+c;if(!a.available(c+g.BUFFER_GUARD))throw a.next_frame=a.this_frame,new AV.UnderflowError;a.next_frame=a.this_frame+c;a.sync||(b=a.next_frame,255!==a.getU8(b)||224!==(a.getU8(b+1)&224)?(b=a.next_frame=a.this_frame+1,l=!0):a.sync=!0)}h.flags|=g.FLAGS.INCOMPLETE;return h};g.free_bitrate=function(a,b){for(var l=
b.flags&g.FLAGS.PADDING?1:0,h=3===b.layer&&b.flags&g.FLAGS.LSF_EXT?72:144,c=a.offset(),x=0;a.doSync();){var k=b.copy(),w=a.copy();if(k.decode(w)&&k.layer===b.layer&&k.samplerate===b.samplerate&&(x=a.nextByte()-a.this_frame,x=1===b.layer?b.samplerate*(x-4*l+4)/48/1E3|0:b.samplerate*(x-l+1)/h/1E3|0,8<=x))break;a.advance(8)}a.seek(c);if(8>x||3===b.layer&&640<x)throw new AV.UnderflowError;a.freerate=1E3*x};b.exports=g},{}],6:[function(r,b,m){function g(a,b,k){this.table=a;this.linbits=b;this.startbits=
k}b=function(a,b){return{final:0,ptr:{bits:b,offset:a}}};var l=function(a,b,k,c,d){return{final:1,value:{v:a,w:b,x:k,y:c,hlen:d}}};r=[b(16,2),b(20,2),b(24,1),b(26,1),l(0,0,1,0,4),l(0,0,0,1,4),l(0,1,0,0,4),l(1,0,0,0,4),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(1,0,1,1,2),l(1,1,1,1,2),l(1,1,0,1,2),l(1,1,1,0,2),l(0,1,1,1,2),l(0,1,0,1,2),l(1,0,0,1,1),l(1,0,0,1,1),l(0,1,1,0,1),l(0,0,1,1,1),l(1,0,1,0,1),l(1,1,0,0,1)];var l=[l(1,1,1,1,4),l(1,
1,1,0,4),l(1,1,0,1,4),l(1,1,0,0,4),l(1,0,1,1,4),l(1,0,1,0,4),l(1,0,0,1,4),l(1,0,0,0,4),l(0,1,1,1,4),l(0,1,1,0,4),l(0,1,0,1,4),l(0,1,0,0,4),l(0,0,1,1,4),l(0,0,1,0,4),l(0,0,0,1,4),l(0,0,0,0,4)],a=function(a,b,k){return{final:1,value:{x:a,y:b,hlen:k}}},e=[a(0,0,0)],d=[a(1,1,3),a(0,1,3),a(1,0,2),a(1,0,2),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1)],q=[b(8,3),a(1,1,3),a(0,1,3),a(1,0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(2,2,3),a(0,2,3),a(1,2,2),a(1,2,2),a(2,1,2),a(2,1,2),a(2,0,2),a(2,0,2)],h=[b(8,3),a(1,0,
3),a(1,1,2),a(1,1,2),a(0,1,2),a(0,1,2),a(0,0,2),a(0,0,2),a(2,2,3),a(0,2,3),a(1,2,2),a(1,2,2),a(2,1,2),a(2,1,2),a(2,0,2),a(2,0,2)],c=[b(8,4),a(1,1,3),a(0,1,3),a(1,0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),b(24,1),a(3,2,4),a(3,1,3),a(3,1,3),a(1,3,4),a(0,3,4),a(3,0,4),a(2,2,4),a(1,2,3),a(1,2,3),a(2,1,3),a(2,1,3),a(0,2,3),a(0,2,3),a(2,0,3),a(2,0,3),a(3,3,1),a(2,3,1)],x=[b(16,3),b(24,1),b(26,1),a(1,2,4),a(2,1,4),a(2,0,4),a(0,1,3),a(0,1,3),a(1,1,2),a(1,1,2),a(1,1,2),a(1,1,2),a(1,0,3),a(1,0,3),a(0,0,3),a(0,
0,3),a(3,3,3),a(0,3,3),a(2,3,2),a(2,3,2),a(3,2,2),a(3,2,2),a(3,0,2),a(3,0,2),a(1,3,1),a(3,1,1),a(2,2,1),a(0,2,1)],k=[b(16,4),b(32,4),b(48,2),a(1,1,4),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),b(52,2),b(56,1),b(58,1),a(1,5,4),a(5,1,4),b(60,1),a(5,0,4),b(62,1),a(2,4,4),a(4,2,4),a(1,4,3),a(1,4,3),a(4,1,3),a(4,1,3),a(4,0,3),a(4,0,3),a(0,4,4),a(2,3,4),a(3,2,4),a(0,3,4),a(1,3,3),a(1,3,3),a(3,1,3),a(3,1,3),a(3,0,3),a(3,0,3),a(2,2,3),a(2,2,
3),a(1,2,2),a(1,2,2),a(1,2,2),a(1,2,2),a(2,1,1),a(2,1,1),a(0,2,2),a(2,0,2),a(5,5,2),a(4,5,2),a(5,4,2),a(5,3,2),a(3,5,1),a(4,4,1),a(2,5,1),a(5,2,1),a(0,5,1),a(3,4,1),a(4,3,1),a(3,3,1)],w=[b(16,4),b(32,4),a(1,2,4),a(2,1,4),a(1,1,2),a(1,1,2),a(1,1,2),a(1,1,2),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,2),a(0,0,2),a(0,0,2),a(0,0,2),b(48,3),b(56,2),b(60,1),a(1,5,4),a(5,1,4),b(62,1),b(64,1),a(2,4,4),a(4,2,4),a(1,4,4),a(4,1,3),a(4,1,3),a(0,4,4),a(4,0,4),a(2,3,4),a(3,2,4),a(1,3,4),a(3,1,4),a(0,3,4),a(3,0,
4),a(2,2,2),a(2,2,2),a(2,2,2),a(2,2,2),a(0,2,2),a(0,2,2),a(0,2,2),a(0,2,2),a(2,0,2),a(2,0,2),a(2,0,2),a(2,0,2),a(5,5,3),a(5,4,3),a(4,5,2),a(4,5,2),a(5,3,1),a(5,3,1),a(5,3,1),a(5,3,1),a(3,5,2),a(4,4,2),a(2,5,1),a(2,5,1),a(5,2,1),a(0,5,1),a(3,4,1),a(4,3,1),a(5,0,1),a(3,3,1)],t=[b(16,4),b(32,3),b(40,2),b(44,2),b(48,1),a(1,2,4),a(2,1,4),a(2,0,4),a(1,1,3),a(1,1,3),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,3),a(0,0,3),b(50,1),a(3,5,4),a(5,3,4),b(52,1),a(4,4,4),a(2,5,4),a(5,2,4),a(1,5,4),a(5,1,3),a(5,1,
3),a(3,4,3),a(3,4,3),a(4,3,3),a(4,3,3),a(5,0,4),a(0,4,4),a(2,4,3),a(4,2,3),a(3,3,3),a(4,0,3),a(1,4,2),a(1,4,2),a(4,1,2),a(4,1,2),a(2,3,2),a(3,2,2),a(1,3,1),a(1,3,1),a(3,1,1),a(3,1,1),a(0,3,2),a(3,0,2),a(2,2,1),a(0,2,1),a(5,5,1),a(4,5,1),a(5,4,1),a(0,5,1)],u=[b(16,4),b(32,4),b(48,2),a(1,1,4),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),b(52,3),b(60,2),b(64,3),b(72,1),b(74,2),b(78,2),b(82,2),a(1,7,4),a(7,1,4),b(86,1),b(88,2),b(92,2),a(1,
6,4),a(6,1,4),a(6,0,4),b(96,1),b(98,1),b(100,1),a(1,4,4),a(4,1,4),a(4,0,4),a(2,3,4),a(3,2,4),a(0,3,4),a(1,3,3),a(1,3,3),a(3,1,3),a(3,1,3),a(3,0,3),a(3,0,3),a(2,2,3),a(2,2,3),a(1,2,2),a(2,1,2),a(0,2,2),a(2,0,2),a(7,7,3),a(6,7,3),a(7,6,3),a(5,7,3),a(7,5,3),a(6,6,3),a(4,7,2),a(4,7,2),a(7,4,2),a(5,6,2),a(6,5,2),a(3,7,2),a(7,3,2),a(7,3,2),a(4,6,2),a(4,6,2),a(5,5,3),a(5,4,3),a(6,3,2),a(6,3,2),a(2,7,1),a(7,2,1),a(6,4,2),a(0,7,2),a(7,0,1),a(7,0,1),a(6,2,1),a(6,2,1),a(4,5,2),a(3,5,2),a(0,6,1),a(0,6,1),a(5,
3,2),a(4,4,2),a(3,6,1),a(2,6,1),a(2,5,2),a(5,2,2),a(1,5,1),a(1,5,1),a(5,1,1),a(5,1,1),a(3,4,2),a(4,3,2),a(0,5,1),a(5,0,1),a(2,4,1),a(4,2,1),a(3,3,1),a(0,4,1)],H=[b(16,4),b(32,4),b(48,4),b(64,3),a(1,2,4),b(72,1),a(1,1,3),a(1,1,3),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,2),a(0,0,2),a(0,0,2),a(0,0,2),b(74,2),b(78,3),b(86,2),b(90,1),b(92,2),a(2,7,4),a(7,2,4),b(96,1),a(7,1,3),a(7,1,3),a(1,7,4),a(7,0,4),a(3,6,4),a(6,3,4),a(6,0,4),b(98,1),b(100,1),a(1,5,4),a(6,2,3),a(6,2,3),a(2,6,4),a(0,6,4),a(1,6,3),
a(1,6,3),a(6,1,3),a(6,1,3),a(5,1,4),a(3,4,4),a(5,0,4),b(102,1),a(2,4,4),a(4,2,4),a(1,4,4),a(4,1,4),a(0,4,4),a(4,0,4),a(2,3,3),a(2,3,3),a(3,2,3),a(3,2,3),a(1,3,2),a(1,3,2),a(1,3,2),a(1,3,2),a(3,1,2),a(3,1,2),a(3,1,2),a(3,1,2),a(0,3,3),a(3,0,3),a(2,2,2),a(2,2,2),a(2,1,1),a(2,1,1),a(2,1,1),a(2,1,1),a(0,2,1),a(2,0,1),a(7,7,2),a(6,7,2),a(7,6,2),a(7,5,2),a(6,6,2),a(6,6,2),a(4,7,2),a(4,7,2),a(7,4,2),a(7,4,2),a(5,7,3),a(5,5,3),a(5,6,2),a(6,5,2),a(3,7,1),a(3,7,1),a(7,3,1),a(4,6,1),a(4,5,2),a(5,4,2),a(3,5,
2),a(5,3,2),a(6,4,1),a(0,7,1),a(4,4,1),a(2,5,1),a(5,2,1),a(0,5,1),a(4,3,1),a(3,3,1)],A=[b(16,4),b(32,4),b(48,4),b(64,2),b(68,3),b(76,1),a(1,2,4),a(2,1,4),b(78,1),a(0,0,4),a(1,1,3),a(1,1,3),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),b(80,2),b(84,1),b(86,1),b(88,1),a(5,6,4),a(3,7,4),b(90,1),a(2,7,4),a(7,2,4),a(4,6,4),a(6,4,4),a(1,7,4),a(7,1,4),b(92,1),a(3,6,4),a(6,3,4),a(4,5,4),a(5,4,4),a(4,4,4),b(94,1),a(2,6,3),a(2,6,3),a(6,2,3),a(6,2,3),a(6,1,3),a(6,1,3),a(1,6,4),a(6,0,4),a(3,5,4),a(5,3,4),a(2,5,4),a(5,
k}b=function(a,b){return{"final":0,ptr:{bits:b,offset:a}}};var l=function(a,b,k,c,d){return{"final":1,value:{v:a,w:b,x:k,y:c,hlen:d}}};r=[b(16,2),b(20,2),b(24,1),b(26,1),l(0,0,1,0,4),l(0,0,0,1,4),l(0,1,0,0,4),l(1,0,0,0,4),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(0,0,0,0,1),l(1,0,1,1,2),l(1,1,1,1,2),l(1,1,0,1,2),l(1,1,1,0,2),l(0,1,1,1,2),l(0,1,0,1,2),l(1,0,0,1,1),l(1,0,0,1,1),l(0,1,1,0,1),l(0,0,1,1,1),l(1,0,1,0,1),l(1,1,0,0,1)];var l=[l(1,1,1,1,4),
l(1,1,1,0,4),l(1,1,0,1,4),l(1,1,0,0,4),l(1,0,1,1,4),l(1,0,1,0,4),l(1,0,0,1,4),l(1,0,0,0,4),l(0,1,1,1,4),l(0,1,1,0,4),l(0,1,0,1,4),l(0,1,0,0,4),l(0,0,1,1,4),l(0,0,1,0,4),l(0,0,0,1,4),l(0,0,0,0,4)],a=function(a,b,k){return{"final":1,value:{x:a,y:b,hlen:k}}},e=[a(0,0,0)],d=[a(1,1,3),a(0,1,3),a(1,0,2),a(1,0,2),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1)],q=[b(8,3),a(1,1,3),a(0,1,3),a(1,0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(2,2,3),a(0,2,3),a(1,2,2),a(1,2,2),a(2,1,2),a(2,1,2),a(2,0,2),a(2,0,2)],h=[b(8,3),
a(1,0,3),a(1,1,2),a(1,1,2),a(0,1,2),a(0,1,2),a(0,0,2),a(0,0,2),a(2,2,3),a(0,2,3),a(1,2,2),a(1,2,2),a(2,1,2),a(2,1,2),a(2,0,2),a(2,0,2)],c=[b(8,4),a(1,1,3),a(0,1,3),a(1,0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),b(24,1),a(3,2,4),a(3,1,3),a(3,1,3),a(1,3,4),a(0,3,4),a(3,0,4),a(2,2,4),a(1,2,3),a(1,2,3),a(2,1,3),a(2,1,3),a(0,2,3),a(0,2,3),a(2,0,3),a(2,0,3),a(3,3,1),a(2,3,1)],x=[b(16,3),b(24,1),b(26,1),a(1,2,4),a(2,1,4),a(2,0,4),a(0,1,3),a(0,1,3),a(1,1,2),a(1,1,2),a(1,1,2),a(1,1,2),a(1,0,3),a(1,0,3),a(0,
0,3),a(0,0,3),a(3,3,3),a(0,3,3),a(2,3,2),a(2,3,2),a(3,2,2),a(3,2,2),a(3,0,2),a(3,0,2),a(1,3,1),a(3,1,1),a(2,2,1),a(0,2,1)],k=[b(16,4),b(32,4),b(48,2),a(1,1,4),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),b(52,2),b(56,1),b(58,1),a(1,5,4),a(5,1,4),b(60,1),a(5,0,4),b(62,1),a(2,4,4),a(4,2,4),a(1,4,3),a(1,4,3),a(4,1,3),a(4,1,3),a(4,0,3),a(4,0,3),a(0,4,4),a(2,3,4),a(3,2,4),a(0,3,4),a(1,3,3),a(1,3,3),a(3,1,3),a(3,1,3),a(3,0,3),a(3,0,3),a(2,2,
3),a(2,2,3),a(1,2,2),a(1,2,2),a(1,2,2),a(1,2,2),a(2,1,1),a(2,1,1),a(0,2,2),a(2,0,2),a(5,5,2),a(4,5,2),a(5,4,2),a(5,3,2),a(3,5,1),a(4,4,1),a(2,5,1),a(5,2,1),a(0,5,1),a(3,4,1),a(4,3,1),a(3,3,1)],w=[b(16,4),b(32,4),a(1,2,4),a(2,1,4),a(1,1,2),a(1,1,2),a(1,1,2),a(1,1,2),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,2),a(0,0,2),a(0,0,2),a(0,0,2),b(48,3),b(56,2),b(60,1),a(1,5,4),a(5,1,4),b(62,1),b(64,1),a(2,4,4),a(4,2,4),a(1,4,4),a(4,1,3),a(4,1,3),a(0,4,4),a(4,0,4),a(2,3,4),a(3,2,4),a(1,3,4),a(3,1,4),a(0,3,
4),a(3,0,4),a(2,2,2),a(2,2,2),a(2,2,2),a(2,2,2),a(0,2,2),a(0,2,2),a(0,2,2),a(0,2,2),a(2,0,2),a(2,0,2),a(2,0,2),a(2,0,2),a(5,5,3),a(5,4,3),a(4,5,2),a(4,5,2),a(5,3,1),a(5,3,1),a(5,3,1),a(5,3,1),a(3,5,2),a(4,4,2),a(2,5,1),a(2,5,1),a(5,2,1),a(0,5,1),a(3,4,1),a(4,3,1),a(5,0,1),a(3,3,1)],t=[b(16,4),b(32,3),b(40,2),b(44,2),b(48,1),a(1,2,4),a(2,1,4),a(2,0,4),a(1,1,3),a(1,1,3),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,3),a(0,0,3),b(50,1),a(3,5,4),a(5,3,4),b(52,1),a(4,4,4),a(2,5,4),a(5,2,4),a(1,5,4),a(5,1,
3),a(5,1,3),a(3,4,3),a(3,4,3),a(4,3,3),a(4,3,3),a(5,0,4),a(0,4,4),a(2,4,3),a(4,2,3),a(3,3,3),a(4,0,3),a(1,4,2),a(1,4,2),a(4,1,2),a(4,1,2),a(2,3,2),a(3,2,2),a(1,3,1),a(1,3,1),a(3,1,1),a(3,1,1),a(0,3,2),a(3,0,2),a(2,2,1),a(0,2,1),a(5,5,1),a(4,5,1),a(5,4,1),a(0,5,1)],u=[b(16,4),b(32,4),b(48,2),a(1,1,4),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),b(52,3),b(60,2),b(64,3),b(72,1),b(74,2),b(78,2),b(82,2),a(1,7,4),a(7,1,4),b(86,1),b(88,2),b(92,
2),a(1,6,4),a(6,1,4),a(6,0,4),b(96,1),b(98,1),b(100,1),a(1,4,4),a(4,1,4),a(4,0,4),a(2,3,4),a(3,2,4),a(0,3,4),a(1,3,3),a(1,3,3),a(3,1,3),a(3,1,3),a(3,0,3),a(3,0,3),a(2,2,3),a(2,2,3),a(1,2,2),a(2,1,2),a(0,2,2),a(2,0,2),a(7,7,3),a(6,7,3),a(7,6,3),a(5,7,3),a(7,5,3),a(6,6,3),a(4,7,2),a(4,7,2),a(7,4,2),a(5,6,2),a(6,5,2),a(3,7,2),a(7,3,2),a(7,3,2),a(4,6,2),a(4,6,2),a(5,5,3),a(5,4,3),a(6,3,2),a(6,3,2),a(2,7,1),a(7,2,1),a(6,4,2),a(0,7,2),a(7,0,1),a(7,0,1),a(6,2,1),a(6,2,1),a(4,5,2),a(3,5,2),a(0,6,1),a(0,6,
1),a(5,3,2),a(4,4,2),a(3,6,1),a(2,6,1),a(2,5,2),a(5,2,2),a(1,5,1),a(1,5,1),a(5,1,1),a(5,1,1),a(3,4,2),a(4,3,2),a(0,5,1),a(5,0,1),a(2,4,1),a(4,2,1),a(3,3,1),a(0,4,1)],H=[b(16,4),b(32,4),b(48,4),b(64,3),a(1,2,4),b(72,1),a(1,1,3),a(1,1,3),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),a(0,0,2),a(0,0,2),a(0,0,2),a(0,0,2),b(74,2),b(78,3),b(86,2),b(90,1),b(92,2),a(2,7,4),a(7,2,4),b(96,1),a(7,1,3),a(7,1,3),a(1,7,4),a(7,0,4),a(3,6,4),a(6,3,4),a(6,0,4),b(98,1),b(100,1),a(1,5,4),a(6,2,3),a(6,2,3),a(2,6,4),a(0,6,4),a(1,
6,3),a(1,6,3),a(6,1,3),a(6,1,3),a(5,1,4),a(3,4,4),a(5,0,4),b(102,1),a(2,4,4),a(4,2,4),a(1,4,4),a(4,1,4),a(0,4,4),a(4,0,4),a(2,3,3),a(2,3,3),a(3,2,3),a(3,2,3),a(1,3,2),a(1,3,2),a(1,3,2),a(1,3,2),a(3,1,2),a(3,1,2),a(3,1,2),a(3,1,2),a(0,3,3),a(3,0,3),a(2,2,2),a(2,2,2),a(2,1,1),a(2,1,1),a(2,1,1),a(2,1,1),a(0,2,1),a(2,0,1),a(7,7,2),a(6,7,2),a(7,6,2),a(7,5,2),a(6,6,2),a(6,6,2),a(4,7,2),a(4,7,2),a(7,4,2),a(7,4,2),a(5,7,3),a(5,5,3),a(5,6,2),a(6,5,2),a(3,7,1),a(3,7,1),a(7,3,1),a(4,6,1),a(4,5,2),a(5,4,2),a(3,
5,2),a(5,3,2),a(6,4,1),a(0,7,1),a(4,4,1),a(2,5,1),a(5,2,1),a(0,5,1),a(4,3,1),a(3,3,1)],A=[b(16,4),b(32,4),b(48,4),b(64,2),b(68,3),b(76,1),a(1,2,4),a(2,1,4),b(78,1),a(0,0,4),a(1,1,3),a(1,1,3),a(0,1,3),a(0,1,3),a(1,0,3),a(1,0,3),b(80,2),b(84,1),b(86,1),b(88,1),a(5,6,4),a(3,7,4),b(90,1),a(2,7,4),a(7,2,4),a(4,6,4),a(6,4,4),a(1,7,4),a(7,1,4),b(92,1),a(3,6,4),a(6,3,4),a(4,5,4),a(5,4,4),a(4,4,4),b(94,1),a(2,6,3),a(2,6,3),a(6,2,3),a(6,2,3),a(6,1,3),a(6,1,3),a(1,6,4),a(6,0,4),a(3,5,4),a(5,3,4),a(2,5,4),a(5,
2,4),a(1,5,3),a(1,5,3),a(5,1,3),a(5,1,3),a(3,4,3),a(3,4,3),a(4,3,3),a(4,3,3),a(5,0,4),a(0,4,4),a(2,4,3),a(2,4,3),a(4,2,3),a(4,2,3),a(1,4,3),a(1,4,3),a(3,3,2),a(4,1,2),a(2,3,2),a(3,2,2),a(4,0,3),a(0,3,3),a(3,0,2),a(3,0,2),a(1,3,1),a(1,3,1),a(1,3,1),a(1,3,1),a(3,1,1),a(2,2,1),a(0,2,1),a(2,0,1),a(7,7,2),a(6,7,2),a(7,6,1),a(7,6,1),a(5,7,1),a(7,5,1),a(6,6,1),a(4,7,1),a(7,4,1),a(6,5,1),a(7,3,1),a(5,5,1),a(0,7,1),a(7,0,1),a(0,6,1),a(0,5,1)],M=[b(16,4),b(32,4),b(48,4),b(64,2),a(1,1,4),a(0,1,4),a(1,0,3),a(1,
0,3),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),a(0,0,1),b(68,4),b(84,4),b(100,4),b(116,4),b(132,4),b(148,4),b(164,3),b(172,3),b(180,3),b(188,3),b(196,3),b(204,3),b(212,1),b(214,2),b(218,3),b(226,1),b(228,2),b(232,2),b(236,2),b(240,2),a(8,1,4),b(244,1),b(246,1),b(248,1),b(250,2),b(254,1),a(1,5,4),a(5,1,4),b(256,1),b(258,1),b(260,1),a(1,4,4),a(4,1,3),a(4,1,3),a(0,4,4),a(4,0,4),a(2,3,4),a(3,2,4),a(1,3,3),a(1,3,3),a(3,1,3),a(3,1,3),a(0,3,3),a(0,3,3),a(3,0,3),a(3,0,3),a(2,2,3),a(2,
2,3),a(1,2,2),a(2,1,2),a(0,2,2),a(2,0,2),b(262,4),b(278,4),b(294,4),b(310,3),b(318,2),b(322,2),b(326,3),b(334,2),b(338,1),b(340,2),b(344,2),b(348,2),b(352,2),b(356,2),a(1,15,4),a(15,1,4),a(15,0,4),b(360,1),b(362,1),b(364,1),a(14,2,4),b(366,1),a(1,14,4),a(14,1,4),b(368,1),b(370,1),b(372,1),b(374,1),b(376,1),b(378,1),a(12,6,4),a(3,13,4),b(380,1),a(2,13,4),a(13,2,4),a(1,13,4),a(11,7,4),b(382,1),b(384,1),a(12,3,4),b(386,1),a(4,11,4),a(13,1,3),a(13,1,3),a(0,13,4),a(13,0,4),a(8,10,4),a(10,8,4),a(4,12,4),
@ -188,95 +188,95 @@ a(13,5,1),a(7,12,1),a(12,7,1),a(4,13,1),a(8,11,1),a(9,10,1),a(6,12,1),a(12,6,1),
a(8,12,2),a(8,12,2),a(12,8,2),a(12,8,2),a(4,14,3),a(2,14,3),a(3,14,2),a(3,14,2),a(6,13,2),a(13,6,2),a(14,3,2),a(9,11,2),a(11,9,2),a(10,10,2),a(14,2,2),a(1,14,2),a(14,1,2),a(5,13,2),a(13,5,2),a(7,12,2),a(12,7,2),a(4,13,2),a(8,11,2),a(11,8,2),a(13,4,2),a(9,10,2),a(10,9,2),a(6,12,2),a(12,6,2),a(3,13,2),a(13,3,2),a(2,13,2),a(13,2,2),a(1,13,2),a(7,11,2),a(11,7,2),a(13,1,2),a(5,12,2),a(12,5,2),a(8,10,2),a(10,8,2),a(9,9,2),a(4,12,2),a(12,4,2),a(6,11,2),a(6,11,2),a(11,6,2),a(11,6,2),a(13,0,3),a(0,12,3),a(3,
12,2),a(3,12,2),a(12,3,2),a(7,10,2),a(10,7,2),a(2,12,2),a(12,2,2),a(5,11,2),a(11,5,2),a(1,12,2),a(8,9,2),a(9,8,2),a(12,1,2),a(4,11,2),a(12,0,3),a(0,11,3),a(3,11,2),a(3,11,2),a(11,0,3),a(0,10,3),a(1,10,2),a(1,10,2),a(11,4,1),a(11,4,1),a(6,10,2),a(10,6,2),a(7,9,2),a(7,9,2),a(9,7,2),a(9,7,2),a(10,0,3),a(0,9,3),a(9,0,2),a(9,0,2),a(11,3,1),a(8,8,1),a(2,11,2),a(5,10,2),a(11,2,1),a(11,2,1),a(10,5,2),a(1,11,2),a(11,1,2),a(6,9,2),a(9,6,1),a(10,4,1),a(4,10,2),a(7,8,2),a(8,7,1),a(8,7,1),a(3,10,1),a(10,3,1),
a(5,9,1),a(9,5,1),a(2,10,1),a(10,2,1),a(10,1,1),a(6,8,1),a(8,6,1),a(7,7,1),a(4,9,1),a(9,4,1),a(3,9,1),a(9,3,1),a(5,8,1),a(8,5,1),a(2,9,1),a(6,7,1),a(7,6,1),a(9,2,1),a(1,9,1),a(9,1,1),a(4,8,1),a(8,4,1),a(5,7,1),a(7,5,1),a(3,8,1),a(8,3,1),a(6,6,1),a(2,8,1),a(8,2,1),a(1,8,1),a(4,7,1),a(7,4,1),a(8,1,1),a(8,1,1),a(0,8,2),a(8,0,2),a(5,6,1),a(6,5,1),a(1,7,1),a(1,7,1),a(0,7,2),a(7,0,2),a(3,7,1),a(2,7,1),a(0,6,1),a(6,0,1),a(0,5,1),a(5,0,1)];m.huff_quad_table=[r,l];m.huff_pair_table=[new g(e,0,0),new g(d,0,
3),new g(q,0,3),new g(h,0,3),null,new g(c,0,3),new g(x,0,4),new g(k,0,4),new g(w,0,4),new g(t,0,4),new g(u,0,4),new g(H,0,4),new g(A,0,4),new g(M,0,4),null,new g(n,0,4),new g(v,1,4),new g(v,2,4),new g(v,3,4),new g(v,4,4),new g(v,6,4),new g(v,8,4),new g(v,10,4),new g(v,13,4),new g(b,4,4),new g(b,5,4),new g(b,6,4),new g(b,7,4),new g(b,8,4),new g(b,9,4),new g(b,11,4),new g(b,13,4)]},{}],7:[function(r,b,m){var g=["latin1","utf16-bom","utf16-be","utf8"];r=AV.Base.extend({constructor(b,a){this.header=b;
this.stream=a;this.offset=0},read(){if(!this.data){this.data={};for(var b;b=this.readFrame();)b.key in this.data?(Array.isArray(this.data[b.key])||(this.data[b.key]=[this.data[b.key]]),this.data[b.key].push(b.value)):this.data[b.key]=b.value}return this.data},readFrame(){if(this.offset>=this.header.length)return null;var b=this.readHeader(),a=b.identifier;if(0===b.identifier.charCodeAt(0))return this.offset+=this.header.length+1,null;if(!this.frameTypes[a])for(var e in this.map)if(-1!==this.map[e].indexOf(a)){a=
e;break}this.frameTypes[a]?(a=this.decodeFrame(b,this.frameTypes[a]),e=Object.keys(a),1===e.length&&(a=a[e[0]]),a={value:a}):a={value:this.stream.readBuffer(Math.min(b.length,this.header.length-this.offset))};a.key=this.names[b.identifier]?this.names[b.identifier]:b.identifier;"coverArt"===a.key&&(a.value=a.value.data);this.offset+=10+b.length;return a},decodeFrame(b,a){var e=this.stream,d=e.offset,q=0,h={},c=Object.keys(a).length,x=0,k;for(k in a){var w=a[k],t=b.length-(e.offset-d);x++;switch(k){case "encoding":q=
e.readUInt8();continue;case "language":h.language=e.readString(3);continue}switch(w){case "latin1":h[k]=e.readString(x===c?t:null,"latin1");break;case "string":h[k]=e.readString(x===c?t:null,g[q]);break;case "binary":h[k]=e.readBuffer(t);break;case "int16":h[k]=e.readInt16();break;case "int8":h[k]=e.readInt8();break;case "int24":h[k]=e.readInt24();break;case "int32":h[k]=e.readInt32();break;case "int32+":h[k]=e.readInt32();if(4<t)throw Error("Seriously dude? Stop playing this song and get a life!");
break;case "date":w=e.readString(8);h[k]=new Date(w.slice(0,4),w.slice(4,6)-1,w.slice(6,8));break;case "frame_id":h[k]=e.readString(4);break;default:throw Error("Unknown key type "+w);}}t=b.length-(e.offset-d);0<t&&e.advance(t);return h}});m.ID3v23Stream=r.extend({readHeader(){var b=this.stream.readString(4),a=0;if(4===this.header.major)for(var e=0;4>e;e++)a=(a<<7)+(this.stream.readUInt8()&127);else a=this.stream.readUInt32();return{identifier:b,length:a,flags:this.stream.readUInt16()}},map:{text:"TIT1 TIT2 TIT3 TALB TOAL TRCK TPOS TSST TSRC TPE1 TPE2 TPE3 TPE4 TOPE TEXT TOLY TCOM TMCL TIPL TENC TBPM TLEN TKEY TLAN TCON TFLT TMED TMOO TCOP TPRO TPUB TOWN TRSN TRSO TOFN TDLY TDEN TDOR TDRC TDRL TDTG TSSE TSOA TSOP TSOT TDAT TIME TORY TRDA TSIZ TYER TCMP TSO2 TSOC".split(" "),
url:"WCOM WCOP WOAF WOAR WOAS WORS WPAY WPUB".split(" ")},frameTypes:{text:{encoding:1,value:"string"},url:{value:"latin1"},TXXX:{encoding:1,description:"string",value:"string"},WXXX:{encoding:1,description:"string",value:"latin1"},USLT:{encoding:1,language:1,description:"string",value:"string"},COMM:{encoding:1,language:1,description:"string",value:"string"},APIC:{encoding:1,mime:"latin1",type:"int8",description:"string",data:"binary"},UFID:{owner:"latin1",identifier:"binary"},MCDI:{value:"binary"},
PRIV:{owner:"latin1",value:"binary"},GEOB:{encoding:1,mime:"latin1",filename:"string",description:"string",data:"binary"},PCNT:{value:"int32+"},POPM:{email:"latin1",rating:"int8",counter:"int32+"},AENC:{owner:"latin1",previewStart:"int16",previewLength:"int16",encryptionInfo:"binary"},ETCO:{format:"int8",data:"binary"},MLLT:{framesBetweenReference:"int16",bytesBetweenReference:"int24",millisecondsBetweenReference:"int24",bitsForBytesDeviation:"int8",bitsForMillisecondsDev:"int8",data:"binary"},SYTC:{format:"int8",
tempoData:"binary"},SYLT:{encoding:1,language:1,format:"int8",contentType:"int8",description:"string",data:"binary"},RVA2:{identification:"latin1",data:"binary"},EQU2:{interpolationMethod:"int8",identification:"latin1",data:"binary"},RVRB:{left:"int16",right:"int16",bouncesLeft:"int8",bouncesRight:"int8",feedbackLL:"int8",feedbackLR:"int8",feedbackRR:"int8",feedbackRL:"int8",premixLR:"int8",premixRL:"int8"},RBUF:{size:"int24",flag:"int8",offset:"int32"},LINK:{identifier:"frame_id",url:"latin1",data:"binary"},
POSS:{format:"int8",position:"binary"},USER:{encoding:1,language:1,value:"string"},OWNE:{encoding:1,price:"latin1",purchaseDate:"date",seller:"string"},COMR:{encoding:1,price:"latin1",validUntil:"date",contactURL:"latin1",receivedAs:"int8",seller:"string",description:"string",logoMime:"latin1",logo:"binary"},ENCR:{owner:"latin1",methodSymbol:"int8",data:"binary"},GRID:{owner:"latin1",groupSymbol:"int8",data:"binary"},SIGN:{groupSymbol:"int8",signature:"binary"},SEEK:{value:"int32"},ASPI:{dataStart:"int32",
dataLength:"int32",numPoints:"int16",bitsPerPoint:"int8",data:"binary"},IPLS:{encoding:1,value:"string"},RVAD:{adjustment:"int8",bits:"int8",data:"binary"},EQUA:{adjustmentBits:"int8",data:"binary"}},names:{TIT1:"grouping",TIT2:"title",TIT3:"subtitle",TALB:"album",TOAL:"originalAlbumTitle",TRCK:"trackNumber",TPOS:"diskNumber",TSST:"setSubtitle",TSRC:"ISRC",TPE1:"artist",TPE2:"albumArtist",TPE3:"conductor",TPE4:"modifiedBy",TOPE:"originalArtist",TEXT:"lyricist",TOLY:"originalLyricist",TCOM:"composer",
TMCL:"musicianCreditsList",TIPL:"involvedPeopleList",TENC:"encodedBy",TBPM:"tempo",TLEN:"length",TKEY:"initialKey",TLAN:"language",TCON:"genre",TFLT:"fileType",TMED:"mediaType",TMOO:"mood",TCOP:"copyright",TPRO:"producedNotice",TPUB:"publisher",TOWN:"fileOwner",TRSN:"internetRadioStationName",TRSO:"internetRadioStationOwner",TOFN:"originalFilename",TDLY:"playlistDelay",TDEN:"encodingTime",TDOR:"originalReleaseTime",TDRC:"recordingTime",TDRL:"releaseTime",TDTG:"taggingTime",TSSE:"encodedWith",TSOA:"albumSortOrder",
TSOP:"performerSortOrder",TSOT:"titleSortOrder",TXXX:"userText",USLT:"lyrics",APIC:"coverArt",UFID:"uniqueIdentifier",MCDI:"CDIdentifier",COMM:"comments",WCOM:"commercialInformation",WCOP:"copyrightInformation",WOAF:"officialAudioFileWebpage",WOAR:"officialArtistWebpage",WOAS:"officialAudioSourceWebpage",WORS:"officialInternetRadioStationHomepage",WPAY:"payment",WPUB:"officialPublisherWebpage",WXXX:"url",PRIV:"private",GEOB:"generalEncapsulatedObject",PCNT:"playCount",POPM:"rating",AENC:"audioEncryption",
ETCO:"eventTimingCodes",MLLT:"MPEGLocationLookupTable",SYTC:"synchronisedTempoCodes",SYLT:"synchronisedLyrics",RVA2:"volumeAdjustment",EQU2:"equalization",RVRB:"reverb",RBUF:"recommendedBufferSize",LINK:"link",POSS:"positionSynchronisation",USER:"termsOfUse",OWNE:"ownership",COMR:"commercial",ENCR:"encryption",GRID:"groupIdentifier",SIGN:"signature",SEEK:"seek",ASPI:"audioSeekPointIndex",TDAT:"date",TIME:"time",TORY:"originalReleaseYear",TRDA:"recordingDates",TSIZ:"size",TYER:"year",IPLS:"involvedPeopleList",
RVAD:"volumeAdjustment",EQUA:"equalization",TCMP:"compilation",TSO2:"albumArtistSortOrder",TSOC:"composerSortOrder"}});m.ID3v22Stream=m.ID3v23Stream.extend({readHeader(){var b=this.stream.readString(3);this.frameReplacements[b]&&!this.frameTypes[b]&&(this.frameTypes[b]=this.frameReplacements[b]);return{identifier:this.replacements[b]||b,length:this.stream.readUInt24()}},replacements:{UFI:"UFID",TT1:"TIT1",TT2:"TIT2",TT3:"TIT3",TP1:"TPE1",TP2:"TPE2",TP3:"TPE3",TP4:"TPE4",TCM:"TCOM",TXT:"TEXT",TLA:"TLAN",
TCO:"TCON",TAL:"TALB",TPA:"TPOS",TRK:"TRCK",TRC:"TSRC",TYE:"TYER",TDA:"TDAT",TIM:"TIME",TRD:"TRDA",TMT:"TMED",TFT:"TFLT",TBP:"TBPM",TCR:"TCOP",TPB:"TPUB",TEN:"TENC",TSS:"TSSE",TOF:"TOFN",TLE:"TLEN",TSI:"TSIZ",TDY:"TDLY",TKE:"TKEY",TOT:"TOAL",TOA:"TOPE",TOL:"TOLY",TOR:"TORY",TXX:"TXXX",WAF:"WOAF",WAR:"WOAR",WAS:"WOAS",WCM:"WCOM",WCP:"WCOP",WPB:"WPUB",WXX:"WXXX",IPL:"IPLS",MCI:"MCDI",ETC:"ETCO",MLL:"MLLT",STC:"SYTC",ULT:"USLT",SLT:"SYLT",COM:"COMM",RVA:"RVAD",EQU:"EQUA",REV:"RVRB",GEO:"GEOB",CNT:"PCNT",
POP:"POPM",BUF:"RBUF",CRA:"AENC",LNK:"LINK",TST:"TSOT",TSP:"TSOP",TSA:"TSOA",TCP:"TCMP",TS2:"TSO2",TSC:"TSOC"},frameReplacements:{PIC:{encoding:1,format:"int24",type:"int8",description:"string",data:"binary"},CRM:{owner:"latin1",description:"latin1",data:"binary"}}})},{}],8:[function(r,b,m){function g(){this.tmp_imdct36=new Float64Array(18);this.tmp_dctIV=new Float64Array(18);this.tmp_sdctII=new Float64Array(9)}function l(a,b,e){var A,l,n,g,p,m,B,r,D,C,y,E;A=a[3]+a[5];l=a[3]-a[5];n=a[6]+a[2];g=a[6]-
a[2];p=a[1]+a[7];m=a[1]-a[7];B=a[8]+a[0];r=a[8]-a[0];D=A+n+B;C=(l+g)*-c;y=(l-r)*-d;E=(g+r)*-x;l=(l-g+r)*-q;m*=-q;g=(n-B)*-w;B=(A-B)*-k;n=(A-n)*-h;A=a[4]+p;a=2*a[4]-p;b[e+0]=A+D;b[e+2]=C-(m+y);b[e+4]=n-(a+g);b[e+6]=l;b[e+8]=a-g-B;b[e+10]=m-E-y;b[e+12]=D-2*A;b[e+14]=m+E+C;b[e+16]=a+B+n}g.prototype.imdct36=function(a,b){var k=this.tmp_imdct36;this.dctIV(a,k);for(var c=0;9>c;++c)b[c]=k[9+c];for(c=9;27>c;++c)b[c]=-k[36-(9+c)-1];for(c=27;36>c;++c)b[c]=-k[c-27]};var a=[];for(r=0;18>r;r++)a[r]=2*Math.cos(Math.PI*
(2*r+1)/72);g.prototype.dctIV=function(b,k){for(var c=this.tmp_dctIV,d=0;18>d;++d)c[d]=b[d]*a[d];this.sdctII(c,k);k[0]/=2;for(d=1;18>d;++d)k[d]=k[d]/2-k[d-1]};var e=[];for(r=0;9>r;++r)e[r]=2*Math.cos(Math.PI*(2*r+1)/36);g.prototype.sdctII=function(a,b){for(var k=this.tmp_sdctII,c=0;9>c;++c)k[c]=a[c]+a[18-c-1];l(k,b,0);for(c=0;9>c;++c)k[c]=(a[c]-a[18-c-1])*e[c];l(k,b,1);for(c=3;18>c;c+=2)b[c]-=b[c-2]};var d=2*Math.cos(1*Math.PI/18),q=2*Math.cos(3*Math.PI/18),h=2*Math.cos(4*Math.PI/18),c=2*Math.cos(5*
Math.PI/18),x=2*Math.cos(7*Math.PI/18),k=2*Math.cos(8*Math.PI/18),w=2*Math.cos(16*Math.PI/18);g.S=[[.608761429,-.923879533,-.130526192,.991444861,-.382683432,-.79335334],[-.79335334,.382683432,.991444861,.130526192,-.923879533,-.608761429],[.382683432,-.923879533,.923879533,-.382683432,-.382683432,.923879533],[-.923879533,-.382683432,.382683432,.923879533,.923879533,.382683432],[.130526192,-.382683432,.608761429,-.79335334,.923879533,-.991444861],[-.991444861,-.923879533,-.79335334,-.608761429,-.382683432,
-.130526192]];b.exports=g},{}],9:[function(r,b,m){function g(){this.allocation=e.makeArray([2,32],Uint8Array);this.scalefactor=e.makeArray([2,32],Uint8Array)}var l=r("./tables"),a=r("./header");m=r("./frame");var e=r("./utils");m.layers[1]=g;var d=new Float32Array([1.33333333333333,1.14285714285714,1.06666666666667,1.03225806451613,1.01587301587302,1.00787401574803,1.00392156862745,1.00195694716243,1.00097751710655,1.00048851978505,1.0002442002442,1.00012208521548,1.00006103888177,1.00003051850948]);
g.prototype.decode=function(b,d){var c=d.header,e=c.nchannels(),k=32;c.mode===a.MODE.JOINT_STEREO&&(c.flags|=a.FLAGS.I_STEREO,k=4+4*c.mode_extension);for(var c=this.allocation,w=0;w<k;w++)for(var t=0;t<e;t++){var u=b.read(4);if(15===u)throw Error("forbidden bit allocation value");c[t][w]=u?u+1:0}for(w=k;32>w;w++){u=b.read(4);if(15===u)throw Error("forbidden bit allocation value");c[0][w]=c[1][w]=u?u+1:0}for(var g=this.scalefactor,w=0;32>w;w++)for(t=0;t<e;t++)c[t][w]&&(g[t][w]=b.read(6));for(var A=
0;12>A;A++){for(w=0;w<k;w++)for(t=0;t<e;t++)u=c[t][w],d.sbsample[t][A][w]=u?this.sample(b,u)*l.SF_TABLE[g[t][w]]:0;for(w=k;32>w;w++)if(u=c[0][w])for(u=this.sample(b,u),t=0;t<e;t++)d.sbsample[t][A][w]=u*l.SF_TABLE[g[t][w]];else for(t=0;t<e;t++)d.sbsample[t][A][w]=0}};g.prototype.sample=function(a,b){var c=a.read(b),c=c^1<<b-1,c=(c|-(c&1<<b-1))/(1<<b-1),c=c+(1>>b-1);return c*d[b-2]};b.exports=g},{"./frame":4,"./header":5,"./tables":14,"./utils":15}],10:[function(r,b,m){function g(){this.samples=new Float64Array(3);
this.allocation=e.makeArray([2,32],Uint8Array);this.scfsi=e.makeArray([2,32],Uint8Array);this.scalefactor=e.makeArray([2,32,3],Uint8Array)}var l=r("./tables"),a=r("./header");m=r("./frame");var e=r("./utils");m.layers[2]=g;var d=[{sblimit:27,offsets:[7,7,7,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0]},{sblimit:30,offsets:[7,7,7,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0]},{sblimit:8,offsets:[5,5,2,2,2,2,2,2]},{sblimit:12,offsets:[5,5,2,2,2,2,2,2,2,2,2,2]},{sblimit:30,offsets:[4,4,4,
4,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}],q=[{nbal:2,offset:0},{nbal:2,offset:3},{nbal:3,offset:3},{nbal:3,offset:1},{nbal:4,offset:2},{nbal:4,offset:3},{nbal:4,offset:4},{nbal:4,offset:5}],h=[[0,1,16],[0,1,2,3,4,5,16],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,16],[0,2,4,5,6,7,8,9,10,11,12,13,14,15,16]],c=[{nlevels:3,group:2,bits:5,C:1.33333333333,D:.5},{nlevels:5,group:3,bits:7,C:1.6,D:.5},{nlevels:7,group:0,bits:3,
C:1.14285714286,D:.25},{nlevels:9,group:4,bits:10,C:1.77777777777,D:.5},{nlevels:15,group:0,bits:4,C:1.06666666666,D:.125},{nlevels:31,group:0,bits:5,C:1.03225806452,D:.0625},{nlevels:63,group:0,bits:6,C:1.01587301587,D:.03125},{nlevels:127,group:0,bits:7,C:1.00787401575,D:.015625},{nlevels:255,group:0,bits:8,C:1.00392156863,D:.0078125},{nlevels:511,group:0,bits:9,C:1.00195694716,D:.00390625},{nlevels:1023,group:0,bits:10,C:1.00097751711,D:.001953125},{nlevels:2047,group:0,bits:11,C:1.00048851979,
D:9.765625E-4},{nlevels:4095,group:0,bits:12,C:1.00024420024,D:4.8828125E-4},{nlevels:8191,group:0,bits:13,C:1.00012208522,D:2.4414063E-4},{nlevels:16383,group:0,bits:14,C:1.00006103888,D:1.2207031E-4},{nlevels:32767,group:0,bits:15,C:1.00003051851,D:6.103516E-5},{nlevels:65535,group:0,bits:16,C:1.00001525902,D:3.051758E-5}];g.prototype.decode=function(b,k){var e=k.header,t=e.nchannels(),u;if(e.flags&a.FLAGS.LSF_EXT)u=4;else if(e.flags&a.FLAGS.FREEFORMAT)u=48E3===e.samplerate?0:1;else{var g=e.bitrate;
if(2===t)g/=2;else if(192E3<g)throw Error("bad bitrate/mode combination");u=48E3>=g?32E3===e.samplerate?3:2:8E4>=g?0:48E3===e.samplerate?0:1}var g=d[u].sblimit,A=d[u].offsets,m=32;e.mode===a.MODE.JOINT_STEREO&&(e.flags|=a.FLAGS.I_STEREO,m=4+4*e.mode_extension);m>g&&(m=g);for(var e=this.allocation,n=0;n<m;n++)for(var v=q[A[n]].nbal,p=0;p<t;p++)e[p][n]=b.read(v);for(n=m;n<g;n++)v=q[A[n]].nbal,e[0][n]=e[1][n]=b.read(v);for(var r=this.scfsi,n=0;n<g;n++)for(p=0;p<t;p++)e[p][n]&&(r[p][n]=b.read(2));v=this.scalefactor;
for(n=0;n<g;n++)for(p=0;p<t;p++)if(e[p][n]){v[p][n][0]=b.read(6);switch(r[p][n]){case 2:v[p][n][2]=v[p][n][1]=v[p][n][0];break;case 0:v[p][n][1]=b.read(6);case 1:case 3:v[p][n][2]=b.read(6)}r[p][n]&1&&(v[p][n][1]=v[p][n][r[p][n]-1])}for(r=0;12>r;r++){for(n=0;n<m;n++)for(p=0;p<t;p++)if(u=e[p][n]){u=h[q[A[n]].offset][u-1];this.decodeSamples(b,c[u]);u=l.SF_TABLE[v[p][n][r>>2]];for(var B=0;3>B;B++)k.sbsample[p][3*r+B][n]=this.samples[B]*u}else for(B=0;3>B;B++)k.sbsample[p][3*r+B][n]=0;for(n=m;n<g;n++)if(u=
e[0][n])for(u=h[q[A[n]].offset][u-1],this.decodeSamples(b,c[u]),p=0;p<t;p++)for(u=l.SF_TABLE[v[p][n][r>>2]],B=0;3>B;B++)k.sbsample[p][3*r+B][n]=this.samples[B]*u;else for(p=0;p<t;p++)for(B=0;3>B;B++)k.sbsample[p][3*r+B][n]=0;for(p=0;p<t;p++)for(B=0;3>B;B++)for(n=g;32>n;n++)k.sbsample[p][3*r+B][n]=0}};g.prototype.decodeSamples=function(a,b){var c=this.samples,d=b.group;if(d)for(var e=a.read(b.bits),h=b.nlevels,g=0;3>g;g++)c[g]=e%h,e=e/h|0;else for(d=b.bits,g=0;3>g;g++)c[g]=a.read(d);for(g=0;3>g;g++)e=
c[g]^1<<d-1,e|=-(e&1<<d-1),e/=1<<d-1,c[g]=(e+b.D)*b.C};b.exports=g},{"./frame":4,"./header":5,"./tables":14,"./utils":15}],11:[function(r,b,m){function g(){this.private_bits=this.main_data_begin=null;this.gr=[new l,new l];this.scfsi=new Uint8Array(2)}function l(){this.ch=[new a,new a]}function a(){this.block_type=this.flags=this.scalefac_compress=this.global_gain=this.big_values=this.part2_3_length=null;this.table_select=new Uint8Array(3);this.subblock_gain=new Uint8Array(3);this.region1_count=this.region0_count=
null;this.scalefac=new Uint8Array(39)}function e(){this.imdct=new c;this.si=new g;this.xr=[new Float64Array(576),new Float64Array(576)];this._exponents=new Int32Array(39);this.reqcache=new Float64Array(16);this.modes=new Int16Array(39);this.output=new Float64Array(36);this.tmp=x.makeArray([32,3,6]);this.tmp2=new Float64Array(576)}var d=r("./tables"),q=r("./header");m=r("./frame");var h=r("./huffman"),c=r("./imdct"),x=r("./utils");m.layers[3]=e;e.prototype.decode=function(a,b){var c=b.header,d=0,e=
0,h=c.nchannels(),g=c.flags&q.FLAGS.LSF_EXT?1===h?9:17:1===h?17:32;if(a.next_frame-a.nextByte()<g)throw a.md_len=0,Error("Bad frame length");e=this.sideInfo(a,h,c.flags&q.FLAGS.LSF_EXT);g=e.si;c.flags|=e.priv_bitlen;c.private_bits|=g.private_bits;e=a.copy();e.seek(8*a.next_frame);c=e.read(16);65506===(c&65510)&&(0===(c&1)&&e.advance(16),e.advance(16),d=e.read(c&8?9:8));var n=a.next_frame-a.nextByte();d>g.main_data_begin+n&&(d=0);var e=g.main_data_begin+n-d,l=0;if(0===g.main_data_begin)c=a.stream,
a.md_len=0,l=e;else{if(g.main_data_begin>a.md_len)throw Error("bad main_data_begin pointer");var p=a.md_len;if(e>g.main_data_begin){if(a.md_len+e-g.main_data_begin>q.BUFFER_MDLEN)throw Error("Assertion failed: (stream.md_len + md_len - si.main_data_begin <= MAD_MP3FrameHeader.BUFFER_MDLEN)");l=e-g.main_data_begin;this.memcpy(a.main_data,a.md_len,a.stream.stream,a.nextByte(),l);a.md_len+=l}c=new AV.Bitstream(AV.Stream.fromBuffer(new AV.Buffer(a.main_data)));c.advance(8*(p-g.main_data_begin))}n-=l;
this.decodeMainData(c,b,g,h);n>=d?(this.memcpy(a.main_data,0,a.stream.stream,a.next_frame-d,d),a.md_len=d):(e<g.main_data_begin?(h=g.main_data_begin-e,h+n>d&&(h=d-n),h<a.md_len&&(this.memcpy(a.main_data,0,a.main_data,a.md_len-h,h),a.md_len=h)):a.md_len=0,this.memcpy(a.main_data,a.md_len,a.stream.stream,a.next_frame-n,n),a.md_len+=n)};e.prototype.memcpy=function(a,b,c,d,e){c=c.subarray?c.subarray(d,d+e):c.peekBuffer(d-c.offset,e).data;a.set(c,b);return a};e.prototype.sideInfo=function(a,b,c){var e=
this.si,h=0,g=c?1===b?1:2:1===b?5:3;e.main_data_begin=a.read(c?8:9);e.private_bits=a.read(g);var l=1;if(!c)for(var l=2,n=0;n<b;++n)e.scfsi[n]=a.read(4);for(var v=0;v<l;v++)for(var p=e.gr[v],n=0;n<b;n++){var q=p.ch[n];q.part2_3_length=a.read(12);q.big_values=a.read(9);q.global_gain=a.read(8);q.scalefac_compress=a.read(c?9:4);h+=q.part2_3_length;if(288<q.big_values)throw Error("bad big_values count");q.flags=0;if(a.read(1)){q.block_type=a.read(2);if(0===q.block_type)throw Error("reserved block_type");
if(!c&&2===q.block_type&&e.scfsi[n])throw Error("bad scalefactor selection info");q.region0_count=7;q.region1_count=36;a.read(1)?q.flags|=d.MIXED_BLOCK_FLAG:2===q.block_type&&(q.region0_count=8);for(var m=0;2>m;m++)q.table_select[m]=a.read(5);for(m=0;3>m;m++)q.subblock_gain[m]=a.read(3)}else{for(m=q.block_type=0;3>m;m++)q.table_select[m]=a.read(5);q.region0_count=a.read(4);q.region1_count=a.read(3)}q.flags|=a.read(c?2:3)}return{si:e,data_bitlen:h,priv_bitlen:g}};e.prototype.decodeMainData=function(a,
b,c,e){var h=b.header,g=h.samplerate;h.flags&q.FLAGS.MPEG_2_5_EXT&&(g*=2);g=(g>>7&15)+(g>>15&1)-8;h.flags&q.FLAGS.MPEG_2_5_EXT&&(g+=3);for(var l=h.flags&q.FLAGS.LSF_EXT?1:2,n=this.xr,v=0;v<l;++v){for(var p=c.gr[v],m=[],x=0,r=0;r<e;++r){var D=p.ch[r];m[r]=d.SFBWIDTH_TABLE[g].l;2===D.block_type&&(m[r]=D.flags&d.MIXED_BLOCK_FLAG?d.SFBWIDTH_TABLE[g].m:d.SFBWIDTH_TABLE[g].s);x=h.flags&q.FLAGS.LSF_EXT?this.scalefactors_lsf(a,D,0===r?0:c.gr[1].ch[1],h.mode_extension):this.scalefactors(a,D,c.gr[0].ch[r],
0===v?0:c.scfsi[r]);this.huffmanDecode(a,n[r],D,m[r],x)}h.mode===q.MODE.JOINT_STEREO&&0!==h.mode_extension&&this.stereo(n,c.gr,v,h,m[0]);for(r=0;r<e;r++){var D=p.ch[r],C=b.sbsample[r].slice(18*v),y,x=0,E,I=this.output;2===D.block_type?(this.reorder(n[r],D,m[r]),D.flags&d.MIXED_BLOCK_FLAG&&this.aliasreduce(n[r],36)):this.aliasreduce(n[r],576);if(2!==D.block_type||D.flags&d.MIXED_BLOCK_FLAG)for(E=D.block_type,D.flags&d.MIXED_BLOCK_FLAG&&(E=0),y=0;2>y;++y,x+=18)this.imdct_l(n[r].subarray(x,x+18),I,E),
this.overlap(I,b.overlap[r][y],C,y);else for(y=0;2>y;++y,x+=18)this.imdct_s(n[r].subarray(x,x+18),I),this.overlap(I,b.overlap[r][y],C,y);this.freqinver(C,1);for(y=576;36<y&&0===n[r][y-1];)--y;E=32-((576-y)/18<<0);if(2!==D.block_type)for(y=2;y<E;++y,x+=18)this.imdct_l(n[r].subarray(x,x+18),I,D.block_type),this.overlap(I,b.overlap[r][y],C,y),y&1&&this.freqinver(C,y);else for(y=2;y<E;++y,x+=18)this.imdct_s(n[r].subarray(x,x+18),I),this.overlap(I,b.overlap[r][y],C,y),y&1&&this.freqinver(C,y);for(y=E;32>
y;++y)this.overlap_z(b.overlap[r][y],C,y),y&1&&this.freqinver(C,y)}}};e.prototype.scalefactors=function(a,b,c,e){var h=a.offset(),g=d.SFLEN_TABLE[b.scalefac_compress].slen1,l=d.SFLEN_TABLE[b.scalefac_compress].slen2,n;if(2===b.block_type){n=0;for(c=b.flags&d.MIXED_BLOCK_FLAG?17:18;c--;)b.scalefac[n++]=a.read(g);for(c=18;c--;)b.scalefac[n++]=a.read(l);for(c=3;c--;)b.scalefac[n++]=0}else{if(e&8)for(n=0;6>n;++n)b.scalefac[n]=c.scalefac[n];else for(n=0;6>n;++n)b.scalefac[n]=a.read(g);if(e&4)for(n=6;11>
n;++n)b.scalefac[n]=c.scalefac[n];else for(n=6;11>n;++n)b.scalefac[n]=a.read(g);if(e&2)for(n=11;16>n;++n)b.scalefac[n]=c.scalefac[n];else for(n=11;16>n;++n)b.scalefac[n]=a.read(l);if(e&1)for(n=16;21>n;++n)b.scalefac[n]=c.scalefac[n];else for(n=16;21>n;++n)b.scalefac[n]=a.read(l);b.scalefac[21]=0}return a.offset()-h};e.prototype.scalefactors_lsf=function(a,b,c,e){var h=a.offset(),g=b.scalefac_compress,l=2===b.block_type?b.flags&d.MIXED_BLOCK_FLAG?2:1:0,n=new Int32Array(4);if(e&d.I_STEREO&&c){g>>>=
1;180>g?(n[0]=g/36,n[1]=g%36/6,n[2]=g%36%6,n[3]=0,e=d.NSFB_TABLE[3][l]):244>g?(g-=180,n[0]=g%64>>>4,n[1]=g%16>>>2,n[2]=g%4,n[3]=0,e=d.NSFB_TABLE[4][l]):(g-=244,n[0]=g/3,n[1]=g%3,n[2]=0,n[3]=0,e=d.NSFB_TABLE[5][l]);for(p=q=0;4>p;++p)for(g=(1<<n[p])-1,m=0;m<e[p];++m)l=a.read(n[p]),b.scalefac[q]=l,c.scalefac[q++]=l===g?1:0;for(;39>q;)b.scalefac[q]=0,c.scalefac[q++]=0}else{400>g?(n[0]=(g>>>4)/5,n[1]=(g>>>4)%5,n[2]=g%16>>>2,n[3]=g%4,e=d.NSFB_TABLE[0][l]):500>g?(g-=400,n[0]=(g>>>2)/5,n[1]=(g>>>2)%5,n[2]=
g%4,n[3]=0,e=d.NSFB_TABLE[1][l]):(g-=500,n[0]=g/3,n[1]=g%3,n[2]=0,n[3]=0,b.flags|=d.PREFLAG,e=d.NSFB_TABLE[2][l]);for(var q=0,p=0;4>p;p++)for(var m=0;m<e[p];m++)b.scalefac[q++]=a.read(n[p]);for(;39>q;)b.scalefac[q++]=0}return a.offset()-h};e.prototype.huffmanDecode=function(a,b,c,e,g){var l=this._exponents,m=0;g=c.part2_3_length-g;if(0>g)throw Error("bad audio data length");this.exponents(c,e,l);var n=a.copy();a.advance(g);a=8-n.bitPosition;a+=7+(24-a)&-8;var v=n.read(a);g-=a;var p=0,x=0,r=this.reqcache,
G=p+e[m++],D=c.region0_count+1,C=h.huff_pair_table[c.table_select[x]],y=C.table,E=C.linbits,C=C.startbits;if("undefined"===typeof y)throw Error("bad Huffman table select");for(var I=0,K=l[I++],L=0,P=c.big_values;P--&&0<a+g;){if(p===G){G+=e[m++];if(0===--D&&(D=0===x?c.region1_count+1:0,C=h.huff_pair_table[c.table_select[++x]],y=C.table,E=C.linbits,C=C.startbits,"undefined"===typeof y))throw Error("bad Huffman table select");K!==l[I]&&(K=l[I],L=0);++I}if(21>a){var J=10+(21-a)&-8,v=v<<J|n.read(J);a+=
J;g-=J}for(var z=C,J=y[v>>a-z&(1<<z)-1];!J.final;)a-=z,z=J.ptr.bits,J=y[J.ptr.offset+(v>>a-z&(1<<z)-1)];a-=J.value.hlen;if(E){var z=J.value.x,N=!1;switch(z){case 0:b[p]=0;break;case 15:a<E+2&&(v=v<<16|n.read(16),a+=16,g-=16);z+=v>>a-E&(1<<E)-1;a-=E;F=this.requantize(z,K);N=!0;break;default:L&1<<z?F=r[z]:(L|=1<<z,F=r[z]=this.requantize(z,K)),N=!0}N&&(b[p]=v&1<<a-- -1?-F:F);z=J.value.y;J=!1;switch(z){case 0:b[p+1]=0;break;case 15:a<E+1&&(v=v<<16|n.read(16),a+=16,g-=16);z+=v>>a-E&(1<<E)-1;a-=E;F=this.requantize(z,
K);J=!0;break;default:L&1<<z||(L|=1<<z,r[z]=this.requantize(z,K)),F=r[z],J=!0}J&&(b[p+1]=v&1<<a-- -1?-F:F)}else z=J.value.x,0===z?b[p]=0:(L&1<<z?F=r[z]:(L|=1<<z,F=r[z]=this.requantize(z,K)),b[p]=v&1<<a-- -1?-F:F),z=J.value.y,0===z?b[p+1]=0:(L&1<<z?F=r[z]:(L|=1<<z,F=r[z]=this.requantize(z,K)),b[p+1]=v&1<<a-- -1?-F:F);p+=2}if(0>a+g)throw Error("Huffman data overrun");for(var y=h.huff_quad_table[c.flags&d.COUNT1TABLE_SELECT],F=this.requantize(1,K);0<a+g&&572>=p;)10>a&&(v=v<<16|n.read(16),a+=16,g-=16),
c=y[v>>a-4&15],c.final||(a-=4,c=y[c.ptr.offset+(v>>a-c.ptr.bits&(1<<c.ptr.bits)-1)]),a-=c.value.hlen,p===G&&(G+=e[m++],K!==l[I]&&(K=l[I],F=this.requantize(1,K)),++I),b[p]=c.value.v?v&1<<a-- -1?-F:F:0,b[p+1]=c.value.w?v&1<<a-- -1?-F:F:0,p+=2,p===G&&(G+=e[m++],K!==l[I]&&(K=l[I],F=this.requantize(1,K)),++I),b[p]=c.value.x?v&1<<a-- -1?-F:F:0,b[p+1]=c.value.y?v&1<<a-- -1?-F:F:0,p+=2,0>a+g&&(p-=4);if(-g>8*q.BUFFER_GUARD)throw Error("assertion failed: (-bits_left <= MP3FrameHeader.BUFFER_GUARD * CHAR_BIT)");
for(;576>p;)b[p]=0,b[p+1]=0,p+=2};e.prototype.requantize=function(a,b){var c=b%4>>0;b=b/4>>0;var d=Math.pow(a,4/3),d=d*Math.pow(2,b/4);c&&(d*=Math.pow(2,c/4));0>b&&(d/=Math.pow(2,.75*-b));return d};e.prototype.exponents=function(a,b,c){var e=a.global_gain-210,h=a.flags&d.SCALEFAC_SCALE?2:1;if(2===a.block_type){var g=0,l=0;if(a.flags&d.MIXED_BLOCK_FLAG)for(var n=a.flags&d.PREFLAG?-1:0;36>l;)c[g]=e-(a.scalefac[g]+(d.PRETAB[g]&n)<<h),l+=b[g++];for(var n=e-8*a.subblock_gain[0],q=e-8*a.subblock_gain[1],
e=e-8*a.subblock_gain[2];576>l;)c[g+0]=n-(a.scalefac[g+0]<<h),c[g+1]=q-(a.scalefac[g+1]<<h),c[g+2]=e-(a.scalefac[g+2]<<h),l+=3*b[g],g+=3}else if(a.flags&d.PREFLAG)for(g=0;22>g;g++)c[g]=e-(a.scalefac[g]+d.PRETAB[g]<<h);else for(g=0;22>g;g++)c[g]=e-(a.scalefac[g]<<h)};e.prototype.stereo=function(a,b,c,e,h){var g=b[c],l=this.modes,n,m,p;if(g.ch[0].block_type!==g.ch[1].block_type||(g.ch[0].flags&d.MIXED_BLOCK_FLAG)!==(g.ch[1].flags&d.MIXED_BLOCK_FLAG))throw Error("incompatible stereo block_type");for(p=
0;39>p;p++)l[p]=e.mode_extension;if(e.mode_extension&d.I_STEREO){var x=g.ch[1],r=a[1];e.flags|=q.FLAGS.tables.I_STEREO;if(2===x.block_type){var G,D,C,y=new Uint32Array(3),E,g=n=G=D=C=y[0]=y[1]=y[2]=0;if(x.flags&d.MIXED_BLOCK_FLAG){for(;36>n;){m=h[g++];for(p=0;p<m;++p)if(r[p]){G=g;break}r+=m;n+=m}D=g}for(E=0;576>n;){m=h[g++];for(p=0;p<m;++p)if(r[p]){C=y[E]=g;break}r+=m;n+=m;E=(E+1)%3}C&&(G=D);for(p=0;p<G;++p)l[p]=e.mode_extension&~d.I_STEREO;E=0;for(p=D;p<C;++p)p<y[E]&&(l[p]=e.mode_extension&~d.I_STEREO),
E=(E+1)%3}else{for(g=n=y=0;576>n;n+=m){m=h[g++];for(p=0;p<m;++p)if(r[p]){y=g;break}r+=m}for(p=0;p<y;++p)l[p]=e.mode_extension&~d.I_STEREO}if(e.flags&q.FLAGS.LSF_EXT)for(b=b[c+1].ch[1].scalefac,c=IS_Ltables.SF_TABLE[x.scalefac_compress&1],g=n=0;576>n;++g,n+=m){if(m=h[g],l[g]&d.I_STEREO)if(b[g])l[g]&=~d.I_STEREO;else for(is_pos=x.scalefac[g],p=0;p<m;++p)r=a[0][n+p],0===is_pos?a[1][n+p]=r:(G=r*c[(is_pos-1)/2],is_pos&1?(a[0][n+p]=G,a[1][n+p]=r):a[1][n+p]=G)}else for(g=n=0;576>n;++g,n+=m)if(m=h[g],l[g]&
d.I_STEREO)if(is_pos=x.scalefac[g],7<=is_pos)l[g]&=~d.I_STEREO;else for(p=0;p<m;++p)r=a[0][n+p],a[0][n+p]=r*d.IS_TABLE[is_pos],a[1][n+p]=r*d.IS_TABLE[6-is_pos]}if(e.mode_extension&d.MS_STEREO)for(e.flags|=d.MS_STEREO,e=d.ROOT_TABLE[1],g=n=0;576>n;++g,n+=m)if(m=h[g],l[g]===d.MS_STEREO)for(p=0;p<m;++p)x=a[0][n+p],b=a[1][n+p],a[0][n+p]=(x+b)*e,a[1][n+p]=(x-b)*e};e.prototype.aliasreduce=function(a,b){for(var c=18;c<b;c+=18)for(var e=0;8>e;++e){var g=a[c-e-1],h=a[c+e];a[c-e-1]=g*d.CS[e]-h*d.CA[e];a[c+
e]=h*d.CS[e]+g*d.CA[e]}};e.prototype.imdct_l=function(a,b,c){this.imdct.imdct36(a,b);switch(c){case 0:for(a=0;36>a;++a)b[a]*=d.WINDOW_L[a];break;case 1:for(a=0;18>a;++a)b[a]*=d.WINDOW_L[a];for(a=24;30>a;++a)b[a]*=d.WINDOW_S[a-18];for(a=30;36>a;++a)b[a]=0;break;case 3:for(a=0;6>a;++a)b[a]=0;for(a=6;12>a;++a)b[a]*=d.WINDOW_S[a-6];for(a=18;36>a;++a)b[a]*=d.WINDOW_L[a]}};e.prototype.imdct_s=function(a,b){var e=0,g;g=0;for(var h=new Float64Array(36),l,q=0;3>q;++q){for(var n=0,m=0;3>m;++m)l=a[g+0]*c.S[n][0]+
a[g+1]*c.S[n][1]+a[g+2]*c.S[n][2]+a[g+3]*c.S[n][3]+a[g+4]*c.S[n][4]+a[g+5]*c.S[n][5],h[e+m+0]=l,h[e+5-m]=-h[e+m+0],++n,l=a[g+0]*c.S[n][0]+a[g+1]*c.S[n][1]+a[g+2]*c.S[n][2]+a[g+3]*c.S[n][3]+a[g+4]*c.S[n][4]+a[g+5]*c.S[n][5],h[e+m+6]=l,h[e+11-m]=h[e+m+6],++n;e+=12;g+=6}for(m=g=e=0;6>m;++m)b[m+0]=0,b[m+6]=h[e+0+0]*d.WINDOW_S[g+0],l=h[e+0+6]*d.WINDOW_S[g+6]+h[e+12+0]*d.WINDOW_S[g+0],b[m+12]=l,l=h[e+12+6]*d.WINDOW_S[g+6]+h[e+24+0]*d.WINDOW_S[g+0],b[m+18]=l,b[m+24]=h[e+24+6]*d.WINDOW_S[g+6],b[m+30]=0,++e,
++g};e.prototype.overlap=function(a,b,c,d){for(var e=0;18>e;++e)c[e][d]=a[e]+b[e],b[e]=a[e+18]};e.prototype.freqinver=function(a,b){for(var c=1;18>c;c+=2)a[c][b]=-a[c][b]};e.prototype.overlap_z=function(a,b,c){for(var d=0;18>d;++d)b[d][c]=a[d],a[d]=0};e.prototype.reorder=function(a,b,c){var e=0,g=this.tmp,h=new Uint32Array(3),l=new Uint32Array(3),n=0;if(b.flags&d.MIXED_BLOCK_FLAG)for(n=2,b=0;36>b;)b+=c[e++];for(var m=0;3>m;++m)h[m]=n,l[m]=0;f=c[e++];m=0;for(b=18*n;576>b;++b)0===f--&&(f=c[e++]-1,m=
(m+1)%3),g[h[m]][m][l[m]++]=a[b],6===l[m]&&(l[m]=0,++h[m]);c=this.tmp2;for(e=h=0;32>e;e++)for(l=0;3>l;l++)for(b=0;6>b;b++)c[h++]=g[e][l][b];g=576-18*n;for(e=0;e<g;e++)a[18*n+e]=c[n+e]};b.exports=e},{"./frame":4,"./header":5,"./huffman":6,"./imdct":8,"./tables":14,"./utils":15}],12:[function(r,b,m){function g(a){this.stream=a;this.sync=!1;this.freerate=0;this.next_frame=this.this_frame=a.stream.offset;this.main_data=new Uint8Array(l.BUFFER_MDLEN);this.md_len=0;for(var b in a)"function"===typeof a[b]&&
(this[b]=a[b].bind(a))}var l=r("./header");g.prototype.getU8=function(a){var b=this.stream.stream;return b.peekUInt8(a-b.offset)};g.prototype.nextByte=function(){var a=this.stream;return 0===a.bitPosition?a.stream.offset:a.stream.offset+1};g.prototype.doSync=function(){var a=this.stream.stream;for(this.align();this.available(16)&&(255!==a.peekUInt8(0)||224!==(a.peekUInt8(1)&224));)this.advance(8);return this.available(l.BUFFER_GUARD)?!0:!1};g.prototype.reset=function(a){this.seek(8*a);this.next_frame=
a;this.sync=!0};b.exports=g},{"./header":5}],13:[function(r,b,m){function g(){this.filter=l.makeArray([2,2,2,16,8]);this.phase=0;this.pcm={samplerate:0,channels:0,length:0,samples:[new Float64Array(1152),new Float64Array(1152)]}}var l=r("./utils");g.dct32=function(a,b,g,h){var c,l,k,m,t,r,H,A,M,n,v,p,O,B,G,D,C,y,E,I,K,L,P,J,z,N,F,Q,R,S,T,U,V,W,X,Y,Z,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,Na,Oa,Pa,Qa,Ra,Sa,Ta,Ua,Va,Wa,Xa,
Ya,Za,$a,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc;c=a[0]+a[31];C=.998795456*(a[0]-a[31]);l=a[15]+a[16];y=.049067674*(a[15]-a[16]);ea=C+y;wa=.995184727*(C-y);W=c+l;na=.995184727*(c-l);k=a[7]+a[24];E=.740951125*(a[7]-a[24]);m=a[8]+a[23];I=.671558955*(a[8]-a[23]);fa=E+I;xa=.09801714*
(E-I);X=k+m;oa=.09801714*(k-m);t=a[3]+a[28];K=.941544065*(a[3]-a[28]);r=a[12]+a[19];L=.336889853*(a[12]-a[19]);ga=K+L;ya=.773010453*(K-L);Y=t+r;pa=.773010453*(t-r);H=a[4]+a[27];P=.903989293*(a[4]-a[27]);A=a[11]+a[20];J=.427555093*(a[11]-a[20]);ha=P+J;za=.634393284*(P-J);Z=H+A;qa=.634393284*(H-A);M=a[1]+a[30];z=.98917651*(a[1]-a[30]);n=a[14]+a[17];N=.146730474*(a[14]-a[17]);ia=z+N;Aa=.956940336*(z-N);aa=M+n;ra=.956940336*(M-n);v=a[6]+a[25];F=.803207531*(a[6]-a[25]);p=a[9]+a[22];Q=.595699304*(a[9]-
a[22]);ja=F+Q;Ba=.290284677*(F-Q);ba=v+p;sa=.290284677*(v-p);O=a[2]+a[29];R=.970031253*(a[2]-a[29]);B=a[13]+a[18];S=.24298018*(a[13]-a[18]);ka=R+S;Ca=.881921264*(R-S);ca=O+B;ta=.881921264*(O-B);G=a[5]+a[26];T=.85772861*(a[5]-a[26]);D=a[10]+a[21];U=.514102744*(a[10]-a[21]);la=T+U;Da=.471396737*(T-U);da=G+D;ua=.471396737*(G-D);Ga=W+X;$a=.98078528*(W-X);Ha=Y+Z;ab=.195090322*(Y-Z);Ia=aa+ba;bb=.831469612*(aa-ba);Ja=ca+da;cb=.555570233*(ca-da);Ka=ea+fa;eb=.98078528*(ea-fa);La=ga+ha;fb=.195090322*(ga-ha);
Ma=ia+ja;gb=.831469612*(ia-ja);Na=ka+la;hb=.555570233*(ka-la);Pa=na+oa;kb=.98078528*(na-oa);Qa=pa+qa;lb=.195090322*(pa-qa);Ra=ra+sa;mb=.831469612*(ra-sa);Sa=ta+ua;nb=.555570233*(ta-ua);Ua=wa+xa;qb=.98078528*(wa-xa);Va=ya+za;rb=.195090322*(ya-za);Wa=Aa+Ba;sb=.831469612*(Aa-Ba);Xa=Ca+Da;tb=.555570233*(Ca-Da);xb=Ga+Ha;yb=Ia+Ja;h[15][b]=xb+yb;g[0][b]=.707106781*(xb-yb);zb=Ka+La;Ab=Ma+Na;V=zb+Ab;h[14][b]=V;Cb=Pa+Qa;Db=Ra+Sa;va=Cb+Db;h[13][b]=va;Fb=Ua+Va;Gb=Wa+Xa;Ea=Fb+Gb;ma=2*Ea-V;h[12][b]=ma;Jb=$a+ab;
Kb=bb+cb;db=Jb+Kb;h[11][b]=db;Mb=eb+fb;Nb=gb+hb;ib=Mb+Nb;Fa=2*ib-ma;h[10][b]=Fa;Qb=kb+lb;Rb=mb+nb;ob=Qb+Rb;Ta=2*ob-va;h[9][b]=Ta;Ub=qb+rb;Vb=sb+tb;ub=Ub+Vb;Ya=2*ub-Ea;Oa=2*Ya-Fa;h[8][b]=Oa;Zb=.923879533*(Ga-Ha);$b=.382683432*(Ia-Ja);ac=Zb+$b;h[7][b]=ac;g[8][b]=1.414213562*(Zb-$b)-ac;bc=.923879533*(Ka-La);cc=.382683432*(Ma-Na);dc=bc+cc;Za=2*dc-Oa;h[6][b]=Za;fc=.923879533*(Pa-Qa);gc=.382683432*(Ra-Sa);hc=fc+gc;pb=2*hc-Ta;h[5][b]=pb;jc=.923879533*(Ua-Va);kc=.382683432*(Wa-Xa);lc=jc+kc;vb=2*lc-Ya;jb=
2*vb-Za;h[4][b]=jb;oc=.923879533*($a-ab);pc=.382683432*(bb-cb);qc=oc+pc;Lb=2*qc-db;h[3][b]=Lb;rc=1.414213562*(Jb-Kb)-Lb;g[4][b]=rc;g[12][b]=2*(1.414213562*(oc-pc)-qc)-rc;sc=.923879533*(eb-fb);tc=.382683432*(gb-hb);uc=sc+tc;Ob=2*uc-ib;wb=2*Ob-jb;h[2][b]=wb;vc=1.414213562*(Mb-Nb)-Ob;xc=.923879533*(kb-lb);yc=.382683432*(mb-nb);zc=xc+yc;Sb=2*zc-ob;Eb=2*Sb-pb;h[1][b]=Eb;Tb=1.414213562*(Cb-Db)-Eb;g[2][b]=Tb;Ac=1.414213562*(Qb-Rb)-Sb;ic=2*Ac-Tb;g[6][b]=ic;Bc=2*(1.414213562*(fc-gc)-hc)-ic;g[10][b]=Bc;g[14][b]=
2*(2*(1.414213562*(xc-yc)-zc)-Ac)-Bc;Cc=.923879533*(qb-rb);Dc=.382683432*(sb-tb);Ec=Cc+Dc;Wb=2*Ec-ub;Hb=2*Wb-vb;Xb=1.414213562*(Fb-Gb)-Hb;Bb=2*Hb-wb;h[0][b]=Bb;Ib=1.414213562*(zb-Ab)-Bb;g[1][b]=Ib;Pb=2*Xb-Ib;g[3][b]=Pb;Yb=2*vc-Pb;g[5][b]=Yb;Fc=1.414213562*(Ub-Vb)-Wb;mc=2*Fc-Xb;ec=2*mc-Yb;g[7][b]=ec;nc=2*(1.414213562*(bc-cc)-dc)-ec;g[9][b]=nc;Gc=2*(1.414213562*(jc-kc)-lc)-mc;wc=2*Gc-nc;g[11][b]=wc;Hc=2*(2*(1.414213562*(sc-tc)-uc)-vc)-wc;g[13][b]=Hc;g[15][b]=2*(2*(2*(1.414213562*(Cc-Dc)-Ec)-Fc)-Gc)-
Hc};var a=[[0,-4.42505E-4,.003250122,-.007003784,.031082153,-.07862854,.100311279,-.572036743,1.144989014,.572036743,.100311279,.07862854,.031082153,.007003784,.003250122,4.42505E-4,0,-4.42505E-4,.003250122,-.007003784,.031082153,-.07862854,.100311279,-.572036743,1.144989014,.572036743,.100311279,.07862854,.031082153,.007003784,.003250122,4.42505E-4],[-1.5259E-5,-4.73022E-4,.003326416,-.007919312,.030517578,-.084182739,.090927124,-.600219727,1.144287109,.543823242,.108856201,.073059082,.031478882,
.006118774,.003173828,3.96729E-4,-1.5259E-5,-4.73022E-4,.003326416,-.007919312,.030517578,-.084182739,.090927124,-.600219727,1.144287109,.543823242,.108856201,.073059082,.031478882,.006118774,.003173828,3.96729E-4],[-1.5259E-5,-5.34058E-4,.003387451,-.008865356,.029785156,-.089706421,.080688477,-.628295898,1.142211914,.515609741,.116577148,.067520142,.031738281,.0052948,.003082275,3.66211E-4,-1.5259E-5,-5.34058E-4,.003387451,-.008865356,.029785156,-.089706421,.080688477,-.628295898,1.142211914,.515609741,
.116577148,.067520142,.031738281,.0052948,.003082275,3.66211E-4],[-1.5259E-5,-5.79834E-4,.003433228,-.009841919,.028884888,-.095169067,.069595337,-.656219482,1.138763428,.487472534,.123474121,.06199646,.031845093,.004486084,.002990723,3.20435E-4,-1.5259E-5,-5.79834E-4,.003433228,-.009841919,.028884888,-.095169067,.069595337,-.656219482,1.138763428,.487472534,.123474121,.06199646,.031845093,.004486084,.002990723,3.20435E-4],[-1.5259E-5,-6.2561E-4,.003463745,-.010848999,.027801514,-.100540161,.057617187,
-.683914185,1.133926392,.459472656,.129577637,.056533813,.031814575,.003723145,.00289917,2.89917E-4,-1.5259E-5,-6.2561E-4,.003463745,-.010848999,.027801514,-.100540161,.057617187,-.683914185,1.133926392,.459472656,.129577637,.056533813,.031814575,.003723145,.00289917,2.89917E-4],[-1.5259E-5,-6.86646E-4,.003479004,-.011886597,.026535034,-.105819702,.044784546,-.71131897,1.127746582,.431655884,.134887695,.051132202,.031661987,.003005981,.002792358,2.59399E-4,-1.5259E-5,-6.86646E-4,.003479004,-.011886597,
.026535034,-.105819702,.044784546,-.71131897,1.127746582,.431655884,.134887695,.051132202,.031661987,.003005981,.002792358,2.59399E-4],[-1.5259E-5,-7.47681E-4,.003479004,-.012939453,.025085449,-.110946655,.031082153,-.738372803,1.120223999,.404083252,.139450073,.045837402,.031387329,.002334595,.002685547,2.44141E-4,-1.5259E-5,-7.47681E-4,.003479004,-.012939453,.025085449,-.110946655,.031082153,-.738372803,1.120223999,.404083252,.139450073,.045837402,.031387329,.002334595,.002685547,2.44141E-4],[-3.0518E-5,
-8.08716E-4,.003463745,-.014022827,.023422241,-.115921021,.01651001,-.765029907,1.111373901,.376800537,.143264771,.040634155,.031005859,.001693726,.002578735,2.13623E-4,-3.0518E-5,-8.08716E-4,.003463745,-.014022827,.023422241,-.115921021,.01651001,-.765029907,1.111373901,.376800537,.143264771,.040634155,.031005859,.001693726,.002578735,2.13623E-4],[-3.0518E-5,-8.8501E-4,.003417969,-.01512146,.021575928,-.120697021,.001068115,-.791213989,1.101211548,.349868774,.146362305,.035552979,.030532837,.001098633,
.002456665,1.98364E-4,-3.0518E-5,-8.8501E-4,.003417969,-.01512146,.021575928,-.120697021,.001068115,-.791213989,1.101211548,.349868774,.146362305,.035552979,.030532837,.001098633,.002456665,1.98364E-4],[-3.0518E-5,-9.61304E-4,.003372192,-.016235352,.01953125,-.125259399,-.015228271,-.816864014,1.089782715,.323318481,.148773193,.030609131,.029937744,5.49316E-4,.002349854,1.67847E-4,-3.0518E-5,-9.61304E-4,.003372192,-.016235352,.01953125,-.125259399,-.015228271,-.816864014,1.089782715,.323318481,.148773193,
.030609131,.029937744,5.49316E-4,.002349854,1.67847E-4],[-3.0518E-5,-.001037598,.00328064,-.017349243,.01725769,-.129562378,-.03237915,-.841949463,1.07711792,.297210693,.150497437,.025817871,.029281616,3.0518E-5,.002243042,1.52588E-4,-3.0518E-5,-.001037598,.00328064,-.017349243,.01725769,-.129562378,-.03237915,-.841949463,1.07711792,.297210693,.150497437,.025817871,.029281616,3.0518E-5,.002243042,1.52588E-4],[-4.5776E-5,-.001113892,.003173828,-.018463135,.014801025,-.133590698,-.050354004,-.866363525,
1.063217163,.271591187,.151596069,.021179199,.028533936,-4.42505E-4,.002120972,1.37329E-4,-4.5776E-5,-.001113892,.003173828,-.018463135,.014801025,-.133590698,-.050354004,-.866363525,1.063217163,.271591187,.151596069,.021179199,.028533936,-4.42505E-4,.002120972,1.37329E-4],[-4.5776E-5,-.001205444,.003051758,-.019577026,.012115479,-.137298584,-.069168091,-.890090942,1.048156738,.246505737,.152069092,.016708374,.02772522,-8.69751E-4,.00201416,1.2207E-4,-4.5776E-5,-.001205444,.003051758,-.019577026,
.012115479,-.137298584,-.069168091,-.890090942,1.048156738,.246505737,.152069092,.016708374,.02772522,-8.69751E-4,.00201416,1.2207E-4],[-6.1035E-5,-.001296997,.002883911,-.020690918,.009231567,-.140670776,-.088775635,-.91305542,1.031936646,.221984863,.15196228,.012420654,.02684021,-.001266479,.001907349,1.06812E-4,-6.1035E-5,-.001296997,.002883911,-.020690918,.009231567,-.140670776,-.088775635,-.91305542,1.031936646,.221984863,.15196228,.012420654,.02684021,-.001266479,.001907349,1.06812E-4],[-6.1035E-5,
-.00138855,.002700806,-.021789551,.006134033,-.143676758,-.109161377,-.935195923,1.01461792,.198059082,.151306152,.00831604,.025909424,-.001617432,.001785278,1.06812E-4,-6.1035E-5,-.00138855,.002700806,-.021789551,.006134033,-.143676758,-.109161377,-.935195923,1.01461792,.198059082,.151306152,.00831604,.025909424,-.001617432,.001785278,1.06812E-4],[-7.6294E-5,-.001480103,.002487183,-.022857666,.002822876,-.146255493,-.130310059,-.956481934,.996246338,.174789429,.150115967,.004394531,.024932861,-.001937866,
.001693726,9.1553E-5,-7.6294E-5,-.001480103,.002487183,-.022857666,.002822876,-.146255493,-.130310059,-.956481934,.996246338,.174789429,.150115967,.004394531,.024932861,-.001937866,.001693726,9.1553E-5],[-7.6294E-5,-.001586914,.002227783,-.023910522,-6.86646E-4,-.148422241,-.152206421,-.976852417,.976852417,.152206421,.148422241,6.86646E-4,.023910522,-.002227783,.001586914,7.6294E-5,-7.6294E-5,-.001586914,.002227783,-.023910522,-6.86646E-4,-.148422241,-.152206421,-.976852417,.976852417,.152206421,
.148422241,6.86646E-4,.023910522,-.002227783,.001586914,7.6294E-5]];g.prototype.full=function(b,d,l){for(var h,c,m,k=0;k<d;++k)for(var r=b.sbsample[k],t=this.filter[k],u=this.phase,H=this.pcm.samples[k],A=0,M=0,n=0;n<l;++n){g.dct32(r[n],u>>1,t[0][u&1],t[1][u&1]);var v=u&-2,p=u-1&15|1,O=t[0][u&1];c=t[0][~u&1];var B=t[1][~u&1],G=0,D=0;h=0;m=a[h];_fx=c[0];_fe=O[G];c=_fx[0]*m[p+0];c+=_fx[1]*m[p+14];c+=_fx[2]*m[p+12];c+=_fx[3]*m[p+10];c+=_fx[4]*m[p+8];c+=_fx[5]*m[p+6];c+=_fx[6]*m[p+4];c+=_fx[7]*m[p+2];
c=-c;c+=_fe[0]*m[v+0];c+=_fe[1]*m[v+14];c+=_fe[2]*m[v+12];c+=_fe[3]*m[v+10];c+=_fe[4]*m[v+8];c+=_fe[5]*m[v+6];c+=_fe[6]*m[v+4];c+=_fe[7]*m[v+2];H[A++]=c;for(var M=A+30,C=1;16>C;++C)++G,++h,m=a[h],_fo=B[D],_fe=O[G],c=_fo[0]*m[p+0],c+=_fo[1]*m[p+14],c+=_fo[2]*m[p+12],c+=_fo[3]*m[p+10],c+=_fo[4]*m[p+8],c+=_fo[5]*m[p+6],c+=_fo[6]*m[p+4],c+=_fo[7]*m[p+2],c=-c,c+=_fe[7]*m[v+2],c+=_fe[6]*m[v+4],c+=_fe[5]*m[v+6],c+=_fe[4]*m[v+8],c+=_fe[3]*m[v+10],c+=_fe[2]*m[v+12],c+=_fe[1]*m[v+14],c+=_fe[0]*m[v+0],H[A++]=
c,c=_fe[0]*m[-v+31-16],c+=_fe[1]*m[-v+31-14],c+=_fe[2]*m[-v+31-12],c+=_fe[3]*m[-v+31-10],c+=_fe[4]*m[-v+31-8],c+=_fe[5]*m[-v+31-6],c+=_fe[6]*m[-v+31-4],c+=_fe[7]*m[-v+31-2],c+=_fo[7]*m[-p+31-2],c+=_fo[6]*m[-p+31-4],c+=_fo[5]*m[-p+31-6],c+=_fo[4]*m[-p+31-8],c+=_fo[3]*m[-p+31-10],c+=_fo[2]*m[-p+31-12],c+=_fo[1]*m[-p+31-14],c+=_fo[0]*m[-p+31-16],H[M--]=c,++D;++h;m=a[h];_fo=B[D];c=_fo[0]*m[p+0];c+=_fo[1]*m[p+14];c+=_fo[2]*m[p+12];c+=_fo[3]*m[p+10];c+=_fo[4]*m[p+8];c+=_fo[5]*m[p+6];c+=_fo[6]*m[p+4];c+=
_fo[7]*m[p+2];H[A]=-c;A+=16;u=(u+1)%16}};g.prototype.frame=function(a){var b=a.header.nchannels(),g=a.header.nbsamples();this.pcm.samplerate=a.header.samplerate;this.pcm.channels=b;this.pcm.length=32*g;this.full(a,b,g);this.phase=(this.phase+g)%16};b.exports=g},{"./utils":15}],14:[function(r,b,m){m.SF_TABLE=new Float32Array([2,1.587401051968,1.259921049895,1,.793700525984,.629960524947,.5,.396850262992,.314980262474,.25,.198425131496,.157490131237,.125,.099212565748,.078745065618,.0625,.049606282874,
.039372532809,.03125,.024803141437,.019686266405,.015625,.012401570719,.009843133202,.0078125,.006200785359,.004921566601,.00390625,.00310039268,.002460783301,.001953125,.00155019634,.00123039165,9.765625E-4,7.7509817E-4,6.15195825E-4,4.8828125E-4,3.87549085E-4,3.07597913E-4,2.44140625E-4,1.93774542E-4,1.53798956E-4,1.22070313E-4,9.6887271E-5,7.6899478E-5,6.1035156E-5,4.8443636E-5,3.8449739E-5,3.0517578E-5,2.4221818E-5,1.922487E-5,1.5258789E-5,1.2110909E-5,9.612435E-6,7.629395E-6,6.055454E-6,4.806217E-6,
3.814697E-6,3.027727E-6,2.403109E-6,1.907349E-6,1.513864E-6,1.201554E-6,0]);r=new Uint8Array([4,4,4,4,4,4,6,6,6,8,10,12,16,18,22,28,34,40,46,54,54,192]);b=new Uint8Array([4,4,4,4,4,4,6,6,8,8,10,12,16,20,24,28,34,42,50,54,76,158]);var g=new Uint8Array([4,4,4,4,4,4,6,6,8,10,12,16,20,24,30,38,46,56,68,84,102,26]),l=new Uint8Array([4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,6,6,6,10,10,10,12,12,12,14,14,14,16,16,16,20,20,20,26,26,26,66,66,66]),a=new Uint8Array([4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,
14,14,14,18,18,18,22,22,22,30,30,30,56,56,56]),e=new Uint8Array([4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,12,12,12,16,16,16,20,20,20,26,26,26,34,34,34,42,42,42,12,12,12]),d=new Uint8Array([4,4,4,4,4,4,6,6,4,4,4,6,6,6,6,6,6,10,10,10,12,12,12,14,14,14,16,16,16,20,20,20,26,26,26,66,66,66]),q=new Uint8Array([4,4,4,4,4,4,6,6,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,22,22,22,30,30,30,56,56,56]),h=new Uint8Array([4,4,4,4,4,4,6,6,4,4,4,6,6,6,8,8,8,12,12,12,16,16,16,20,20,20,26,26,26,34,34,34,42,42,
42,12,12,12]),c=new Uint8Array([6,6,6,6,6,6,8,10,12,14,16,18,22,26,32,38,46,54,62,70,76,36]),x=new Uint8Array([6,6,6,6,6,6,8,10,12,14,16,20,24,28,32,38,46,52,60,68,58,54]),k=new Uint8Array([4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,32,32,32,44,44,44,12,12,12]),w=new Uint8Array([4,4,4,4,4,4,4,4,4,6,6,6,6,6,6,8,8,8,10,10,10,14,14,14,18,18,18,26,26,26,32,32,32,42,42,42,18,18,18]),t=new Uint8Array([4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,
24,30,30,30,40,40,40,18,18,18]),u=new Uint8Array([6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,32,32,32,44,44,44,12,12,12]),H=new Uint8Array([6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,14,14,14,18,18,18,26,26,26,32,32,32,42,42,42,18,18,18]),A=new Uint8Array([6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,30,30,30,40,40,40,18,18,18]),M=new Uint8Array([12,12,12,12,12,12,16,20,24,28,32,40,48,56,64,76,90,2,2,2,2,2]),n=new Uint8Array([8,8,8,8,8,8,8,8,8,12,12,12,
16,16,16,20,20,20,24,24,24,28,28,28,36,36,36,2,2,2,2,2,2,2,2,2,26,26,26]),v=new Uint8Array([12,12,12,4,4,4,8,8,8,12,12,12,16,16,16,20,20,20,24,24,24,28,28,28,36,36,36,2,2,2,2,2,2,2,2,2,26,26,26]);m.SFBWIDTH_TABLE=[{l:r,s:l,m:d},{l:b,s:a,m:q},{l:g,s:e,m:h},{l:c,s:k,m:u},{l:x,s:w,m:H},{l:x,s:t,m:A},{l:x,s:t,m:A},{l:x,s:t,m:A},{l:M,s:n,m:v}];m.PRETAB=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0]);m.ROOT_TABLE=new Float32Array([.59460355750136,.70710678118655,.84089641525371,1,1.18920711500272,
1.4142135623731,1.68179283050743]);m.CS=new Float32Array([.857492926,.881741997,.949628649,.983314592,.995517816,.999160558,.999899195,.999993155]);m.CA=new Float32Array([-.514495755,-.471731969,-.313377454,-.1819132,-.094574193,-.040965583,-.014198569,-.003699975]);m.COUNT1TABLE_SELECT=1;m.SCALEFAC_SCALE=2;m.PREFLAG=4;m.MIXED_BLOCK_FLAG=8;m.I_STEREO=1;m.MS_STEREO=2;m.WINDOW_L=new Float32Array([.043619387,.130526192,.216439614,.3007058,.382683432,.461748613,.537299608,.608761429,.675590208,.737277337,
.79335334,.843391446,.887010833,.923879533,.953716951,.976296007,.991444861,.999048222,.999048222,.991444861,.976296007,.953716951,.923879533,.887010833,.843391446,.79335334,.737277337,.675590208,.608761429,.537299608,.461748613,.382683432,.3007058,.216439614,.130526192,.043619387]);m.WINDOW_S=new Float32Array([.130526192,.382683432,.608761429,.79335334,.923879533,.991444861,.991444861,.923879533,.79335334,.608761429,.382683432,.130526192]);m.IS_TABLE=new Float32Array([0,.211324865,.366025404,.5,
.633974596,.788675135,1]);m.IS_LSF_TABLE=[new Float32Array([.840896415,.707106781,.594603558,.5,.420448208,.353553391,.297301779,.25,.210224104,.176776695,.148650889,.125,.105112052,.088388348,.074325445]),new Float32Array([.707106781,.5,.353553391,.25,.176776695,.125,.088388348,.0625,.044194174,.03125,.022097087,.015625,.011048543,.0078125,.005524272])];m.SFLEN_TABLE=[{slen1:0,slen2:0},{slen1:0,slen2:1},{slen1:0,slen2:2},{slen1:0,slen2:3},{slen1:3,slen2:0},{slen1:1,slen2:1},{slen1:1,slen2:2},{slen1:1,
slen2:3},{slen1:2,slen2:1},{slen1:2,slen2:2},{slen1:2,slen2:3},{slen1:3,slen2:1},{slen1:3,slen2:2},{slen1:3,slen2:3},{slen1:4,slen2:2},{slen1:4,slen2:3}];m.NSFB_TABLE=[[[6,5,5,5],[9,9,9,9],[6,9,9,9]],[[6,5,7,3],[9,9,12,6],[6,9,12,6]],[[11,10,0,0],[18,18,0,0],[15,18,0,0]],[[7,7,7,0],[12,12,12,0],[6,15,12,0]],[[6,6,6,3],[12,9,9,6],[6,12,9,6]],[[8,8,5,0],[15,12,9,0],[6,18,9,0]]]},{}],15:[function(r,b,m){m.makeArray=function(b,l){l||(l=Float64Array);if(1===b.length)return new l(b[0]);for(var a=[],e=b[0],
d=0;d<e;d++)a[d]=m.makeArray(b.slice(1),l);return a}},{}]},{},[1]);
3),new g(q,0,3),new g(h,0,3),null,new g(c,0,3),new g(x,0,4),new g(k,0,4),new g(w,0,4),new g(t,0,4),new g(u,0,4),new g(H,0,4),new g(A,0,4),new g(M,0,4),null,new g(n,0,4),new g(v,1,4),new g(v,2,4),new g(v,3,4),new g(v,4,4),new g(v,6,4),new g(v,8,4),new g(v,10,4),new g(v,13,4),new g(b,4,4),new g(b,5,4),new g(b,6,4),new g(b,7,4),new g(b,8,4),new g(b,9,4),new g(b,11,4),new g(b,13,4)]},{}],7:[function(r,b,m){var g=["latin1","utf16-bom","utf16-be","utf8"];r=AV.Base.extend({constructor:function(b,a){this.header=
b;this.stream=a;this.offset=0},read:function(){if(!this.data){this.data={};for(var b;b=this.readFrame();)b.key in this.data?(Array.isArray(this.data[b.key])||(this.data[b.key]=[this.data[b.key]]),this.data[b.key].push(b.value)):this.data[b.key]=b.value}return this.data},readFrame:function(){if(this.offset>=this.header.length)return null;var b=this.readHeader(),a=b.identifier;if(0===b.identifier.charCodeAt(0))return this.offset+=this.header.length+1,null;if(!this.frameTypes[a])for(var e in this.map)if(-1!==
this.map[e].indexOf(a)){a=e;break}this.frameTypes[a]?(a=this.decodeFrame(b,this.frameTypes[a]),e=Object.keys(a),1===e.length&&(a=a[e[0]]),a={value:a}):a={value:this.stream.readBuffer(Math.min(b.length,this.header.length-this.offset))};a.key=this.names[b.identifier]?this.names[b.identifier]:b.identifier;"coverArt"===a.key&&(a.value=a.value.data);this.offset+=10+b.length;return a},decodeFrame:function(b,a){var e=this.stream,d=e.offset,q=0,h={},c=Object.keys(a).length,x=0,k;for(k in a){var w=a[k],t=
b.length-(e.offset-d);x++;switch(k){case "encoding":q=e.readUInt8();continue;case "language":h.language=e.readString(3);continue}switch(w){case "latin1":h[k]=e.readString(x===c?t:null,"latin1");break;case "string":h[k]=e.readString(x===c?t:null,g[q]);break;case "binary":h[k]=e.readBuffer(t);break;case "int16":h[k]=e.readInt16();break;case "int8":h[k]=e.readInt8();break;case "int24":h[k]=e.readInt24();break;case "int32":h[k]=e.readInt32();break;case "int32+":h[k]=e.readInt32();if(4<t)throw Error("Seriously dude? Stop playing this song and get a life!");
break;case "date":w=e.readString(8);h[k]=new Date(w.slice(0,4),w.slice(4,6)-1,w.slice(6,8));break;case "frame_id":h[k]=e.readString(4);break;default:throw Error("Unknown key type "+w);}}t=b.length-(e.offset-d);0<t&&e.advance(t);return h}});m.ID3v23Stream=r.extend({readHeader:function(){var b=this.stream.readString(4),a=0;if(4===this.header.major)for(var e=0;4>e;e++)a=(a<<7)+(this.stream.readUInt8()&127);else a=this.stream.readUInt32();return{identifier:b,length:a,flags:this.stream.readUInt16()}},
map:{text:"TIT1 TIT2 TIT3 TALB TOAL TRCK TPOS TSST TSRC TPE1 TPE2 TPE3 TPE4 TOPE TEXT TOLY TCOM TMCL TIPL TENC TBPM TLEN TKEY TLAN TCON TFLT TMED TMOO TCOP TPRO TPUB TOWN TRSN TRSO TOFN TDLY TDEN TDOR TDRC TDRL TDTG TSSE TSOA TSOP TSOT TDAT TIME TORY TRDA TSIZ TYER TCMP TSO2 TSOC".split(" "),url:"WCOM WCOP WOAF WOAR WOAS WORS WPAY WPUB".split(" ")},frameTypes:{text:{encoding:1,value:"string"},url:{value:"latin1"},TXXX:{encoding:1,description:"string",value:"string"},WXXX:{encoding:1,description:"string",
value:"latin1"},USLT:{encoding:1,language:1,description:"string",value:"string"},COMM:{encoding:1,language:1,description:"string",value:"string"},APIC:{encoding:1,mime:"latin1",type:"int8",description:"string",data:"binary"},UFID:{owner:"latin1",identifier:"binary"},MCDI:{value:"binary"},PRIV:{owner:"latin1",value:"binary"},GEOB:{encoding:1,mime:"latin1",filename:"string",description:"string",data:"binary"},PCNT:{value:"int32+"},POPM:{email:"latin1",rating:"int8",counter:"int32+"},AENC:{owner:"latin1",
previewStart:"int16",previewLength:"int16",encryptionInfo:"binary"},ETCO:{format:"int8",data:"binary"},MLLT:{framesBetweenReference:"int16",bytesBetweenReference:"int24",millisecondsBetweenReference:"int24",bitsForBytesDeviation:"int8",bitsForMillisecondsDev:"int8",data:"binary"},SYTC:{format:"int8",tempoData:"binary"},SYLT:{encoding:1,language:1,format:"int8",contentType:"int8",description:"string",data:"binary"},RVA2:{identification:"latin1",data:"binary"},EQU2:{interpolationMethod:"int8",identification:"latin1",
data:"binary"},RVRB:{left:"int16",right:"int16",bouncesLeft:"int8",bouncesRight:"int8",feedbackLL:"int8",feedbackLR:"int8",feedbackRR:"int8",feedbackRL:"int8",premixLR:"int8",premixRL:"int8"},RBUF:{size:"int24",flag:"int8",offset:"int32"},LINK:{identifier:"frame_id",url:"latin1",data:"binary"},POSS:{format:"int8",position:"binary"},USER:{encoding:1,language:1,value:"string"},OWNE:{encoding:1,price:"latin1",purchaseDate:"date",seller:"string"},COMR:{encoding:1,price:"latin1",validUntil:"date",contactURL:"latin1",
receivedAs:"int8",seller:"string",description:"string",logoMime:"latin1",logo:"binary"},ENCR:{owner:"latin1",methodSymbol:"int8",data:"binary"},GRID:{owner:"latin1",groupSymbol:"int8",data:"binary"},SIGN:{groupSymbol:"int8",signature:"binary"},SEEK:{value:"int32"},ASPI:{dataStart:"int32",dataLength:"int32",numPoints:"int16",bitsPerPoint:"int8",data:"binary"},IPLS:{encoding:1,value:"string"},RVAD:{adjustment:"int8",bits:"int8",data:"binary"},EQUA:{adjustmentBits:"int8",data:"binary"}},names:{TIT1:"grouping",
TIT2:"title",TIT3:"subtitle",TALB:"album",TOAL:"originalAlbumTitle",TRCK:"trackNumber",TPOS:"diskNumber",TSST:"setSubtitle",TSRC:"ISRC",TPE1:"artist",TPE2:"albumArtist",TPE3:"conductor",TPE4:"modifiedBy",TOPE:"originalArtist",TEXT:"lyricist",TOLY:"originalLyricist",TCOM:"composer",TMCL:"musicianCreditsList",TIPL:"involvedPeopleList",TENC:"encodedBy",TBPM:"tempo",TLEN:"length",TKEY:"initialKey",TLAN:"language",TCON:"genre",TFLT:"fileType",TMED:"mediaType",TMOO:"mood",TCOP:"copyright",TPRO:"producedNotice",
TPUB:"publisher",TOWN:"fileOwner",TRSN:"internetRadioStationName",TRSO:"internetRadioStationOwner",TOFN:"originalFilename",TDLY:"playlistDelay",TDEN:"encodingTime",TDOR:"originalReleaseTime",TDRC:"recordingTime",TDRL:"releaseTime",TDTG:"taggingTime",TSSE:"encodedWith",TSOA:"albumSortOrder",TSOP:"performerSortOrder",TSOT:"titleSortOrder",TXXX:"userText",USLT:"lyrics",APIC:"coverArt",UFID:"uniqueIdentifier",MCDI:"CDIdentifier",COMM:"comments",WCOM:"commercialInformation",WCOP:"copyrightInformation",
WOAF:"officialAudioFileWebpage",WOAR:"officialArtistWebpage",WOAS:"officialAudioSourceWebpage",WORS:"officialInternetRadioStationHomepage",WPAY:"payment",WPUB:"officialPublisherWebpage",WXXX:"url",PRIV:"private",GEOB:"generalEncapsulatedObject",PCNT:"playCount",POPM:"rating",AENC:"audioEncryption",ETCO:"eventTimingCodes",MLLT:"MPEGLocationLookupTable",SYTC:"synchronisedTempoCodes",SYLT:"synchronisedLyrics",RVA2:"volumeAdjustment",EQU2:"equalization",RVRB:"reverb",RBUF:"recommendedBufferSize",LINK:"link",
POSS:"positionSynchronisation",USER:"termsOfUse",OWNE:"ownership",COMR:"commercial",ENCR:"encryption",GRID:"groupIdentifier",SIGN:"signature",SEEK:"seek",ASPI:"audioSeekPointIndex",TDAT:"date",TIME:"time",TORY:"originalReleaseYear",TRDA:"recordingDates",TSIZ:"size",TYER:"year",IPLS:"involvedPeopleList",RVAD:"volumeAdjustment",EQUA:"equalization",TCMP:"compilation",TSO2:"albumArtistSortOrder",TSOC:"composerSortOrder"}});m.ID3v22Stream=m.ID3v23Stream.extend({readHeader:function(){var b=this.stream.readString(3);
this.frameReplacements[b]&&!this.frameTypes[b]&&(this.frameTypes[b]=this.frameReplacements[b]);return{identifier:this.replacements[b]||b,length:this.stream.readUInt24()}},replacements:{UFI:"UFID",TT1:"TIT1",TT2:"TIT2",TT3:"TIT3",TP1:"TPE1",TP2:"TPE2",TP3:"TPE3",TP4:"TPE4",TCM:"TCOM",TXT:"TEXT",TLA:"TLAN",TCO:"TCON",TAL:"TALB",TPA:"TPOS",TRK:"TRCK",TRC:"TSRC",TYE:"TYER",TDA:"TDAT",TIM:"TIME",TRD:"TRDA",TMT:"TMED",TFT:"TFLT",TBP:"TBPM",TCR:"TCOP",TPB:"TPUB",TEN:"TENC",TSS:"TSSE",TOF:"TOFN",TLE:"TLEN",
TSI:"TSIZ",TDY:"TDLY",TKE:"TKEY",TOT:"TOAL",TOA:"TOPE",TOL:"TOLY",TOR:"TORY",TXX:"TXXX",WAF:"WOAF",WAR:"WOAR",WAS:"WOAS",WCM:"WCOM",WCP:"WCOP",WPB:"WPUB",WXX:"WXXX",IPL:"IPLS",MCI:"MCDI",ETC:"ETCO",MLL:"MLLT",STC:"SYTC",ULT:"USLT",SLT:"SYLT",COM:"COMM",RVA:"RVAD",EQU:"EQUA",REV:"RVRB",GEO:"GEOB",CNT:"PCNT",POP:"POPM",BUF:"RBUF",CRA:"AENC",LNK:"LINK",TST:"TSOT",TSP:"TSOP",TSA:"TSOA",TCP:"TCMP",TS2:"TSO2",TSC:"TSOC"},frameReplacements:{PIC:{encoding:1,format:"int24",type:"int8",description:"string",
data:"binary"},CRM:{owner:"latin1",description:"latin1",data:"binary"}}})},{}],8:[function(r,b,m){function g(){this.tmp_imdct36=new Float64Array(18);this.tmp_dctIV=new Float64Array(18);this.tmp_sdctII=new Float64Array(9)}function l(a,b,e){var A,l,n,g,p,m,B,r,D,C,y,E;A=a[3]+a[5];l=a[3]-a[5];n=a[6]+a[2];g=a[6]-a[2];p=a[1]+a[7];m=a[1]-a[7];B=a[8]+a[0];r=a[8]-a[0];D=A+n+B;C=(l+g)*-c;y=(l-r)*-d;E=(g+r)*-x;l=(l-g+r)*-q;m*=-q;g=(n-B)*-w;B=(A-B)*-k;n=(A-n)*-h;A=a[4]+p;a=2*a[4]-p;b[e+0]=A+D;b[e+2]=C-(m+y);
b[e+4]=n-(a+g);b[e+6]=l;b[e+8]=a-g-B;b[e+10]=m-E-y;b[e+12]=D-2*A;b[e+14]=m+E+C;b[e+16]=a+B+n}g.prototype.imdct36=function(a,b){var k=this.tmp_imdct36;this.dctIV(a,k);for(var c=0;9>c;++c)b[c]=k[9+c];for(c=9;27>c;++c)b[c]=-k[36-(9+c)-1];for(c=27;36>c;++c)b[c]=-k[c-27]};var a=[];for(r=0;18>r;r++)a[r]=2*Math.cos(Math.PI*(2*r+1)/72);g.prototype.dctIV=function(b,k){for(var c=this.tmp_dctIV,d=0;18>d;++d)c[d]=b[d]*a[d];this.sdctII(c,k);k[0]/=2;for(d=1;18>d;++d)k[d]=k[d]/2-k[d-1]};var e=[];for(r=0;9>r;++r)e[r]=
2*Math.cos(Math.PI*(2*r+1)/36);g.prototype.sdctII=function(a,b){for(var k=this.tmp_sdctII,c=0;9>c;++c)k[c]=a[c]+a[18-c-1];l(k,b,0);for(c=0;9>c;++c)k[c]=(a[c]-a[18-c-1])*e[c];l(k,b,1);for(c=3;18>c;c+=2)b[c]-=b[c-2]};var d=2*Math.cos(1*Math.PI/18),q=2*Math.cos(3*Math.PI/18),h=2*Math.cos(4*Math.PI/18),c=2*Math.cos(5*Math.PI/18),x=2*Math.cos(7*Math.PI/18),k=2*Math.cos(8*Math.PI/18),w=2*Math.cos(16*Math.PI/18);g.S=[[.608761429,-.923879533,-.130526192,.991444861,-.382683432,-.79335334],[-.79335334,.382683432,
.991444861,.130526192,-.923879533,-.608761429],[.382683432,-.923879533,.923879533,-.382683432,-.382683432,.923879533],[-.923879533,-.382683432,.382683432,.923879533,.923879533,.382683432],[.130526192,-.382683432,.608761429,-.79335334,.923879533,-.991444861],[-.991444861,-.923879533,-.79335334,-.608761429,-.382683432,-.130526192]];b.exports=g},{}],9:[function(r,b,m){function g(){this.allocation=e.makeArray([2,32],Uint8Array);this.scalefactor=e.makeArray([2,32],Uint8Array)}var l=r("./tables"),a=r("./header");
m=r("./frame");var e=r("./utils");m.layers[1]=g;var d=new Float32Array([1.33333333333333,1.14285714285714,1.06666666666667,1.03225806451613,1.01587301587302,1.00787401574803,1.00392156862745,1.00195694716243,1.00097751710655,1.00048851978505,1.0002442002442,1.00012208521548,1.00006103888177,1.00003051850948]);g.prototype.decode=function(b,d){var c=d.header,e=c.nchannels(),k=32;c.mode===a.MODE.JOINT_STEREO&&(c.flags|=a.FLAGS.I_STEREO,k=4+4*c.mode_extension);for(var c=this.allocation,w=0;w<k;w++)for(var t=
0;t<e;t++){var u=b.read(4);if(15===u)throw Error("forbidden bit allocation value");c[t][w]=u?u+1:0}for(w=k;32>w;w++){u=b.read(4);if(15===u)throw Error("forbidden bit allocation value");c[0][w]=c[1][w]=u?u+1:0}for(var g=this.scalefactor,w=0;32>w;w++)for(t=0;t<e;t++)c[t][w]&&(g[t][w]=b.read(6));for(var A=0;12>A;A++){for(w=0;w<k;w++)for(t=0;t<e;t++)u=c[t][w],d.sbsample[t][A][w]=u?this.sample(b,u)*l.SF_TABLE[g[t][w]]:0;for(w=k;32>w;w++)if(u=c[0][w])for(u=this.sample(b,u),t=0;t<e;t++)d.sbsample[t][A][w]=
u*l.SF_TABLE[g[t][w]];else for(t=0;t<e;t++)d.sbsample[t][A][w]=0}};g.prototype.sample=function(a,b){var c=a.read(b),c=c^1<<b-1,c=(c|-(c&1<<b-1))/(1<<b-1),c=c+(1>>b-1);return c*d[b-2]};b.exports=g},{"./frame":4,"./header":5,"./tables":14,"./utils":15}],10:[function(r,b,m){function g(){this.samples=new Float64Array(3);this.allocation=e.makeArray([2,32],Uint8Array);this.scfsi=e.makeArray([2,32],Uint8Array);this.scalefactor=e.makeArray([2,32,3],Uint8Array)}var l=r("./tables"),a=r("./header");m=r("./frame");
var e=r("./utils");m.layers[2]=g;var d=[{sblimit:27,offsets:[7,7,7,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0]},{sblimit:30,offsets:[7,7,7,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0]},{sblimit:8,offsets:[5,5,2,2,2,2,2,2]},{sblimit:12,offsets:[5,5,2,2,2,2,2,2,2,2,2,2]},{sblimit:30,offsets:[4,4,4,4,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}],q=[{nbal:2,offset:0},{nbal:2,offset:3},{nbal:3,offset:3},{nbal:3,offset:1},{nbal:4,offset:2},{nbal:4,offset:3},{nbal:4,offset:4},{nbal:4,
offset:5}],h=[[0,1,16],[0,1,2,3,4,5,16],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,16],[0,2,4,5,6,7,8,9,10,11,12,13,14,15,16]],c=[{nlevels:3,group:2,bits:5,C:1.33333333333,D:.5},{nlevels:5,group:3,bits:7,C:1.6,D:.5},{nlevels:7,group:0,bits:3,C:1.14285714286,D:.25},{nlevels:9,group:4,bits:10,C:1.77777777777,D:.5},{nlevels:15,group:0,bits:4,C:1.06666666666,D:.125},{nlevels:31,group:0,bits:5,C:1.03225806452,D:.0625},{nlevels:63,group:0,
bits:6,C:1.01587301587,D:.03125},{nlevels:127,group:0,bits:7,C:1.00787401575,D:.015625},{nlevels:255,group:0,bits:8,C:1.00392156863,D:.0078125},{nlevels:511,group:0,bits:9,C:1.00195694716,D:.00390625},{nlevels:1023,group:0,bits:10,C:1.00097751711,D:.001953125},{nlevels:2047,group:0,bits:11,C:1.00048851979,D:9.765625E-4},{nlevels:4095,group:0,bits:12,C:1.00024420024,D:4.8828125E-4},{nlevels:8191,group:0,bits:13,C:1.00012208522,D:2.4414063E-4},{nlevels:16383,group:0,bits:14,C:1.00006103888,D:1.2207031E-4},
{nlevels:32767,group:0,bits:15,C:1.00003051851,D:6.103516E-5},{nlevels:65535,group:0,bits:16,C:1.00001525902,D:3.051758E-5}];g.prototype.decode=function(b,k){var e=k.header,t=e.nchannels(),u;if(e.flags&a.FLAGS.LSF_EXT)u=4;else if(e.flags&a.FLAGS.FREEFORMAT)u=48E3===e.samplerate?0:1;else{var g=e.bitrate;if(2===t)g/=2;else if(192E3<g)throw Error("bad bitrate/mode combination");u=48E3>=g?32E3===e.samplerate?3:2:8E4>=g?0:48E3===e.samplerate?0:1}var g=d[u].sblimit,A=d[u].offsets,m=32;e.mode===a.MODE.JOINT_STEREO&&
(e.flags|=a.FLAGS.I_STEREO,m=4+4*e.mode_extension);m>g&&(m=g);for(var e=this.allocation,n=0;n<m;n++)for(var v=q[A[n]].nbal,p=0;p<t;p++)e[p][n]=b.read(v);for(n=m;n<g;n++)v=q[A[n]].nbal,e[0][n]=e[1][n]=b.read(v);for(var r=this.scfsi,n=0;n<g;n++)for(p=0;p<t;p++)e[p][n]&&(r[p][n]=b.read(2));v=this.scalefactor;for(n=0;n<g;n++)for(p=0;p<t;p++)if(e[p][n]){v[p][n][0]=b.read(6);switch(r[p][n]){case 2:v[p][n][2]=v[p][n][1]=v[p][n][0];break;case 0:v[p][n][1]=b.read(6);case 1:case 3:v[p][n][2]=b.read(6)}r[p][n]&
1&&(v[p][n][1]=v[p][n][r[p][n]-1])}for(r=0;12>r;r++){for(n=0;n<m;n++)for(p=0;p<t;p++)if(u=e[p][n]){u=h[q[A[n]].offset][u-1];this.decodeSamples(b,c[u]);u=l.SF_TABLE[v[p][n][r>>2]];for(var B=0;3>B;B++)k.sbsample[p][3*r+B][n]=this.samples[B]*u}else for(B=0;3>B;B++)k.sbsample[p][3*r+B][n]=0;for(n=m;n<g;n++)if(u=e[0][n])for(u=h[q[A[n]].offset][u-1],this.decodeSamples(b,c[u]),p=0;p<t;p++)for(u=l.SF_TABLE[v[p][n][r>>2]],B=0;3>B;B++)k.sbsample[p][3*r+B][n]=this.samples[B]*u;else for(p=0;p<t;p++)for(B=0;3>
B;B++)k.sbsample[p][3*r+B][n]=0;for(p=0;p<t;p++)for(B=0;3>B;B++)for(n=g;32>n;n++)k.sbsample[p][3*r+B][n]=0}};g.prototype.decodeSamples=function(a,b){var c=this.samples,d=b.group;if(d)for(var e=a.read(b.bits),h=b.nlevels,g=0;3>g;g++)c[g]=e%h,e=e/h|0;else for(d=b.bits,g=0;3>g;g++)c[g]=a.read(d);for(g=0;3>g;g++)e=c[g]^1<<d-1,e|=-(e&1<<d-1),e/=1<<d-1,c[g]=(e+b.D)*b.C};b.exports=g},{"./frame":4,"./header":5,"./tables":14,"./utils":15}],11:[function(r,b,m){function g(){this.private_bits=this.main_data_begin=
null;this.gr=[new l,new l];this.scfsi=new Uint8Array(2)}function l(){this.ch=[new a,new a]}function a(){this.block_type=this.flags=this.scalefac_compress=this.global_gain=this.big_values=this.part2_3_length=null;this.table_select=new Uint8Array(3);this.subblock_gain=new Uint8Array(3);this.region1_count=this.region0_count=null;this.scalefac=new Uint8Array(39)}function e(){this.imdct=new c;this.si=new g;this.xr=[new Float64Array(576),new Float64Array(576)];this._exponents=new Int32Array(39);this.reqcache=
new Float64Array(16);this.modes=new Int16Array(39);this.output=new Float64Array(36);this.tmp=x.makeArray([32,3,6]);this.tmp2=new Float64Array(576)}var d=r("./tables"),q=r("./header");m=r("./frame");var h=r("./huffman"),c=r("./imdct"),x=r("./utils");m.layers[3]=e;e.prototype.decode=function(a,b){var c=b.header,d=0,e=0,h=c.nchannels(),g=c.flags&q.FLAGS.LSF_EXT?1===h?9:17:1===h?17:32;if(a.next_frame-a.nextByte()<g)throw a.md_len=0,Error("Bad frame length");e=this.sideInfo(a,h,c.flags&q.FLAGS.LSF_EXT);
g=e.si;c.flags|=e.priv_bitlen;c.private_bits|=g.private_bits;e=a.copy();e.seek(8*a.next_frame);c=e.read(16);65506===(c&65510)&&(0===(c&1)&&e.advance(16),e.advance(16),d=e.read(c&8?9:8));var n=a.next_frame-a.nextByte();d>g.main_data_begin+n&&(d=0);var e=g.main_data_begin+n-d,l=0;if(0===g.main_data_begin)c=a.stream,a.md_len=0,l=e;else{if(g.main_data_begin>a.md_len)throw Error("bad main_data_begin pointer");var p=a.md_len;if(e>g.main_data_begin){if(a.md_len+e-g.main_data_begin>q.BUFFER_MDLEN)throw Error("Assertion failed: (stream.md_len + md_len - si.main_data_begin <= MAD_MP3FrameHeader.BUFFER_MDLEN)");
l=e-g.main_data_begin;this.memcpy(a.main_data,a.md_len,a.stream.stream,a.nextByte(),l);a.md_len+=l}c=new AV.Bitstream(AV.Stream.fromBuffer(new AV.Buffer(a.main_data)));c.advance(8*(p-g.main_data_begin))}n-=l;this.decodeMainData(c,b,g,h);n>=d?(this.memcpy(a.main_data,0,a.stream.stream,a.next_frame-d,d),a.md_len=d):(e<g.main_data_begin?(h=g.main_data_begin-e,h+n>d&&(h=d-n),h<a.md_len&&(this.memcpy(a.main_data,0,a.main_data,a.md_len-h,h),a.md_len=h)):a.md_len=0,this.memcpy(a.main_data,a.md_len,a.stream.stream,
a.next_frame-n,n),a.md_len+=n)};e.prototype.memcpy=function(a,b,c,d,e){c=c.subarray?c.subarray(d,d+e):c.peekBuffer(d-c.offset,e).data;a.set(c,b);return a};e.prototype.sideInfo=function(a,b,c){var e=this.si,h=0,g=c?1===b?1:2:1===b?5:3;e.main_data_begin=a.read(c?8:9);e.private_bits=a.read(g);var l=1;if(!c)for(var l=2,n=0;n<b;++n)e.scfsi[n]=a.read(4);for(var v=0;v<l;v++)for(var p=e.gr[v],n=0;n<b;n++){var q=p.ch[n];q.part2_3_length=a.read(12);q.big_values=a.read(9);q.global_gain=a.read(8);q.scalefac_compress=
a.read(c?9:4);h+=q.part2_3_length;if(288<q.big_values)throw Error("bad big_values count");q.flags=0;if(a.read(1)){q.block_type=a.read(2);if(0===q.block_type)throw Error("reserved block_type");if(!c&&2===q.block_type&&e.scfsi[n])throw Error("bad scalefactor selection info");q.region0_count=7;q.region1_count=36;a.read(1)?q.flags|=d.MIXED_BLOCK_FLAG:2===q.block_type&&(q.region0_count=8);for(var m=0;2>m;m++)q.table_select[m]=a.read(5);for(m=0;3>m;m++)q.subblock_gain[m]=a.read(3)}else{for(m=q.block_type=
0;3>m;m++)q.table_select[m]=a.read(5);q.region0_count=a.read(4);q.region1_count=a.read(3)}q.flags|=a.read(c?2:3)}return{si:e,data_bitlen:h,priv_bitlen:g}};e.prototype.decodeMainData=function(a,b,c,e){var h=b.header,g=h.samplerate;h.flags&q.FLAGS.MPEG_2_5_EXT&&(g*=2);g=(g>>7&15)+(g>>15&1)-8;h.flags&q.FLAGS.MPEG_2_5_EXT&&(g+=3);for(var l=h.flags&q.FLAGS.LSF_EXT?1:2,n=this.xr,v=0;v<l;++v){for(var p=c.gr[v],m=[],x=0,r=0;r<e;++r){var D=p.ch[r];m[r]=d.SFBWIDTH_TABLE[g].l;2===D.block_type&&(m[r]=D.flags&
d.MIXED_BLOCK_FLAG?d.SFBWIDTH_TABLE[g].m:d.SFBWIDTH_TABLE[g].s);x=h.flags&q.FLAGS.LSF_EXT?this.scalefactors_lsf(a,D,0===r?0:c.gr[1].ch[1],h.mode_extension):this.scalefactors(a,D,c.gr[0].ch[r],0===v?0:c.scfsi[r]);this.huffmanDecode(a,n[r],D,m[r],x)}h.mode===q.MODE.JOINT_STEREO&&0!==h.mode_extension&&this.stereo(n,c.gr,v,h,m[0]);for(r=0;r<e;r++){var D=p.ch[r],C=b.sbsample[r].slice(18*v),y,x=0,E,I=this.output;2===D.block_type?(this.reorder(n[r],D,m[r]),D.flags&d.MIXED_BLOCK_FLAG&&this.aliasreduce(n[r],
36)):this.aliasreduce(n[r],576);if(2!==D.block_type||D.flags&d.MIXED_BLOCK_FLAG)for(E=D.block_type,D.flags&d.MIXED_BLOCK_FLAG&&(E=0),y=0;2>y;++y,x+=18)this.imdct_l(n[r].subarray(x,x+18),I,E),this.overlap(I,b.overlap[r][y],C,y);else for(y=0;2>y;++y,x+=18)this.imdct_s(n[r].subarray(x,x+18),I),this.overlap(I,b.overlap[r][y],C,y);this.freqinver(C,1);for(y=576;36<y&&0===n[r][y-1];)--y;E=32-((576-y)/18<<0);if(2!==D.block_type)for(y=2;y<E;++y,x+=18)this.imdct_l(n[r].subarray(x,x+18),I,D.block_type),this.overlap(I,
b.overlap[r][y],C,y),y&1&&this.freqinver(C,y);else for(y=2;y<E;++y,x+=18)this.imdct_s(n[r].subarray(x,x+18),I),this.overlap(I,b.overlap[r][y],C,y),y&1&&this.freqinver(C,y);for(y=E;32>y;++y)this.overlap_z(b.overlap[r][y],C,y),y&1&&this.freqinver(C,y)}}};e.prototype.scalefactors=function(a,b,c,e){var h=a.offset(),g=d.SFLEN_TABLE[b.scalefac_compress].slen1,l=d.SFLEN_TABLE[b.scalefac_compress].slen2,n;if(2===b.block_type){n=0;for(c=b.flags&d.MIXED_BLOCK_FLAG?17:18;c--;)b.scalefac[n++]=a.read(g);for(c=
18;c--;)b.scalefac[n++]=a.read(l);for(c=3;c--;)b.scalefac[n++]=0}else{if(e&8)for(n=0;6>n;++n)b.scalefac[n]=c.scalefac[n];else for(n=0;6>n;++n)b.scalefac[n]=a.read(g);if(e&4)for(n=6;11>n;++n)b.scalefac[n]=c.scalefac[n];else for(n=6;11>n;++n)b.scalefac[n]=a.read(g);if(e&2)for(n=11;16>n;++n)b.scalefac[n]=c.scalefac[n];else for(n=11;16>n;++n)b.scalefac[n]=a.read(l);if(e&1)for(n=16;21>n;++n)b.scalefac[n]=c.scalefac[n];else for(n=16;21>n;++n)b.scalefac[n]=a.read(l);b.scalefac[21]=0}return a.offset()-h};
e.prototype.scalefactors_lsf=function(a,b,c,e){var h=a.offset(),g=b.scalefac_compress,l=2===b.block_type?b.flags&d.MIXED_BLOCK_FLAG?2:1:0,n=new Int32Array(4);if(e&d.I_STEREO&&c){g>>>=1;180>g?(n[0]=g/36,n[1]=g%36/6,n[2]=g%36%6,n[3]=0,e=d.NSFB_TABLE[3][l]):244>g?(g-=180,n[0]=g%64>>>4,n[1]=g%16>>>2,n[2]=g%4,n[3]=0,e=d.NSFB_TABLE[4][l]):(g-=244,n[0]=g/3,n[1]=g%3,n[2]=0,n[3]=0,e=d.NSFB_TABLE[5][l]);for(p=q=0;4>p;++p)for(g=(1<<n[p])-1,m=0;m<e[p];++m)l=a.read(n[p]),b.scalefac[q]=l,c.scalefac[q++]=l===g?
1:0;for(;39>q;)b.scalefac[q]=0,c.scalefac[q++]=0}else{400>g?(n[0]=(g>>>4)/5,n[1]=(g>>>4)%5,n[2]=g%16>>>2,n[3]=g%4,e=d.NSFB_TABLE[0][l]):500>g?(g-=400,n[0]=(g>>>2)/5,n[1]=(g>>>2)%5,n[2]=g%4,n[3]=0,e=d.NSFB_TABLE[1][l]):(g-=500,n[0]=g/3,n[1]=g%3,n[2]=0,n[3]=0,b.flags|=d.PREFLAG,e=d.NSFB_TABLE[2][l]);for(var q=0,p=0;4>p;p++)for(var m=0;m<e[p];m++)b.scalefac[q++]=a.read(n[p]);for(;39>q;)b.scalefac[q++]=0}return a.offset()-h};e.prototype.huffmanDecode=function(a,b,c,e,g){var l=this._exponents,m=0;g=c.part2_3_length-
g;if(0>g)throw Error("bad audio data length");this.exponents(c,e,l);var n=a.copy();a.advance(g);a=8-n.bitPosition;a+=7+(24-a)&-8;var v=n.read(a);g-=a;var p=0,x=0,r=this.reqcache,G=p+e[m++],D=c.region0_count+1,C=h.huff_pair_table[c.table_select[x]],y=C.table,E=C.linbits,C=C.startbits;if("undefined"===typeof y)throw Error("bad Huffman table select");for(var I=0,K=l[I++],L=0,P=c.big_values;P--&&0<a+g;){if(p===G){G+=e[m++];if(0===--D&&(D=0===x?c.region1_count+1:0,C=h.huff_pair_table[c.table_select[++x]],
y=C.table,E=C.linbits,C=C.startbits,"undefined"===typeof y))throw Error("bad Huffman table select");K!==l[I]&&(K=l[I],L=0);++I}if(21>a){var J=10+(21-a)&-8,v=v<<J|n.read(J);a+=J;g-=J}for(var z=C,J=y[v>>a-z&(1<<z)-1];!J["final"];)a-=z,z=J.ptr.bits,J=y[J.ptr.offset+(v>>a-z&(1<<z)-1)];a-=J.value.hlen;if(E){var z=J.value.x,N=!1;switch(z){case 0:b[p]=0;break;case 15:a<E+2&&(v=v<<16|n.read(16),a+=16,g-=16);z+=v>>a-E&(1<<E)-1;a-=E;F=this.requantize(z,K);N=!0;break;default:L&1<<z?F=r[z]:(L|=1<<z,F=r[z]=this.requantize(z,
K)),N=!0}N&&(b[p]=v&1<<a-- -1?-F:F);z=J.value.y;J=!1;switch(z){case 0:b[p+1]=0;break;case 15:a<E+1&&(v=v<<16|n.read(16),a+=16,g-=16);z+=v>>a-E&(1<<E)-1;a-=E;F=this.requantize(z,K);J=!0;break;default:L&1<<z||(L|=1<<z,r[z]=this.requantize(z,K)),F=r[z],J=!0}J&&(b[p+1]=v&1<<a-- -1?-F:F)}else z=J.value.x,0===z?b[p]=0:(L&1<<z?F=r[z]:(L|=1<<z,F=r[z]=this.requantize(z,K)),b[p]=v&1<<a-- -1?-F:F),z=J.value.y,0===z?b[p+1]=0:(L&1<<z?F=r[z]:(L|=1<<z,F=r[z]=this.requantize(z,K)),b[p+1]=v&1<<a-- -1?-F:F);p+=2}if(0>
a+g)throw Error("Huffman data overrun");for(var y=h.huff_quad_table[c.flags&d.COUNT1TABLE_SELECT],F=this.requantize(1,K);0<a+g&&572>=p;)10>a&&(v=v<<16|n.read(16),a+=16,g-=16),c=y[v>>a-4&15],c["final"]||(a-=4,c=y[c.ptr.offset+(v>>a-c.ptr.bits&(1<<c.ptr.bits)-1)]),a-=c.value.hlen,p===G&&(G+=e[m++],K!==l[I]&&(K=l[I],F=this.requantize(1,K)),++I),b[p]=c.value.v?v&1<<a-- -1?-F:F:0,b[p+1]=c.value.w?v&1<<a-- -1?-F:F:0,p+=2,p===G&&(G+=e[m++],K!==l[I]&&(K=l[I],F=this.requantize(1,K)),++I),b[p]=c.value.x?v&
1<<a-- -1?-F:F:0,b[p+1]=c.value.y?v&1<<a-- -1?-F:F:0,p+=2,0>a+g&&(p-=4);if(-g>8*q.BUFFER_GUARD)throw Error("assertion failed: (-bits_left <= MP3FrameHeader.BUFFER_GUARD * CHAR_BIT)");for(;576>p;)b[p]=0,b[p+1]=0,p+=2};e.prototype.requantize=function(a,b){var c=b%4>>0;b=b/4>>0;var d=Math.pow(a,4/3),d=d*Math.pow(2,b/4);c&&(d*=Math.pow(2,c/4));0>b&&(d/=Math.pow(2,.75*-b));return d};e.prototype.exponents=function(a,b,c){var e=a.global_gain-210,h=a.flags&d.SCALEFAC_SCALE?2:1;if(2===a.block_type){var g=
0,l=0;if(a.flags&d.MIXED_BLOCK_FLAG)for(var n=a.flags&d.PREFLAG?-1:0;36>l;)c[g]=e-(a.scalefac[g]+(d.PRETAB[g]&n)<<h),l+=b[g++];for(var n=e-8*a.subblock_gain[0],q=e-8*a.subblock_gain[1],e=e-8*a.subblock_gain[2];576>l;)c[g+0]=n-(a.scalefac[g+0]<<h),c[g+1]=q-(a.scalefac[g+1]<<h),c[g+2]=e-(a.scalefac[g+2]<<h),l+=3*b[g],g+=3}else if(a.flags&d.PREFLAG)for(g=0;22>g;g++)c[g]=e-(a.scalefac[g]+d.PRETAB[g]<<h);else for(g=0;22>g;g++)c[g]=e-(a.scalefac[g]<<h)};e.prototype.stereo=function(a,b,c,e,h){var g=b[c],
l=this.modes,n,m,p;if(g.ch[0].block_type!==g.ch[1].block_type||(g.ch[0].flags&d.MIXED_BLOCK_FLAG)!==(g.ch[1].flags&d.MIXED_BLOCK_FLAG))throw Error("incompatible stereo block_type");for(p=0;39>p;p++)l[p]=e.mode_extension;if(e.mode_extension&d.I_STEREO){var x=g.ch[1],r=a[1];e.flags|=q.FLAGS.tables.I_STEREO;if(2===x.block_type){var G,D,C,y=new Uint32Array(3),E,g=n=G=D=C=y[0]=y[1]=y[2]=0;if(x.flags&d.MIXED_BLOCK_FLAG){for(;36>n;){m=h[g++];for(p=0;p<m;++p)if(r[p]){G=g;break}r+=m;n+=m}D=g}for(E=0;576>n;){m=
h[g++];for(p=0;p<m;++p)if(r[p]){C=y[E]=g;break}r+=m;n+=m;E=(E+1)%3}C&&(G=D);for(p=0;p<G;++p)l[p]=e.mode_extension&~d.I_STEREO;E=0;for(p=D;p<C;++p)p<y[E]&&(l[p]=e.mode_extension&~d.I_STEREO),E=(E+1)%3}else{for(g=n=y=0;576>n;n+=m){m=h[g++];for(p=0;p<m;++p)if(r[p]){y=g;break}r+=m}for(p=0;p<y;++p)l[p]=e.mode_extension&~d.I_STEREO}if(e.flags&q.FLAGS.LSF_EXT)for(b=b[c+1].ch[1].scalefac,c=IS_Ltables.SF_TABLE[x.scalefac_compress&1],g=n=0;576>n;++g,n+=m){if(m=h[g],l[g]&d.I_STEREO)if(b[g])l[g]&=~d.I_STEREO;
else for(is_pos=x.scalefac[g],p=0;p<m;++p)r=a[0][n+p],0===is_pos?a[1][n+p]=r:(G=r*c[(is_pos-1)/2],is_pos&1?(a[0][n+p]=G,a[1][n+p]=r):a[1][n+p]=G)}else for(g=n=0;576>n;++g,n+=m)if(m=h[g],l[g]&d.I_STEREO)if(is_pos=x.scalefac[g],7<=is_pos)l[g]&=~d.I_STEREO;else for(p=0;p<m;++p)r=a[0][n+p],a[0][n+p]=r*d.IS_TABLE[is_pos],a[1][n+p]=r*d.IS_TABLE[6-is_pos]}if(e.mode_extension&d.MS_STEREO)for(e.flags|=d.MS_STEREO,e=d.ROOT_TABLE[1],g=n=0;576>n;++g,n+=m)if(m=h[g],l[g]===d.MS_STEREO)for(p=0;p<m;++p)x=a[0][n+
p],b=a[1][n+p],a[0][n+p]=(x+b)*e,a[1][n+p]=(x-b)*e};e.prototype.aliasreduce=function(a,b){for(var c=18;c<b;c+=18)for(var e=0;8>e;++e){var g=a[c-e-1],h=a[c+e];a[c-e-1]=g*d.CS[e]-h*d.CA[e];a[c+e]=h*d.CS[e]+g*d.CA[e]}};e.prototype.imdct_l=function(a,b,c){this.imdct.imdct36(a,b);switch(c){case 0:for(a=0;36>a;++a)b[a]*=d.WINDOW_L[a];break;case 1:for(a=0;18>a;++a)b[a]*=d.WINDOW_L[a];for(a=24;30>a;++a)b[a]*=d.WINDOW_S[a-18];for(a=30;36>a;++a)b[a]=0;break;case 3:for(a=0;6>a;++a)b[a]=0;for(a=6;12>a;++a)b[a]*=
d.WINDOW_S[a-6];for(a=18;36>a;++a)b[a]*=d.WINDOW_L[a]}};e.prototype.imdct_s=function(a,b){var e=0,g;g=0;for(var h=new Float64Array(36),l,q=0;3>q;++q){for(var n=0,m=0;3>m;++m)l=a[g+0]*c.S[n][0]+a[g+1]*c.S[n][1]+a[g+2]*c.S[n][2]+a[g+3]*c.S[n][3]+a[g+4]*c.S[n][4]+a[g+5]*c.S[n][5],h[e+m+0]=l,h[e+5-m]=-h[e+m+0],++n,l=a[g+0]*c.S[n][0]+a[g+1]*c.S[n][1]+a[g+2]*c.S[n][2]+a[g+3]*c.S[n][3]+a[g+4]*c.S[n][4]+a[g+5]*c.S[n][5],h[e+m+6]=l,h[e+11-m]=h[e+m+6],++n;e+=12;g+=6}for(m=g=e=0;6>m;++m)b[m+0]=0,b[m+6]=h[e+
0+0]*d.WINDOW_S[g+0],l=h[e+0+6]*d.WINDOW_S[g+6]+h[e+12+0]*d.WINDOW_S[g+0],b[m+12]=l,l=h[e+12+6]*d.WINDOW_S[g+6]+h[e+24+0]*d.WINDOW_S[g+0],b[m+18]=l,b[m+24]=h[e+24+6]*d.WINDOW_S[g+6],b[m+30]=0,++e,++g};e.prototype.overlap=function(a,b,c,d){for(var e=0;18>e;++e)c[e][d]=a[e]+b[e],b[e]=a[e+18]};e.prototype.freqinver=function(a,b){for(var c=1;18>c;c+=2)a[c][b]=-a[c][b]};e.prototype.overlap_z=function(a,b,c){for(var d=0;18>d;++d)b[d][c]=a[d],a[d]=0};e.prototype.reorder=function(a,b,c){var e=0,g=this.tmp,
h=new Uint32Array(3),l=new Uint32Array(3),n=0;if(b.flags&d.MIXED_BLOCK_FLAG)for(n=2,b=0;36>b;)b+=c[e++];for(var m=0;3>m;++m)h[m]=n,l[m]=0;f=c[e++];m=0;for(b=18*n;576>b;++b)0===f--&&(f=c[e++]-1,m=(m+1)%3),g[h[m]][m][l[m]++]=a[b],6===l[m]&&(l[m]=0,++h[m]);c=this.tmp2;for(e=h=0;32>e;e++)for(l=0;3>l;l++)for(b=0;6>b;b++)c[h++]=g[e][l][b];g=576-18*n;for(e=0;e<g;e++)a[18*n+e]=c[n+e]};b.exports=e},{"./frame":4,"./header":5,"./huffman":6,"./imdct":8,"./tables":14,"./utils":15}],12:[function(r,b,m){function g(a){this.stream=
a;this.sync=!1;this.freerate=0;this.next_frame=this.this_frame=a.stream.offset;this.main_data=new Uint8Array(l.BUFFER_MDLEN);this.md_len=0;for(var b in a)"function"===typeof a[b]&&(this[b]=a[b].bind(a))}var l=r("./header");g.prototype.getU8=function(a){var b=this.stream.stream;return b.peekUInt8(a-b.offset)};g.prototype.nextByte=function(){var a=this.stream;return 0===a.bitPosition?a.stream.offset:a.stream.offset+1};g.prototype.doSync=function(){var a=this.stream.stream;for(this.align();this.available(16)&&
(255!==a.peekUInt8(0)||224!==(a.peekUInt8(1)&224));)this.advance(8);return this.available(l.BUFFER_GUARD)?!0:!1};g.prototype.reset=function(a){this.seek(8*a);this.next_frame=a;this.sync=!0};b.exports=g},{"./header":5}],13:[function(r,b,m){function g(){this.filter=l.makeArray([2,2,2,16,8]);this.phase=0;this.pcm={samplerate:0,channels:0,length:0,samples:[new Float64Array(1152),new Float64Array(1152)]}}var l=r("./utils");g.dct32=function(a,b,g,h){var c,l,k,m,t,r,H,A,M,n,v,p,O,B,G,D,C,y,E,I,K,L,P,J,z,
N,F,Q,R,S,T,U,V,W,X,Y,Z,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,Na,Oa,Pa,Qa,Ra,Sa,Ta,Ua,Va,Wa,Xa,Ya,Za,$a,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc;c=a[0]+a[31];C=.998795456*(a[0]-a[31]);l=a[15]+a[16];y=.049067674*
(a[15]-a[16]);ea=C+y;wa=.995184727*(C-y);W=c+l;na=.995184727*(c-l);k=a[7]+a[24];E=.740951125*(a[7]-a[24]);m=a[8]+a[23];I=.671558955*(a[8]-a[23]);fa=E+I;xa=.09801714*(E-I);X=k+m;oa=.09801714*(k-m);t=a[3]+a[28];K=.941544065*(a[3]-a[28]);r=a[12]+a[19];L=.336889853*(a[12]-a[19]);ga=K+L;ya=.773010453*(K-L);Y=t+r;pa=.773010453*(t-r);H=a[4]+a[27];P=.903989293*(a[4]-a[27]);A=a[11]+a[20];J=.427555093*(a[11]-a[20]);ha=P+J;za=.634393284*(P-J);Z=H+A;qa=.634393284*(H-A);M=a[1]+a[30];z=.98917651*(a[1]-a[30]);n=
a[14]+a[17];N=.146730474*(a[14]-a[17]);ia=z+N;Aa=.956940336*(z-N);aa=M+n;ra=.956940336*(M-n);v=a[6]+a[25];F=.803207531*(a[6]-a[25]);p=a[9]+a[22];Q=.595699304*(a[9]-a[22]);ja=F+Q;Ba=.290284677*(F-Q);ba=v+p;sa=.290284677*(v-p);O=a[2]+a[29];R=.970031253*(a[2]-a[29]);B=a[13]+a[18];S=.24298018*(a[13]-a[18]);ka=R+S;Ca=.881921264*(R-S);ca=O+B;ta=.881921264*(O-B);G=a[5]+a[26];T=.85772861*(a[5]-a[26]);D=a[10]+a[21];U=.514102744*(a[10]-a[21]);la=T+U;Da=.471396737*(T-U);da=G+D;ua=.471396737*(G-D);Ga=W+X;$a=
.98078528*(W-X);Ha=Y+Z;ab=.195090322*(Y-Z);Ia=aa+ba;bb=.831469612*(aa-ba);Ja=ca+da;cb=.555570233*(ca-da);Ka=ea+fa;eb=.98078528*(ea-fa);La=ga+ha;fb=.195090322*(ga-ha);Ma=ia+ja;gb=.831469612*(ia-ja);Na=ka+la;hb=.555570233*(ka-la);Pa=na+oa;kb=.98078528*(na-oa);Qa=pa+qa;lb=.195090322*(pa-qa);Ra=ra+sa;mb=.831469612*(ra-sa);Sa=ta+ua;nb=.555570233*(ta-ua);Ua=wa+xa;qb=.98078528*(wa-xa);Va=ya+za;rb=.195090322*(ya-za);Wa=Aa+Ba;sb=.831469612*(Aa-Ba);Xa=Ca+Da;tb=.555570233*(Ca-Da);xb=Ga+Ha;yb=Ia+Ja;h[15][b]=
xb+yb;g[0][b]=.707106781*(xb-yb);zb=Ka+La;Ab=Ma+Na;V=zb+Ab;h[14][b]=V;Cb=Pa+Qa;Db=Ra+Sa;va=Cb+Db;h[13][b]=va;Fb=Ua+Va;Gb=Wa+Xa;Ea=Fb+Gb;ma=2*Ea-V;h[12][b]=ma;Jb=$a+ab;Kb=bb+cb;db=Jb+Kb;h[11][b]=db;Mb=eb+fb;Nb=gb+hb;ib=Mb+Nb;Fa=2*ib-ma;h[10][b]=Fa;Qb=kb+lb;Rb=mb+nb;ob=Qb+Rb;Ta=2*ob-va;h[9][b]=Ta;Ub=qb+rb;Vb=sb+tb;ub=Ub+Vb;Ya=2*ub-Ea;Oa=2*Ya-Fa;h[8][b]=Oa;Zb=.923879533*(Ga-Ha);$b=.382683432*(Ia-Ja);ac=Zb+$b;h[7][b]=ac;g[8][b]=1.414213562*(Zb-$b)-ac;bc=.923879533*(Ka-La);cc=.382683432*(Ma-Na);dc=bc+
cc;Za=2*dc-Oa;h[6][b]=Za;fc=.923879533*(Pa-Qa);gc=.382683432*(Ra-Sa);hc=fc+gc;pb=2*hc-Ta;h[5][b]=pb;jc=.923879533*(Ua-Va);kc=.382683432*(Wa-Xa);lc=jc+kc;vb=2*lc-Ya;jb=2*vb-Za;h[4][b]=jb;oc=.923879533*($a-ab);pc=.382683432*(bb-cb);qc=oc+pc;Lb=2*qc-db;h[3][b]=Lb;rc=1.414213562*(Jb-Kb)-Lb;g[4][b]=rc;g[12][b]=2*(1.414213562*(oc-pc)-qc)-rc;sc=.923879533*(eb-fb);tc=.382683432*(gb-hb);uc=sc+tc;Ob=2*uc-ib;wb=2*Ob-jb;h[2][b]=wb;vc=1.414213562*(Mb-Nb)-Ob;xc=.923879533*(kb-lb);yc=.382683432*(mb-nb);zc=xc+yc;
Sb=2*zc-ob;Eb=2*Sb-pb;h[1][b]=Eb;Tb=1.414213562*(Cb-Db)-Eb;g[2][b]=Tb;Ac=1.414213562*(Qb-Rb)-Sb;ic=2*Ac-Tb;g[6][b]=ic;Bc=2*(1.414213562*(fc-gc)-hc)-ic;g[10][b]=Bc;g[14][b]=2*(2*(1.414213562*(xc-yc)-zc)-Ac)-Bc;Cc=.923879533*(qb-rb);Dc=.382683432*(sb-tb);Ec=Cc+Dc;Wb=2*Ec-ub;Hb=2*Wb-vb;Xb=1.414213562*(Fb-Gb)-Hb;Bb=2*Hb-wb;h[0][b]=Bb;Ib=1.414213562*(zb-Ab)-Bb;g[1][b]=Ib;Pb=2*Xb-Ib;g[3][b]=Pb;Yb=2*vc-Pb;g[5][b]=Yb;Fc=1.414213562*(Ub-Vb)-Wb;mc=2*Fc-Xb;ec=2*mc-Yb;g[7][b]=ec;nc=2*(1.414213562*(bc-cc)-dc)-
ec;g[9][b]=nc;Gc=2*(1.414213562*(jc-kc)-lc)-mc;wc=2*Gc-nc;g[11][b]=wc;Hc=2*(2*(1.414213562*(sc-tc)-uc)-vc)-wc;g[13][b]=Hc;g[15][b]=2*(2*(2*(1.414213562*(Cc-Dc)-Ec)-Fc)-Gc)-Hc};var a=[[0,-4.42505E-4,.003250122,-.007003784,.031082153,-.07862854,.100311279,-.572036743,1.144989014,.572036743,.100311279,.07862854,.031082153,.007003784,.003250122,4.42505E-4,0,-4.42505E-4,.003250122,-.007003784,.031082153,-.07862854,.100311279,-.572036743,1.144989014,.572036743,.100311279,.07862854,.031082153,.007003784,
.003250122,4.42505E-4],[-1.5259E-5,-4.73022E-4,.003326416,-.007919312,.030517578,-.084182739,.090927124,-.600219727,1.144287109,.543823242,.108856201,.073059082,.031478882,.006118774,.003173828,3.96729E-4,-1.5259E-5,-4.73022E-4,.003326416,-.007919312,.030517578,-.084182739,.090927124,-.600219727,1.144287109,.543823242,.108856201,.073059082,.031478882,.006118774,.003173828,3.96729E-4],[-1.5259E-5,-5.34058E-4,.003387451,-.008865356,.029785156,-.089706421,.080688477,-.628295898,1.142211914,.515609741,
.116577148,.067520142,.031738281,.0052948,.003082275,3.66211E-4,-1.5259E-5,-5.34058E-4,.003387451,-.008865356,.029785156,-.089706421,.080688477,-.628295898,1.142211914,.515609741,.116577148,.067520142,.031738281,.0052948,.003082275,3.66211E-4],[-1.5259E-5,-5.79834E-4,.003433228,-.009841919,.028884888,-.095169067,.069595337,-.656219482,1.138763428,.487472534,.123474121,.06199646,.031845093,.004486084,.002990723,3.20435E-4,-1.5259E-5,-5.79834E-4,.003433228,-.009841919,.028884888,-.095169067,.069595337,
-.656219482,1.138763428,.487472534,.123474121,.06199646,.031845093,.004486084,.002990723,3.20435E-4],[-1.5259E-5,-6.2561E-4,.003463745,-.010848999,.027801514,-.100540161,.057617187,-.683914185,1.133926392,.459472656,.129577637,.056533813,.031814575,.003723145,.00289917,2.89917E-4,-1.5259E-5,-6.2561E-4,.003463745,-.010848999,.027801514,-.100540161,.057617187,-.683914185,1.133926392,.459472656,.129577637,.056533813,.031814575,.003723145,.00289917,2.89917E-4],[-1.5259E-5,-6.86646E-4,.003479004,-.011886597,
.026535034,-.105819702,.044784546,-.71131897,1.127746582,.431655884,.134887695,.051132202,.031661987,.003005981,.002792358,2.59399E-4,-1.5259E-5,-6.86646E-4,.003479004,-.011886597,.026535034,-.105819702,.044784546,-.71131897,1.127746582,.431655884,.134887695,.051132202,.031661987,.003005981,.002792358,2.59399E-4],[-1.5259E-5,-7.47681E-4,.003479004,-.012939453,.025085449,-.110946655,.031082153,-.738372803,1.120223999,.404083252,.139450073,.045837402,.031387329,.002334595,.002685547,2.44141E-4,-1.5259E-5,
-7.47681E-4,.003479004,-.012939453,.025085449,-.110946655,.031082153,-.738372803,1.120223999,.404083252,.139450073,.045837402,.031387329,.002334595,.002685547,2.44141E-4],[-3.0518E-5,-8.08716E-4,.003463745,-.014022827,.023422241,-.115921021,.01651001,-.765029907,1.111373901,.376800537,.143264771,.040634155,.031005859,.001693726,.002578735,2.13623E-4,-3.0518E-5,-8.08716E-4,.003463745,-.014022827,.023422241,-.115921021,.01651001,-.765029907,1.111373901,.376800537,.143264771,.040634155,.031005859,.001693726,
.002578735,2.13623E-4],[-3.0518E-5,-8.8501E-4,.003417969,-.01512146,.021575928,-.120697021,.001068115,-.791213989,1.101211548,.349868774,.146362305,.035552979,.030532837,.001098633,.002456665,1.98364E-4,-3.0518E-5,-8.8501E-4,.003417969,-.01512146,.021575928,-.120697021,.001068115,-.791213989,1.101211548,.349868774,.146362305,.035552979,.030532837,.001098633,.002456665,1.98364E-4],[-3.0518E-5,-9.61304E-4,.003372192,-.016235352,.01953125,-.125259399,-.015228271,-.816864014,1.089782715,.323318481,.148773193,
.030609131,.029937744,5.49316E-4,.002349854,1.67847E-4,-3.0518E-5,-9.61304E-4,.003372192,-.016235352,.01953125,-.125259399,-.015228271,-.816864014,1.089782715,.323318481,.148773193,.030609131,.029937744,5.49316E-4,.002349854,1.67847E-4],[-3.0518E-5,-.001037598,.00328064,-.017349243,.01725769,-.129562378,-.03237915,-.841949463,1.07711792,.297210693,.150497437,.025817871,.029281616,3.0518E-5,.002243042,1.52588E-4,-3.0518E-5,-.001037598,.00328064,-.017349243,.01725769,-.129562378,-.03237915,-.841949463,
1.07711792,.297210693,.150497437,.025817871,.029281616,3.0518E-5,.002243042,1.52588E-4],[-4.5776E-5,-.001113892,.003173828,-.018463135,.014801025,-.133590698,-.050354004,-.866363525,1.063217163,.271591187,.151596069,.021179199,.028533936,-4.42505E-4,.002120972,1.37329E-4,-4.5776E-5,-.001113892,.003173828,-.018463135,.014801025,-.133590698,-.050354004,-.866363525,1.063217163,.271591187,.151596069,.021179199,.028533936,-4.42505E-4,.002120972,1.37329E-4],[-4.5776E-5,-.001205444,.003051758,-.019577026,
.012115479,-.137298584,-.069168091,-.890090942,1.048156738,.246505737,.152069092,.016708374,.02772522,-8.69751E-4,.00201416,1.2207E-4,-4.5776E-5,-.001205444,.003051758,-.019577026,.012115479,-.137298584,-.069168091,-.890090942,1.048156738,.246505737,.152069092,.016708374,.02772522,-8.69751E-4,.00201416,1.2207E-4],[-6.1035E-5,-.001296997,.002883911,-.020690918,.009231567,-.140670776,-.088775635,-.91305542,1.031936646,.221984863,.15196228,.012420654,.02684021,-.001266479,.001907349,1.06812E-4,-6.1035E-5,
-.001296997,.002883911,-.020690918,.009231567,-.140670776,-.088775635,-.91305542,1.031936646,.221984863,.15196228,.012420654,.02684021,-.001266479,.001907349,1.06812E-4],[-6.1035E-5,-.00138855,.002700806,-.021789551,.006134033,-.143676758,-.109161377,-.935195923,1.01461792,.198059082,.151306152,.00831604,.025909424,-.001617432,.001785278,1.06812E-4,-6.1035E-5,-.00138855,.002700806,-.021789551,.006134033,-.143676758,-.109161377,-.935195923,1.01461792,.198059082,.151306152,.00831604,.025909424,-.001617432,
.001785278,1.06812E-4],[-7.6294E-5,-.001480103,.002487183,-.022857666,.002822876,-.146255493,-.130310059,-.956481934,.996246338,.174789429,.150115967,.004394531,.024932861,-.001937866,.001693726,9.1553E-5,-7.6294E-5,-.001480103,.002487183,-.022857666,.002822876,-.146255493,-.130310059,-.956481934,.996246338,.174789429,.150115967,.004394531,.024932861,-.001937866,.001693726,9.1553E-5],[-7.6294E-5,-.001586914,.002227783,-.023910522,-6.86646E-4,-.148422241,-.152206421,-.976852417,.976852417,.152206421,
.148422241,6.86646E-4,.023910522,-.002227783,.001586914,7.6294E-5,-7.6294E-5,-.001586914,.002227783,-.023910522,-6.86646E-4,-.148422241,-.152206421,-.976852417,.976852417,.152206421,.148422241,6.86646E-4,.023910522,-.002227783,.001586914,7.6294E-5]];g.prototype.full=function(b,d,l){for(var h,c,m,k=0;k<d;++k)for(var r=b.sbsample[k],t=this.filter[k],u=this.phase,H=this.pcm.samples[k],A=0,M=0,n=0;n<l;++n){g.dct32(r[n],u>>1,t[0][u&1],t[1][u&1]);var v=u&-2,p=u-1&15|1,O=t[0][u&1];c=t[0][~u&1];var B=t[1][~u&
1],G=0,D=0;h=0;m=a[h];_fx=c[0];_fe=O[G];c=_fx[0]*m[p+0];c+=_fx[1]*m[p+14];c+=_fx[2]*m[p+12];c+=_fx[3]*m[p+10];c+=_fx[4]*m[p+8];c+=_fx[5]*m[p+6];c+=_fx[6]*m[p+4];c+=_fx[7]*m[p+2];c=-c;c+=_fe[0]*m[v+0];c+=_fe[1]*m[v+14];c+=_fe[2]*m[v+12];c+=_fe[3]*m[v+10];c+=_fe[4]*m[v+8];c+=_fe[5]*m[v+6];c+=_fe[6]*m[v+4];c+=_fe[7]*m[v+2];H[A++]=c;for(var M=A+30,C=1;16>C;++C)++G,++h,m=a[h],_fo=B[D],_fe=O[G],c=_fo[0]*m[p+0],c+=_fo[1]*m[p+14],c+=_fo[2]*m[p+12],c+=_fo[3]*m[p+10],c+=_fo[4]*m[p+8],c+=_fo[5]*m[p+6],c+=_fo[6]*
m[p+4],c+=_fo[7]*m[p+2],c=-c,c+=_fe[7]*m[v+2],c+=_fe[6]*m[v+4],c+=_fe[5]*m[v+6],c+=_fe[4]*m[v+8],c+=_fe[3]*m[v+10],c+=_fe[2]*m[v+12],c+=_fe[1]*m[v+14],c+=_fe[0]*m[v+0],H[A++]=c,c=_fe[0]*m[-v+31-16],c+=_fe[1]*m[-v+31-14],c+=_fe[2]*m[-v+31-12],c+=_fe[3]*m[-v+31-10],c+=_fe[4]*m[-v+31-8],c+=_fe[5]*m[-v+31-6],c+=_fe[6]*m[-v+31-4],c+=_fe[7]*m[-v+31-2],c+=_fo[7]*m[-p+31-2],c+=_fo[6]*m[-p+31-4],c+=_fo[5]*m[-p+31-6],c+=_fo[4]*m[-p+31-8],c+=_fo[3]*m[-p+31-10],c+=_fo[2]*m[-p+31-12],c+=_fo[1]*m[-p+31-14],c+=
_fo[0]*m[-p+31-16],H[M--]=c,++D;++h;m=a[h];_fo=B[D];c=_fo[0]*m[p+0];c+=_fo[1]*m[p+14];c+=_fo[2]*m[p+12];c+=_fo[3]*m[p+10];c+=_fo[4]*m[p+8];c+=_fo[5]*m[p+6];c+=_fo[6]*m[p+4];c+=_fo[7]*m[p+2];H[A]=-c;A+=16;u=(u+1)%16}};g.prototype.frame=function(a){var b=a.header.nchannels(),g=a.header.nbsamples();this.pcm.samplerate=a.header.samplerate;this.pcm.channels=b;this.pcm.length=32*g;this.full(a,b,g);this.phase=(this.phase+g)%16};b.exports=g},{"./utils":15}],14:[function(r,b,m){m.SF_TABLE=new Float32Array([2,
1.587401051968,1.259921049895,1,.793700525984,.629960524947,.5,.396850262992,.314980262474,.25,.198425131496,.157490131237,.125,.099212565748,.078745065618,.0625,.049606282874,.039372532809,.03125,.024803141437,.019686266405,.015625,.012401570719,.009843133202,.0078125,.006200785359,.004921566601,.00390625,.00310039268,.002460783301,.001953125,.00155019634,.00123039165,9.765625E-4,7.7509817E-4,6.15195825E-4,4.8828125E-4,3.87549085E-4,3.07597913E-4,2.44140625E-4,1.93774542E-4,1.53798956E-4,1.22070313E-4,
9.6887271E-5,7.6899478E-5,6.1035156E-5,4.8443636E-5,3.8449739E-5,3.0517578E-5,2.4221818E-5,1.922487E-5,1.5258789E-5,1.2110909E-5,9.612435E-6,7.629395E-6,6.055454E-6,4.806217E-6,3.814697E-6,3.027727E-6,2.403109E-6,1.907349E-6,1.513864E-6,1.201554E-6,0]);r=new Uint8Array([4,4,4,4,4,4,6,6,6,8,10,12,16,18,22,28,34,40,46,54,54,192]);b=new Uint8Array([4,4,4,4,4,4,6,6,8,8,10,12,16,20,24,28,34,42,50,54,76,158]);var g=new Uint8Array([4,4,4,4,4,4,6,6,8,10,12,16,20,24,30,38,46,56,68,84,102,26]),l=new Uint8Array([4,
4,4,4,4,4,4,4,4,4,4,4,6,6,6,6,6,6,10,10,10,12,12,12,14,14,14,16,16,16,20,20,20,26,26,26,66,66,66]),a=new Uint8Array([4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,22,22,22,30,30,30,56,56,56]),e=new Uint8Array([4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,12,12,12,16,16,16,20,20,20,26,26,26,34,34,34,42,42,42,12,12,12]),d=new Uint8Array([4,4,4,4,4,4,6,6,4,4,4,6,6,6,6,6,6,10,10,10,12,12,12,14,14,14,16,16,16,20,20,20,26,26,26,66,66,66]),q=new Uint8Array([4,4,4,4,4,4,6,6,4,4,4,6,6,6,8,
8,8,10,10,10,12,12,12,14,14,14,18,18,18,22,22,22,30,30,30,56,56,56]),h=new Uint8Array([4,4,4,4,4,4,6,6,4,4,4,6,6,6,8,8,8,12,12,12,16,16,16,20,20,20,26,26,26,34,34,34,42,42,42,12,12,12]),c=new Uint8Array([6,6,6,6,6,6,8,10,12,14,16,18,22,26,32,38,46,54,62,70,76,36]),x=new Uint8Array([6,6,6,6,6,6,8,10,12,14,16,20,24,28,32,38,46,52,60,68,58,54]),k=new Uint8Array([4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,32,32,32,44,44,44,12,12,12]),w=new Uint8Array([4,4,4,4,4,4,4,4,4,
6,6,6,6,6,6,8,8,8,10,10,10,14,14,14,18,18,18,26,26,26,32,32,32,42,42,42,18,18,18]),t=new Uint8Array([4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,30,30,30,40,40,40,18,18,18]),u=new Uint8Array([6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,32,32,32,44,44,44,12,12,12]),H=new Uint8Array([6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,14,14,14,18,18,18,26,26,26,32,32,32,42,42,42,18,18,18]),A=new Uint8Array([6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,
18,18,18,24,24,24,30,30,30,40,40,40,18,18,18]),M=new Uint8Array([12,12,12,12,12,12,16,20,24,28,32,40,48,56,64,76,90,2,2,2,2,2]),n=new Uint8Array([8,8,8,8,8,8,8,8,8,12,12,12,16,16,16,20,20,20,24,24,24,28,28,28,36,36,36,2,2,2,2,2,2,2,2,2,26,26,26]),v=new Uint8Array([12,12,12,4,4,4,8,8,8,12,12,12,16,16,16,20,20,20,24,24,24,28,28,28,36,36,36,2,2,2,2,2,2,2,2,2,26,26,26]);m.SFBWIDTH_TABLE=[{l:r,s:l,m:d},{l:b,s:a,m:q},{l:g,s:e,m:h},{l:c,s:k,m:u},{l:x,s:w,m:H},{l:x,s:t,m:A},{l:x,s:t,m:A},{l:x,s:t,m:A},{l:M,
s:n,m:v}];m.PRETAB=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0]);m.ROOT_TABLE=new Float32Array([.59460355750136,.70710678118655,.84089641525371,1,1.18920711500272,1.4142135623731,1.68179283050743]);m.CS=new Float32Array([.857492926,.881741997,.949628649,.983314592,.995517816,.999160558,.999899195,.999993155]);m.CA=new Float32Array([-.514495755,-.471731969,-.313377454,-.1819132,-.094574193,-.040965583,-.014198569,-.003699975]);m.COUNT1TABLE_SELECT=1;m.SCALEFAC_SCALE=2;m.PREFLAG=4;m.MIXED_BLOCK_FLAG=
8;m.I_STEREO=1;m.MS_STEREO=2;m.WINDOW_L=new Float32Array([.043619387,.130526192,.216439614,.3007058,.382683432,.461748613,.537299608,.608761429,.675590208,.737277337,.79335334,.843391446,.887010833,.923879533,.953716951,.976296007,.991444861,.999048222,.999048222,.991444861,.976296007,.953716951,.923879533,.887010833,.843391446,.79335334,.737277337,.675590208,.608761429,.537299608,.461748613,.382683432,.3007058,.216439614,.130526192,.043619387]);m.WINDOW_S=new Float32Array([.130526192,.382683432,
.608761429,.79335334,.923879533,.991444861,.991444861,.923879533,.79335334,.608761429,.382683432,.130526192]);m.IS_TABLE=new Float32Array([0,.211324865,.366025404,.5,.633974596,.788675135,1]);m.IS_LSF_TABLE=[new Float32Array([.840896415,.707106781,.594603558,.5,.420448208,.353553391,.297301779,.25,.210224104,.176776695,.148650889,.125,.105112052,.088388348,.074325445]),new Float32Array([.707106781,.5,.353553391,.25,.176776695,.125,.088388348,.0625,.044194174,.03125,.022097087,.015625,.011048543,.0078125,
.005524272])];m.SFLEN_TABLE=[{slen1:0,slen2:0},{slen1:0,slen2:1},{slen1:0,slen2:2},{slen1:0,slen2:3},{slen1:3,slen2:0},{slen1:1,slen2:1},{slen1:1,slen2:2},{slen1:1,slen2:3},{slen1:2,slen2:1},{slen1:2,slen2:2},{slen1:2,slen2:3},{slen1:3,slen2:1},{slen1:3,slen2:2},{slen1:3,slen2:3},{slen1:4,slen2:2},{slen1:4,slen2:3}];m.NSFB_TABLE=[[[6,5,5,5],[9,9,9,9],[6,9,9,9]],[[6,5,7,3],[9,9,12,6],[6,9,12,6]],[[11,10,0,0],[18,18,0,0],[15,18,0,0]],[[7,7,7,0],[12,12,12,0],[6,15,12,0]],[[6,6,6,3],[12,9,9,6],[6,12,
9,6]],[[8,8,5,0],[15,12,9,0],[6,18,9,0]]]},{}],15:[function(r,b,m){m.makeArray=function(b,l){l||(l=Float64Array);if(1===b.length)return new l(b[0]);for(var a=[],e=b[0],d=0;d<e;d++)a[d]=m.makeArray(b.slice(1),l);return a}},{}]},{},[1]);

@ -1,3 +1,7 @@
// Use mp3.js and aurora.js for dev
// Use mp3-min.js for release
//importScripts('aurora.js');
//importScripts('mp3.js');
importScripts('mp3-min.js');
var decodeBuffer = function(source, callback) {
@ -26,6 +30,12 @@ var finish = function(result, transferrables) {
self.addEventListener('message', function(e) {
var song = e.data;
// To see if things are working
if(song.ping) {
self.postMessage({ping: true});
return;
}
var result = {song: song, build: null, loop: null};
var transferrables = [result.song.sound];

Loading…
Cancel
Save