(function(i, g) { function R(R, fa) { function S(b) { return c.preferFlash && A && !c.ignoreFlash && c.flash[b] !== g && c.flash[b] } function m(b) { return function(c) { var d = this._s; return !d || !d._a ? null : b.call(this, c) } } this.setupOptions = { url: R || null, flashVersion: 8, debugMode: !0, debugFlash: !1, useConsole: !0, consoleOnly: !0, waitForWindowLoad: !1, bgColor: "#ffffff", useHighPerformance: !1, flashPollingInterval: null, html5PollingInterval: null, flashLoadTimeout: 1E3, wmode: null, allowScriptAccess: "always", useFlashBlock: !1, useHTML5Audio: !0, html5Test: /^(probably|maybe)$/i, preferFlash: !0, noSWFCache: !1 }; this.defaultOptions = { autoLoad: !1, autoPlay: !1, from: null, loops: 1, onid3: null, onload: null, whileloading: null, onplay: null, onpause: null, onresume: null, whileplaying: null, onposition: null, onstop: null, onfailure: null, onfinish: null, multiShot: !0, multiShotEvents: !1, position: null, pan: 0, stream: !0, to: null, type: null, usePolicyFile: !1, volume: 100 }; this.flash9Options = { isMovieStar: null, usePeakData: !1, useWaveformData: !1, useEQData: !1, onbufferchange: null, ondataerror: null }; this.movieStarOptions = { bufferTime: 3, serverURL: null, onconnect: null, duration: null }; this.audioFormats = { mp3: { type: ['audio/mpeg; codecs="mp3"', "audio/mpeg", "audio/mp3", "audio/MPA", "audio/mpa-robust"], required: !1 }, mp4: { related: ["aac", "m4a", "m4b"], type: ['audio/mp4; codecs="mp4a.40.2"', "audio/aac", "audio/x-m4a", "audio/MP4A-LATM", "audio/mpeg4-generic"], required: !1 }, ogg: { type: ["audio/ogg; codecs=vorbis"], required: !1 }, wav: { type: ['audio/wav; codecs="1"', "audio/wav", "audio/wave", "audio/x-wav"], required: !0 } }; this.movieID = "sm2-container"; this.id = fa || "sm2movie"; this.debugID = "soundmanager-debug"; this.debugURLParam = /([#?&])debug=1/i; this.versionNumber = "V2.97a.20130101"; this.altURL = this.movieURL = this.version = null; this.enabled = this.swfLoaded = !1; this.oMC = null; this.sounds = {}; this.soundIDs = []; this.didFlashBlock = this.muted = !1; this.filePattern = null; this.filePatterns = { flash8: /\.mp3(\?.*)?$/i, flash9: /\.mp3(\?.*)?$/i }; this.features = { buffering: !1, peakData: !1, waveformData: !1, eqData: !1, movieStar: !1 }; this.sandbox = {}; this.html5 = { usingFlash: null }; this.flash = {}; this.ignoreFlash = this.html5Only = !1; var Ga, c = this, Ha = null, h = null, T, q = navigator.userAgent, ga = i.location.href.toString(), l = document, ha, Ia, ia, k, r = [], J = !1, K = !1, j = !1, s = !1, ja = !1, L, t, ka, U, la, B, C, D, Ja, ma, V, na, W, oa, E, pa, M, qa, X, F, Ka, ra, La, sa, Ma, N = null, ta = null, v, ua, G, Y, Z, H, p, O = !1, va = !1, Na, Oa, Pa, $ = 0, P = null, aa, Qa = [], u = null, Ra, ba, Q, y, wa, xa, Sa, n, db = Array.prototype.slice, w = !1, ya, A, za, Ta, x, ca = q.match(/(ipad|iphone|ipod)/i), Ua = q.match(/android/i), z = q.match(/msie/i), eb = q.match(/webkit/i), Aa = q.match(/safari/i) && !q.match(/chrome/i), Ba = q.match(/opera/i), Ca = q.match(/(mobile|pre\/|xoom)/i) || ca || Ua, Va = !ga.match(/usehtml5audio/i) && !ga.match(/sm2\-ignorebadua/i) && Aa && !q.match(/silk/i) && q.match(/OS X 10_6_([3-7])/i), Da = l.hasFocus !== g ? l.hasFocus() : null, da = Aa && (l.hasFocus === g || !l.hasFocus()), Wa = !da, Xa = /(mp3|mp4|mpa|m4a|m4b)/i, Ea = l.location ? l.location.protocol.match(/http/i) : null, Ya = !Ea ? "http://" : "", Za = /^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i, $a = "mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "), fb = RegExp("\\.(" + $a.join("|") + ")(\\?.*)?$", "i"); this.mimePattern = /^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i; this.useAltURL = !Ea; var Fa; try { Fa = Audio !== g && (Ba && opera !== g && 10 > opera.version() ? new Audio(null) : new Audio).canPlayType !== g } catch (hb) { Fa = !1 } this.hasHTML5 = Fa; this.setup = function(b) { var e = !c.url; b !== g && (j && u && c.ok() && (b.flashVersion !== g || b.url !== g || b.html5Test !== g)) && H(v("setupLate")); ka(b); e && (M && b.url !== g) && c.beginDelayedInit(); !M && (b.url !== g && "complete" === l.readyState) && setTimeout(E, 1); return c }; this.supported = this.ok = function() { return u ? j && !s : c.useHTML5Audio && c.hasHTML5 }; this.getMovie = function(b) { return T(b) || l[b] || i[b] }; this.createSound = function(b, e) { function d() { a = Y(a); c.sounds[a.id] = new Ga(a); c.soundIDs.push(a.id); return c.sounds[a.id] } var a, f = null; if (!j || !c.ok()) return H(void 0), !1; e !== g && (b = { id: b, url: e }); a = t(b); a.url = aa(a.url); if (p(a.id, !0)) return c.sounds[a.id]; ba(a) ? (f = d(), f._setup_html5(a)) : (8 < k && null === a.isMovieStar && (a.isMovieStar = !(!a.serverURL && !(a.type && a.type.match(Za) || a.url.match(fb)))), a = Z(a, void 0), f = d(), 8 === k ? h._createSound(a.id, a.loops || 1, a.usePolicyFile) : (h._createSound(a.id, a.url, a.usePeakData, a.useWaveformData, a.useEQData, a.isMovieStar, a.isMovieStar ? a.bufferTime : !1, a.loops || 1, a.serverURL, a.duration || null, a.autoPlay, !0, a.autoLoad, a.usePolicyFile), a.serverURL || (f.connected = !0, a.onconnect && a.onconnect.apply(f))), !a.serverURL && (a.autoLoad || a.autoPlay) && f.load(a)); !a.serverURL && a.autoPlay && f.play(); return f }; this.destroySound = function(b, e) { if (!p(b)) return !1; var d = c.sounds[b], a; d._iO = {}; d.stop(); d.unload(); for (a = 0; a < c.soundIDs.length; a++) if (c.soundIDs[a] === b) { c.soundIDs.splice(a, 1); break } e || d.destruct(!0); delete c.sounds[b]; return !0 }; this.load = function(b, e) { return !p(b) ? !1 : c.sounds[b].load(e) }; this.unload = function(b) { return !p(b) ? !1 : c.sounds[b].unload() }; this.onposition = this.onPosition = function(b, e, d, a) { return !p(b) ? !1 : c.sounds[b].onposition(e, d, a) }; this.clearOnPosition = function(b, e, d) { return !p(b) ? !1 : c.sounds[b].clearOnPosition(e, d) }; this.start = this.play = function(b, e) { var d = !1; return !j || !c.ok() ? (H("soundManager.play(): " + v(!j ? "notReady" : "notOK")), d) : !p(b) ? (e instanceof Object || (e = { url: e }), e && e.url && (e.id = b, d = c.createSound(e).play()), d) : c.sounds[b].play(e) }; this.setPosition = function(b, e) { return !p(b) ? !1 : c.sounds[b].setPosition(e) }; this.stop = function(b) { return !p(b) ? !1 : c.sounds[b].stop() }; this.stopAll = function() { for (var b in c.sounds) c.sounds.hasOwnProperty(b) && c.sounds[b].stop() }; this.pause = function(b) { return !p(b) ? !1 : c.sounds[b].pause() }; this.pauseAll = function() { var b; for (b = c.soundIDs.length - 1; 0 <= b; b--) c.sounds[c.soundIDs[b]].pause() }; this.resume = function(b) { return !p(b) ? !1 : c.sounds[b].resume() }; this.resumeAll = function() { var b; for (b = c.soundIDs.length - 1; 0 <= b; b--) c.sounds[c.soundIDs[b]].resume() }; this.togglePause = function(b) { return !p(b) ? !1 : c.sounds[b].togglePause() }; this.setPan = function(b, e) { return !p(b) ? !1 : c.sounds[b].setPan(e) }; this.setVolume = function(b, e) { return !p(b) ? !1 : c.sounds[b].setVolume(e) }; this.mute = function(b) { var e = 0; b instanceof String && (b = null); if (b) return !p(b) ? !1 : c.sounds[b].mute(); for (e = c.soundIDs.length - 1; 0 <= e; e--) c.sounds[c.soundIDs[e]].mute(); return c.muted = !0 }; this.muteAll = function() { c.mute() }; this.unmute = function(b) { b instanceof String && (b = null); if (b) return !p(b) ? !1 : c.sounds[b].unmute(); for (b = c.soundIDs.length - 1; 0 <= b; b--) c.sounds[c.soundIDs[b]].unmute(); c.muted = !1; return !0 }; this.unmuteAll = function() { c.unmute() }; this.toggleMute = function(b) { return !p(b) ? !1 : c.sounds[b].toggleMute() }; this.getMemoryUse = function() { var b = 0; h && 8 !== k && (b = parseInt(h._getMemoryUse(), 10)); return b }; this.disable = function(b) { var e; b === g && (b = !1); if (s) return !1; s = !0; for (e = c.soundIDs.length - 1; 0 <= e; e--) La(c.sounds[c.soundIDs[e]]); L(b); n.remove(i, "load", C); return !0 }; this.canPlayMIME = function(b) { var e; c.hasHTML5 && (e = Q({ type: b })); !e && u && (e = b && c.ok() ? !!(8 < k && b.match(Za) || b.match(c.mimePattern)) : null); return e }; this.canPlayURL = function(b) { var e; c.hasHTML5 && (e = Q({ url: b })); !e && u && (e = b && c.ok() ? !!b.match(c.filePattern) : null); return e }; this.canPlayLink = function(b) { return b.type !== g && b.type && c.canPlayMIME(b.type) ? !0 : c.canPlayURL(b.href) }; this.getSoundById = function(b) { if (!b) throw Error("soundManager.getSoundById(): sID is null/_undefined"); return c.sounds[b] }; this.onready = function(b, c) { if ("function" === typeof b) c || (c = i), la("onready", b, c), B(); else throw v("needFunction", "onready"); return !0 }; this.ontimeout = function(b, c) { if ("function" === typeof b) c || (c = i), la("ontimeout", b, c), B({ type: "ontimeout" }); else throw v("needFunction", "ontimeout"); return !0 }; this._wD = this._writeDebug = function() { return !0 }; this._debug = function() {}; this.reboot = function(b, e) { var d, a, f; for (d = c.soundIDs.length - 1; 0 <= d; d--) c.sounds[c.soundIDs[d]].destruct(); if (h) try { z && (ta = h.innerHTML), N = h.parentNode.removeChild(h) } catch (g) {} ta = N = u = h = null; c.enabled = M = j = O = va = J = K = s = w = c.swfLoaded = !1; c.soundIDs = []; c.sounds = {}; if (b) r = []; else for (d in r) if (r.hasOwnProperty(d)) { a = 0; for (f = r[d].length; a < f; a++) r[d][a].fired = !1 } c.html5 = { usingFlash: null }; c.flash = {}; c.html5Only = !1; c.ignoreFlash = !1; i.setTimeout(function() { oa(); e || c.beginDelayedInit() }, 20); return c }; this.reset = function() { return c.reboot(!0, !0) }; this.getMoviePercent = function() { return h && "PercentLoaded" in h ? h.PercentLoaded() : null }; this.beginDelayedInit = function() { ja = !0; E(); setTimeout(function() { if (va) return !1; X(); W(); return va = !0 }, 20); D() }; this.destruct = function() { c.disable(!0) }; Ga = function(b) { var e, d, a = this, f, ab, i, I, l, m, q = !1, j = [], n = 0, s, u, r = null; d = e = null; this.sID = this.id = b.id; this.url = b.url; this._iO = this.instanceOptions = this.options = t(b); this.pan = this.options.pan; this.volume = this.options.volume; this.isHTML5 = !1; this._a = null; this.id3 = {}; this._debug = function() {}; this.load = function(b) { var c = null; b !== g ? a._iO = t(b, a.options) : (b = a.options, a._iO = b, r && r !== a.url && (a._iO.url = a.url, a.url = null)); a._iO.url || (a._iO.url = a.url); a._iO.url = aa(a._iO.url); b = a.instanceOptions = a._iO; if (b.url === a.url && 0 !== a.readyState && 2 !== a.readyState) return 3 === a.readyState && b.onload && b.onload.apply(a, [!!a.duration]), a; a.loaded = !1; a.readyState = 1; a.playState = 0; a.id3 = {}; if (ba(b)) c = a._setup_html5(b), c._called_load || (a._html5_canplay = !1, a.url !== b.url && (a._a.src = b.url, a.setPosition(0)), a._a.autobuffer = "auto", a._a.preload = "auto", a._a._called_load = !0, b.autoPlay && a.play()); else try { a.isHTML5 = !1, a._iO = Z(Y(b)), b = a._iO, 8 === k ? h._load(a.id, b.url, b.stream, b.autoPlay, b.usePolicyFile) : h._load(a.id, b.url, !!b.stream, !!b.autoPlay, b.loops || 1, !!b.autoLoad, b.usePolicyFile) } catch (e) { F({ type: "SMSOUND_LOAD_JS_EXCEPTION", fatal: !0 }) } a.url = b.url; return a }; this.unload = function() { 0 !== a.readyState && (a.isHTML5 ? (I(), a._a && (a._a.pause(), wa(a._a, "about:blank"), r = "about:blank")) : 8 === k ? h._unload(a.id, "about:blank") : h._unload(a.id), f()); return a }; this.destruct = function(b) { a.isHTML5 ? (I(), a._a && (a._a.pause(), wa(a._a), w || i(), a._a._s = null, a._a = null)) : (a._iO.onfailure = null, h._destroySound(a.id)); b || c.destroySound(a.id, !0) }; this.start = this.play = function(b, c) { var e, d; d = !0; d = null; c = c === g ? !0 : c; b || (b = {}); a.url && (a._iO.url = a.url); a._iO = t(a._iO, a.options); a._iO = t(b, a._iO); a._iO.url = aa(a._iO.url); a.instanceOptions = a._iO; if (a._iO.serverURL && !a.connected) return a.getAutoPlay() || a.setAutoPlay(!0), a; ba(a._iO) && (a._setup_html5(a._iO), l()); 1 === a.playState && !a.paused && ((e = a._iO.multiShot) || (d = a)); if (null !== d) return d; b.url && b.url !== a.url && a.load(a._iO); a.loaded || (0 === a.readyState ? (a.isHTML5 || (a._iO.autoPlay = !0), a.load(a._iO), a.instanceOptions = a._iO) : 2 === a.readyState && (d = a)); if (null !== d) return d; !a.isHTML5 && (9 === k && 0 < a.position && a.position === a.duration) && (b.position = 0); if (a.paused && 0 <= a.position && (!a._iO.serverURL || 0 < a.position)) a.resume(); else { a._iO = t(b, a._iO); if (null !== a._iO.from && null !== a._iO.to && 0 === a.instanceCount && 0 === a.playState && !a._iO.serverURL) { e = function() { a._iO = t(b, a._iO); a.play(a._iO) }; if (a.isHTML5 && !a._html5_canplay) a.load({ oncanplay: e }), d = !1; else if (!a.isHTML5 && !a.loaded && (!a.readyState || 2 !== a.readyState)) a.load({ onload: e }), d = !1; if (null !== d) return d; a._iO = u() }(!a.instanceCount || a._iO.multiShotEvents || !a.isHTML5 && 8 < k && !a.getAutoPlay()) && a.instanceCount++; a._iO.onposition && 0 === a.playState && m(a); a.playState = 1; a.paused = !1; a.position = a._iO.position !== g && !isNaN(a._iO.position) ? a._iO.position : 0; a.isHTML5 || (a._iO = Z(Y(a._iO))); a._iO.onplay && c && (a._iO.onplay.apply(a), q = !0); a.setVolume(a._iO.volume, !0); a.setPan(a._iO.pan, !0); a.isHTML5 ? (l(), d = a._setup_html5(), a.setPosition(a._iO.position), d.play()) : (d = h._start(a.id, a._iO.loops || 1, 9 === k ? a._iO.position : a._iO.position / 1E3, a._iO.multiShot), 9 === k && !d && a._iO.onplayerror && a._iO.onplayerror.apply(a)) } return a }; this.stop = function(b) { var c = a._iO; 1 === a.playState && (a._onbufferchange(0), a._resetOnPosition(0), a.paused = !1, a.isHTML5 || (a.playState = 0), s(), c.to && a.clearOnPosition(c.to), a.isHTML5 ? a._a && (b = a.position, a.setPosition(0), a.position = b, a._a.pause(), a.playState = 0, a._onTimer(), I()) : (h._stop(a.id, b), c.serverURL && a.unload()), a.instanceCount = 0, a._iO = {}, c.onstop && c.onstop.apply(a)); return a }; this.setAutoPlay = function(b) { a._iO.autoPlay = b; a.isHTML5 || (h._setAutoPlay(a.id, b), b && !a.instanceCount && 1 === a.readyState && a.instanceCount++) }; this.getAutoPlay = function() { return a._iO.autoPlay }; this.setPosition = function(b) { b === g && (b = 0); var c = a.isHTML5 ? Math.max(b, 0) : Math.min(a.duration || a._iO.duration, Math.max(b, 0)); a.position = c; b = a.position / 1E3; a._resetOnPosition(a.position); a._iO.position = c; if (a.isHTML5) { if (a._a && a._html5_canplay && a._a.currentTime !== b) try { a._a.currentTime = b, (0 === a.playState || a.paused) && a._a.pause() } catch (e) {} } else b = 9 === k ? a.position : b, a.readyState && 2 !== a.readyState && h._setPosition(a.id, b, a.paused || !a.playState, a._iO.multiShot); a.isHTML5 && a.paused && a._onTimer(!0); return a }; this.pause = function(b) { if (a.paused || 0 === a.playState && 1 !== a.readyState) return a; a.paused = !0; a.isHTML5 ? (a._setup_html5().pause(), I()) : (b || b === g) && h._pause(a.id, a._iO.multiShot); a._iO.onpause && a._iO.onpause.apply(a); return a }; this.resume = function() { var b = a._iO; if (!a.paused) return a; a.paused = !1; a.playState = 1; a.isHTML5 ? (a._setup_html5().play(), l()) : (b.isMovieStar && !b.serverURL && a.setPosition(a.position), h._pause(a.id, b.multiShot)); !q && b.onplay ? (b.onplay.apply(a), q = !0) : b.onresume && b.onresume.apply(a); return a }; this.togglePause = function() { if (0 === a.playState) return a.play({ position: 9 === k && !a.isHTML5 ? a.position : a.position / 1E3 }), a; a.paused ? a.resume() : a.pause(); return a }; this.setPan = function(b, c) { b === g && (b = 0); c === g && (c = !1); a.isHTML5 || h._setPan(a.id, b); a._iO.pan = b; c || (a.pan = b, a.options.pan = b); return a }; this.setVolume = function(b, e) { b === g && (b = 100); e === g && (e = !1); a.isHTML5 ? a._a && (a._a.volume = Math.max(0, Math.min(1, b / 100))) : h._setVolume(a.id, c.muted && !a.muted || a.muted ? 0 : b); a._iO.volume = b; e || (a.volume = b, a.options.volume = b); return a }; this.mute = function() { a.muted = !0; a.isHTML5 ? a._a && (a._a.muted = !0) : h._setVolume(a.id, 0); return a }; this.unmute = function() { a.muted = !1; var b = a._iO.volume !== g; a.isHTML5 ? a._a && (a._a.muted = !1) : h._setVolume(a.id, b ? a._iO.volume : a.options.volume); return a }; this.toggleMute = function() { return a.muted ? a.unmute() : a.mute() }; this.onposition = this.onPosition = function(b, c, e) { j.push({ position: parseInt(b, 10), method: c, scope: e !== g ? e : a, fired: !1 }); return a }; this.clearOnPosition = function(a, b) { var c, a = parseInt(a, 10); if (isNaN(a)) return !1; for (c = 0; c < j.length; c++) if (a === j[c].position && (!b || b === j[c].method)) j[c].fired && n--, j.splice(c, 1) }; this._processOnPosition = function() { var b, c; b = j.length; if (!b || !a.playState || n >= b) return !1; for (b -= 1; 0 <= b; b--) c = j[b], !c.fired && a.position >= c.position && (c.fired = !0, n++, c.method.apply(c.scope, [c.position])); return !0 }; this._resetOnPosition = function(a) { var b, c; b = j.length; if (!b) return !1; for (b -= 1; 0 <= b; b--) c = j[b], c.fired && a <= c.position && (c.fired = !1, n--); return !0 }; u = function() { var b = a._iO, c = b.from, e = b.to, d, f; f = function() { a.clearOnPosition(e, f); a.stop() }; d = function() { if (null !== e && !isNaN(e)) a.onPosition(e, f) }; null !== c && !isNaN(c) && (b.position = c, b.multiShot = !1, d()); return b }; m = function() { var b, c = a._iO.onposition; if (c) for (b in c) if (c.hasOwnProperty(b)) a.onPosition(parseInt(b, 10), c[b]) }; s = function() { var b, c = a._iO.onposition; if (c) for (b in c) c.hasOwnProperty(b) && a.clearOnPosition(parseInt(b, 10)) }; l = function() { a.isHTML5 && Na(a) }; I = function() { a.isHTML5 && Oa(a) }; f = function(b) { b || (j = [], n = 0); q = !1; a._hasTimer = null; a._a = null; a._html5_canplay = !1; a.bytesLoaded = null; a.bytesTotal = null; a.duration = a._iO && a._iO.duration ? a._iO.duration : null; a.durationEstimate = null; a.buffered = []; a.eqData = []; a.eqData.left = []; a.eqData.right = []; a.failures = 0; a.isBuffering = !1; a.instanceOptions = {}; a.instanceCount = 0; a.loaded = !1; a.metadata = {}; a.readyState = 0; a.muted = !1; a.paused = !1; a.peakData = { left: 0, right: 0 }; a.waveformData = { left: [], right: [] }; a.playState = 0; a.position = null; a.id3 = {} }; f(); this._onTimer = function(b) { var c, f = !1, g = {}; if (a._hasTimer || b) { if (a._a && (b || (0 < a.playState || 1 === a.readyState) && !a.paused)) c = a._get_html5_duration(), c !== e && (e = c, a.duration = c, f = !0), a.durationEstimate = a.duration, c = 1E3 * a._a.currentTime || 0, c !== d && (d = c, f = !0), (f || b) && a._whileplaying(c, g, g, g, g); return f } }; this._get_html5_duration = function() { var b = a._iO; return (b = a._a && a._a.duration ? 1E3 * a._a.duration : b && b.duration ? b.duration : null) && !isNaN(b) && Infinity !== b ? b : null }; this._apply_loop = function(a, b) { a.loop = 1 < b ? "loop" : "" }; this._setup_html5 = function(b) { var b = t(a._iO, b), c = decodeURI, e = w ? Ha : a._a, d = c(b.url), g; w ? d === ya && (g = !0) : d === r && (g = !0); if (e) { if (e._s) if (w) e._s && (e._s.playState && !g) && e._s.stop(); else if (!w && d === c(r)) return a._apply_loop(e, b.loops), e; g || (f(!1), e.src = b.url, ya = r = a.url = b.url, e._called_load = !1) } else a._a = b.autoLoad || b.autoPlay ? new Audio(b.url) : Ba && 10 > opera.version() ? new Audio(null) : new Audio, e = a._a, e._called_load = !1, w && (Ha = e); a.isHTML5 = !0; a._a = e; e._s = a; ab(); a._apply_loop(e, b.loops); b.autoLoad || b.autoPlay ? a.load() : (e.autobuffer = !1, e.preload = "auto"); return e }; ab = function() { if (a._a._added_events) return !1; var b; a._a._added_events = !0; for (b in x) x.hasOwnProperty(b) && a._a && a._a.addEventListener(b, x[b], !1); return !0 }; i = function() { var b; a._a._added_events = !1; for (b in x) x.hasOwnProperty(b) && a._a && a._a.removeEventListener(b, x[b], !1) }; this._onload = function(b) { b = !!b || !a.isHTML5 && 8 === k && a.duration; a.loaded = b; a.readyState = b ? 3 : 2; a._onbufferchange(0); a._iO.onload && a._iO.onload.apply(a, [b]); return !0 }; this._onbufferchange = function(b) { if (0 === a.playState || b && a.isBuffering || !b && !a.isBuffering) return !1; a.isBuffering = 1 === b; a._iO.onbufferchange && a._iO.onbufferchange.apply(a); return !0 }; this._onsuspend = function() { a._iO.onsuspend && a._iO.onsuspend.apply(a); return !0 }; this._onfailure = function(b, c, e) { a.failures++; if (a._iO.onfailure && 1 === a.failures) a._iO.onfailure(a, b, c, e) }; this._onfinish = function() { var b = a._iO.onfinish; a._onbufferchange(0); a._resetOnPosition(0); a.instanceCount && (a.instanceCount--, a.instanceCount || (s(), a.playState = 0, a.paused = !1, a.instanceCount = 0, a.instanceOptions = {}, a._iO = {}, I(), a.isHTML5 && (a.position = 0)), (!a.instanceCount || a._iO.multiShotEvents) && b && b.apply(a)) }; this._whileloading = function(b, c, e, d) { var f = a._iO; a.bytesLoaded = b; a.bytesTotal = c; a.duration = Math.floor(e); a.bufferLength = d; a.durationEstimate = !a.isHTML5 && !f.isMovieStar ? f.duration ? a.duration > f.duration ? a.duration : f.duration : parseInt(a.bytesTotal / a.bytesLoaded * a.duration, 10) : a.duration; a.isHTML5 || (a.buffered = [{ start: 0, end: a.duration }]); (3 !== a.readyState || a.isHTML5) && f.whileloading && f.whileloading.apply(a) }; this._whileplaying = function(b, c, e, d, f) { var h = a._iO; if (isNaN(b) || null === b) return !1; a.position = Math.max(0, b); a._processOnPosition(); !a.isHTML5 && 8 < k && (h.usePeakData && (c !== g && c) && (a.peakData = { left: c.leftPeak, right: c.rightPeak }), h.useWaveformData && (e !== g && e) && (a.waveformData = { left: e.split(","), right: d.split(",") }), h.useEQData && (f !== g && f && f.leftEQ) && (b = f.leftEQ.split(","), a.eqData = b, a.eqData.left = b, f.rightEQ !== g && f.rightEQ && (a.eqData.right = f.rightEQ.split(",")))); 1 === a.playState && (!a.isHTML5 && (8 === k && !a.position && a.isBuffering) && a._onbufferchange(0), h.whileplaying && h.whileplaying.apply(a)); return !0 }; this._oncaptiondata = function(b) { a.captiondata = b; a._iO.oncaptiondata && a._iO.oncaptiondata.apply(a, [b]) }; this._onmetadata = function(b, c) { var e = {}, d, f; d = 0; for (f = b.length; d < f; d++) e[b[d]] = c[d]; a.metadata = e; a._iO.onmetadata && a._iO.onmetadata.apply(a) }; this._onid3 = function(b, c) { var e = [], d, f; d = 0; for (f = b.length; d < f; d++) e[b[d]] = c[d]; a.id3 = t(a.id3, e); a._iO.onid3 && a._iO.onid3.apply(a) }; this._onconnect = function(b) { b = 1 === b; if (a.connected = b) a.failures = 0, p(a.id) && (a.getAutoPlay() ? a.play(g, a.getAutoPlay()) : a._iO.autoLoad && a.load()), a._iO.onconnect && a._iO.onconnect.apply(a, [b]) }; this._ondataerror = function() { 0 < a.playState && a._iO.ondataerror && a._iO.ondataerror.apply(a) } }; qa = function() { return l.body || l._docElement || l.getElementsByTagName("div")[0] }; T = function(b) { return l.getElementById(b) }; t = function(b, e) { var d = b || {}, a, f; a = e === g ? c.defaultOptions : e; for (f in a) a.hasOwnProperty(f) && d[f] === g && (d[f] = "object" !== typeof a[f] || null === a[f] ? a[f] : t(d[f], a[f])); return d }; U = { onready: 1, ontimeout: 1, defaultOptions: 1, flash9Options: 1, movieStarOptions: 1 }; ka = function(b, e) { var d, a = !0, f = e !== g, h = c.setupOptions; for (d in b) if (b.hasOwnProperty(d)) if ("object" !== typeof b[d] || null === b[d] || b[d] instanceof Array || b[d] instanceof RegExp) f && U[e] !== g ? c[e][d] = b[d] : h[d] !== g ? (c.setupOptions[d] = b[d], c[d] = b[d]) : U[d] === g ? (H(v(c[d] === g ? "setupUndef" : "setupError", d), 2), a = !1) : c[d] instanceof Function ? c[d].apply(c, b[d] instanceof Array ? b[d] : [b[d]]) : c[d] = b[d]; else if (U[d] === g) H(v(c[d] === g ? "setupUndef" : "setupError", d), 2), a = !1; else return ka(b[d], d); return a }; var bb = function(b) { var b = db.call(b), c = b.length; ea ? (b[1] = "on" + b[1], 3 < c && b.pop()) : 3 === c && b.push(!1); return b }, cb = function(b, c) { var d = b.shift(), a = [gb[c]]; if (ea) d[a](b[0], b[1]); else d[a].apply(d, b) }, ea = i.attachEvent, gb = { add: ea ? "attachEvent" : "addEventListener", remove: ea ? "detachEvent" : "removeEventListener" }; n = { add: function() { cb(bb(arguments), "add") }, remove: function() { cb(bb(arguments), "remove") } }; x = { abort: m(function() {}), canplay: m(function() { var b = this._s, c; if (b._html5_canplay) return !0; b._html5_canplay = !0; b._onbufferchange(0); c = b._iO.position !== g && !isNaN(b._iO.position) ? b._iO.position / 1E3 : null; if (b.position && this.currentTime !== c) try { this.currentTime = c } catch (d) {} b._iO._oncanplay && b._iO._oncanplay() }), canplaythrough: m(function() { var b = this._s; b.loaded || (b._onbufferchange(0), b._whileloading(b.bytesLoaded, b.bytesTotal, b._get_html5_duration()), b._onload(!0)) }), ended: m(function() { this._s._onfinish() }), error: m(function() { this._s._onload(!1) }), loadeddata: m(function() { var b = this._s; !b._loaded && !Aa && (b.duration = b._get_html5_duration()) }), loadedmetadata: m(function() {}), loadstart: m(function() { this._s._onbufferchange(1) }), play: m(function() { this._s._onbufferchange(0) }), playing: m(function() { this._s._onbufferchange(0) }), progress: m(function(b) { var c = this._s, d, a, f = 0, f = b.target.buffered; d = b.loaded || 0; var g = b.total || 1; c.buffered = []; if (f && f.length) { d = 0; for (a = f.length; d < a; d++) c.buffered.push({ start: 1E3 * f.start(d), end: 1E3 * f.end(d) }); f = 1E3 * (f.end(0) - f.start(0)); d = f / (1E3 * b.target.duration) } isNaN(d) || (c._onbufferchange(0), c._whileloading(d, g, c._get_html5_duration()), d && (g && d === g) && x.canplaythrough.call(this, b)) }), ratechange: m(function() {}), suspend: m(function(b) { var c = this._s; x.progress.call(this, b); c._onsuspend() }), stalled: m(function() {}), timeupdate: m(function() { this._s._onTimer() }), waiting: m(function() { this._s._onbufferchange(1) }) }; ba = function(b) { return b.serverURL || b.type && S(b.type) ? !1 : b.type ? Q({ type: b.type }) : Q({ url: b.url }) || c.html5Only }; wa = function(b, c) { b && (b.src = c, b._called_load = !1); w && (ya = null) }; Q = function(b) { if (!c.useHTML5Audio || !c.hasHTML5) return !1; var e = b.url || null, b = b.type || null, d = c.audioFormats, a; if (b && c.html5[b] !== g) return c.html5[b] && !S(b); if (!y) { y = []; for (a in d) d.hasOwnProperty(a) && (y.push(a), d[a].related && (y = y.concat(d[a].related))); y = RegExp("\\.(" + y.join("|") + ")(\\?.*)?$", "i") } a = e ? e.toLowerCase().match(y) : null; !a || !a.length ? b && (e = b.indexOf(";"), a = (-1 !== e ? b.substr(0, e) : b).substr(6)) : a = a[1]; a && c.html5[a] !== g ? e = c.html5[a] && !S(a) : (b = "audio/" + a, e = c.html5.canPlayType({ type: b }), e = (c.html5[a] = e) && c.html5[b] && !S(b)); return e }; Sa = function() { function b(a) { var b, d, f = b = !1; if (!e || "function" !== typeof e.canPlayType) return b; if (a instanceof Array) { b = 0; for (d = a.length; b < d; b++) if (c.html5[a[b]] || e.canPlayType(a[b]).match(c.html5Test)) f = !0, c.html5[a[b]] = !0, c.flash[a[b]] = !!a[b].match(Xa); b = f } else a = e && "function" === typeof e.canPlayType ? e.canPlayType(a) : !1, b = !(!a || !a.match(c.html5Test)); return b } if (!c.useHTML5Audio || !c.hasHTML5) return !1; var e = Audio !== g ? Ba && 10 > opera.version() ? new Audio(null) : new Audio : null, d, a, f = {}, h; h = c.audioFormats; for (d in h) if (h.hasOwnProperty(d) && (a = "audio/" + d, f[d] = b(h[d].type), f[a] = f[d], d.match(Xa) ? (c.flash[d] = !0, c.flash[a] = !0) : (c.flash[d] = !1, c.flash[a] = !1), h[d] && h[d].related)) for (a = h[d].related.length - 1; 0 <= a; a--) f["audio/" + h[d].related[a]] = f[d], c.html5[h[d].related[a]] = f[d], c.flash[h[d].related[a]] = f[d]; f.canPlayType = e ? b : null; c.html5 = t(c.html5, f); return !0 }; na = {}; v = function() {}; Y = function(b) { 8 === k && (1 < b.loops && b.stream) && (b.stream = !1); return b }; Z = function(b) { if (b && !b.usePolicyFile && (b.onid3 || b.usePeakData || b.useWaveformData || b.useEQData)) b.usePolicyFile = !0; return b }; H = function() {}; ha = function() { return !1 }; La = function(b) { for (var c in b) b.hasOwnProperty(c) && "function" === typeof b[c] && (b[c] = ha) }; sa = function(b) { b === g && (b = !1); (s || b) && c.disable(b) }; Ma = function(b) { var e = null; if (b) if (b.match(/\.swf(\?.*)?$/i)) { if (e = b.substr(b.toLowerCase().lastIndexOf(".swf?") + 4)) return b } else b.lastIndexOf("/") !== b.length - 1 && (b += "/"); b = (b && -1 !== b.lastIndexOf("/") ? b.substr(0, b.lastIndexOf("/") + 1) : "./") + c.movieURL; c.noSWFCache && (b += "?ts=" + (new Date).getTime()); return b }; ma = function() { k = parseInt(c.flashVersion, 10); 8 !== k && 9 !== k && (c.flashVersion = k = 8); var b = c.debugMode || c.debugFlash ? "_debug.swf" : ".swf"; c.useHTML5Audio && (!c.html5Only && c.audioFormats.mp4.required && 9 > k) && (c.flashVersion = k = 9); c.version = c.versionNumber + (c.html5Only ? " (HTML5-only mode)" : 9 === k ? " (AS3/Flash 9)" : " (AS2/Flash 8)"); 8 < k ? (c.defaultOptions = t(c.defaultOptions, c.flash9Options), c.features.buffering = !0, c.defaultOptions = t(c.defaultOptions, c.movieStarOptions), c.filePatterns.flash9 = RegExp("\\.(mp3|" + $a.join("|") + ")(\\?.*)?$", "i"), c.features.movieStar = !0) : c.features.movieStar = !1; c.filePattern = c.filePatterns[8 !== k ? "flash9" : "flash8"]; c.movieURL = (8 === k ? "soundmanager2.swf" : "soundmanager2_flash9.swf").replace(".swf", b); c.features.peakData = c.features.waveformData = c.features.eqData = 8 < k }; Ka = function(b, c) { if (!h) return !1; h._setPolling(b, c) }; ra = function() { c.debugURLParam.test(ga) && (c.debugMode = !0) }; p = this.getSoundById; G = function() { var b = []; c.debugMode && b.push("sm2_debug"); c.debugFlash && b.push("flash_debug"); c.useHighPerformance && b.push("high_performance"); return b.join(" ") }; ua = function() { v("fbHandler"); var b = c.getMoviePercent(), e = { type: "FLASHBLOCK" }; if (c.html5Only) return !1; c.ok() ? c.oMC && (c.oMC.className = [G(), "movieContainer", "swf_loaded" + (c.didFlashBlock ? " swf_unblocked" : "")].join(" ")) : (u && (c.oMC.className = G() + " movieContainer " + (null === b ? "swf_timedout" : "swf_error")), c.didFlashBlock = !0, B({ type: "ontimeout", ignoreInit: !0, error: e }), F(e)) }; la = function(b, c, d) { r[b] === g && (r[b] = []); r[b].push({ method: c, scope: d || null, fired: !1 }) }; B = function(b) { b || (b = { type: c.ok() ? "onready" : "ontimeout" }); if (!j && b && !b.ignoreInit || "ontimeout" === b.type && (c.ok() || s && !b.ignoreInit)) return !1; var e = { success: b && b.ignoreInit ? c.ok() : !s }, d = b && b.type ? r[b.type] || [] : [], a = [], f, e = [e], g = u && !c.ok(); b.error && (e[0].error = b.error); b = 0; for (f = d.length; b < f; b++) !0 !== d[b].fired && a.push(d[b]); if (a.length) { b = 0; for (f = a.length; b < f; b++) a[b].scope ? a[b].method.apply(a[b].scope, e) : a[b].method.apply(this, e), g || (a[b].fired = !0) } return !0 }; C = function() { i.setTimeout(function() { c.useFlashBlock && ua(); B(); "function" === typeof c.onload && c.onload.apply(i); c.waitForWindowLoad && n.add(i, "load", C) }, 1) }; za = function() { if (A !== g) return A; var b = !1, c = navigator, d = c.plugins, a, f = i.ActiveXObject; if (d && d.length)(c = c.mimeTypes) && (c["application/x-shockwave-flash"] && c["application/x-shockwave-flash"].enabledPlugin && c["application/x-shockwave-flash"].enabledPlugin.description) && (b = !0); else if (f !== g && !q.match(/MSAppHost/i)) { try { a = new f("ShockwaveFlash.ShockwaveFlash") } catch (h) {} b = !!a } return A = b }; Ra = function() { var b, e, d = c.audioFormats; if (ca && q.match(/os (1|2|3_0|3_1)/i)) c.hasHTML5 = !1, c.html5Only = !0, c.oMC && (c.oMC.style.display = "none"); else if (c.useHTML5Audio && (!c.html5 || !c.html5.canPlayType)) c.hasHTML5 = !1; if (c.useHTML5Audio && c.hasHTML5) for (e in d) if (d.hasOwnProperty(e) && (d[e].required && !c.html5.canPlayType(d[e].type) || c.preferFlash && (c.flash[e] || c.flash[d[e].type]))) b = !0; c.ignoreFlash && (b = !1); c.html5Only = c.hasHTML5 && c.useHTML5Audio && !b; return !c.html5Only }; aa = function(b) { var e, d, a = 0; if (b instanceof Array) { e = 0; for (d = b.length; e < d; e++) if (b[e] instanceof Object) { if (c.canPlayMIME(b[e].type)) { a = e; break } } else if (c.canPlayURL(b[e])) { a = e; break } b[a].url && (b[a] = b[a].url); b = b[a] } return b }; Na = function(b) { b._hasTimer || (b._hasTimer = !0, !Ca && c.html5PollingInterval && (null === P && 0 === $ && (P = i.setInterval(Pa, c.html5PollingInterval)), $++)) }; Oa = function(b) { b._hasTimer && (b._hasTimer = !1, !Ca && c.html5PollingInterval && $--) }; Pa = function() { var b; if (null !== P && !$) return i.clearInterval(P), P = null, !1; for (b = c.soundIDs.length - 1; 0 <= b; b--) c.sounds[c.soundIDs[b]].isHTML5 && c.sounds[c.soundIDs[b]]._hasTimer && c.sounds[c.soundIDs[b]]._onTimer() }; F = function(b) { b = b !== g ? b : {}; "function" === typeof c.onerror && c.onerror.apply(i, [{ type: b.type !== g ? b.type : null }]); b.fatal !== g && b.fatal && c.disable() }; Ta = function() { if (!Va || !za()) return !1; var b = c.audioFormats, e, d; for (d in b) if (b.hasOwnProperty(d) && ("mp3" === d || "mp4" === d)) if (c.html5[d] = !1, b[d] && b[d].related) for (e = b[d].related.length - 1; 0 <= e; e--) c.html5[b[d].related[e]] = !1 }; this._setSandboxType = function() {}; this._externalInterfaceOK = function() { if (c.swfLoaded) return !1; c.swfLoaded = !0; da = !1; Va && Ta(); setTimeout(ia, z ? 100 : 1) }; X = function(b, e) { function d(a, b) { return '' } if (J && K) return !1; if (c.html5Only) return ma(), c.oMC = T(c.movieID), ia(), K = J = !0, !1; var a = e || c.url, f = c.altURL || a, h = qa(), i = G(), k = null, k = l.getElementsByTagName("html")[0], j, n, m, k = k && k.dir && k.dir.match(/rtl/i), b = b === g ? c.id : b; ma(); c.url = Ma(Ea ? a : f); e = c.url; c.wmode = !c.wmode && c.useHighPerformance ? "transparent" : c.wmode; if (null !== c.wmode && (q.match(/msie 8/i) || !z && !c.useHighPerformance) && navigator.platform.match(/win32|win64/i)) Qa.push(na.spcWmode), c.wmode = null; h = { name: b, id: b, src: e, quality: "high", allowScriptAccess: c.allowScriptAccess, bgcolor: c.bgColor, pluginspage: Ya + "www.macromedia.com/go/getflashplayer", title: "JS/Flash audio component (SoundManager 2)", type: "application/x-shockwave-flash", wmode: c.wmode, hasPriority: "true" }; c.debugFlash && (h.FlashVars = "debug=1"); c.wmode || delete h.wmode; if (z) a = l.createElement("div"), n = ['', d("movie", e), d("AllowScriptAccess", c.allowScriptAccess), d("quality", h.quality), c.wmode ? d("wmode", c.wmode) : "", d("bgcolor", c.bgColor), d("hasPriority", "true"), c.debugFlash ? d("FlashVars", h.FlashVars) : "", "" ].join(""); else for (j in a = l.createElement("embed"), h) h.hasOwnProperty(j) && a.setAttribute(j, h[j]); ra(); i = G(); if (h = qa()) if (c.oMC = T(c.movieID) || l.createElement("div"), c.oMC.id) m = c.oMC.className, c.oMC.className = (m ? m + " " : "movieContainer") + (i ? " " + i : ""), c.oMC.appendChild(a), z && (j = c.oMC.appendChild(l.createElement("div")), j.className = "sm2-object-box", j.innerHTML = n), K = !0; else { c.oMC.id = c.movieID; c.oMC.className = "movieContainer " + i; j = i = null; c.useFlashBlock || (c.useHighPerformance ? i = { position: "fixed", width: "8px", height: "8px", bottom: "0px", left: "0px", overflow: "hidden" } : (i = { position: "absolute", width: "6px", height: "6px", top: "-9999px", left: "-9999px" }, k && (i.left = Math.abs(parseInt(i.left, 10)) + "px"))); eb && (c.oMC.style.zIndex = 1E4); if (!c.debugFlash) for (m in i) i.hasOwnProperty(m) && (c.oMC.style[m] = i[m]); try { z || c.oMC.appendChild(a), h.appendChild(c.oMC), z && (j = c.oMC.appendChild(l.createElement("div")), j.className = "sm2-object-box", j.innerHTML = n), K = !0 } catch (p) { throw Error(v("domError") + " \n" + p.toString()); } } return J = !0 }; W = function() { if (c.html5Only) return X(), !1; if (h || !c.url) return !1; h = c.getMovie(c.id); h || (N ? (z ? c.oMC.innerHTML = ta : c.oMC.appendChild(N), N = null, J = !0) : X(c.id, c.url), h = c.getMovie(c.id)); "function" === typeof c.oninitmovie && setTimeout(c.oninitmovie, 1); return !0 }; D = function() { setTimeout(Ja, 1E3) }; Ja = function() { var b, e = !1; if (!c.url || O) return !1; O = !0; n.remove(i, "load", D); if (da && !Da) return !1; j || (b = c.getMoviePercent(), 0 < b && 100 > b && (e = !0)); setTimeout(function() { b = c.getMoviePercent(); if (e) return O = !1, i.setTimeout(D, 1), !1; !j && Wa && (null === b ? c.useFlashBlock || 0 === c.flashLoadTimeout ? c.useFlashBlock && ua() : B({ type: "ontimeout", ignoreInit: !0 }) : 0 !== c.flashLoadTimeout && sa(!0)) }, c.flashLoadTimeout) }; V = function() { if (Da || !da) return n.remove(i, "focus", V), !0; Da = Wa = !0; O = !1; D(); n.remove(i, "focus", V); return !0 }; L = function(b) { if (j) return !1; if (c.html5Only) return j = !0, C(), !0; var e = !0, d; if (!c.useFlashBlock || !c.flashLoadTimeout || c.getMoviePercent()) j = !0, s && (d = { type: !A && u ? "NO_FLASH" : "INIT_TIMEOUT" }); if (s || b) c.useFlashBlock && c.oMC && (c.oMC.className = G() + " " + (null === c.getMoviePercent() ? "swf_timedout" : "swf_error")), B({ type: "ontimeout", error: d, ignoreInit: !0 }), F(d), e = !1; s || (c.waitForWindowLoad && !ja ? n.add(i, "load", C) : C()); return e }; Ia = function() { var b, e = c.setupOptions; for (b in e) e.hasOwnProperty(b) && (c[b] === g ? c[b] = e[b] : c[b] !== e[b] && (c.setupOptions[b] = c[b])) }; ia = function() { if (j) return !1; if (c.html5Only) return j || (n.remove(i, "load", c.beginDelayedInit), c.enabled = !0, L()), !0; W(); try { h._externalInterfaceTest(!1), Ka(!0, c.flashPollingInterval || (c.useHighPerformance ? 10 : 50)), c.debugMode || h._disableDebug(), c.enabled = !0, c.html5Only || n.add(i, "unload", ha) } catch (b) { return F({ type: "JS_TO_FLASH_EXCEPTION", fatal: !0 }), sa(!0), L(), !1 } L(); n.remove(i, "load", c.beginDelayedInit); return !0 }; E = function() { if (M) return !1; M = !0; Ia(); ra(); !A && c.hasHTML5 && c.setup({ useHTML5Audio: !0, preferFlash: !1 }); Sa(); c.html5.usingFlash = Ra(); u = c.html5.usingFlash; !A && u && (Qa.push(na.needFlash), c.setup({ flashLoadTimeout: 1 })); l.removeEventListener && l.removeEventListener("DOMContentLoaded", E, !1); W(); return !0 }; xa = function() { "complete" === l.readyState && (E(), l.detachEvent("onreadystatechange", xa)); return !0 }; pa = function() { ja = !0; n.remove(i, "load", pa) }; oa = function() { if (Ca && (c.setupOptions.useHTML5Audio = !0, c.setupOptions.preferFlash = !1, ca || Ua && !q.match(/android\s2\.3/i))) ca && (c.ignoreFlash = !0), w = !0 }; oa(); za(); n.add(i, "focus", V); n.add(i, "load", D); n.add(i, "load", pa); l.addEventListener ? l.addEventListener("DOMContentLoaded", E, !1) : l.attachEvent ? l.attachEvent("onreadystatechange", xa) : F({ type: "NO_DOM2_EVENTS", fatal: !0 }) } var fa = null; if (void 0 === i.SM2_DEFER || !SM2_DEFER) fa = new R; i.SoundManager = R; i.soundManager = fa })(window);