var jwplayer = function (a) {
    if (jwplayer.api) {
        return jwplayer.api.selectPlayer(a)
    }
};
var $jw = jwplayer;
jwplayer.version = "5.5.1641";
jwplayer.vid = document.createElement("video");
jwplayer.audio = document.createElement("audio");
jwplayer.source = document.createElement("source");
(function (b) {
    b.utils = function () {};
    b.utils.typeOf = function (d) {
        var c = typeof d;
        if (c === "object") {
            if (d) {
                if (d instanceof Array) {
                    c = "array"
                }
            } else {
                c = "null"
            }
        }
        return c
    };
    b.utils.extend = function () {
        var c = b.utils.extend["arguments"];
        if (c.length > 1) {
            for (var e = 1; e < c.length; e++) {
                for (var d in c[e]) {
                    c[0][d] = c[e][d]
                }
            }
            return c[0]
        }
        return null
    };
    b.utils.clone = function (f) {
        var c;
        var d = b.utils.clone["arguments"];
        if (d.length == 1) {
            switch (b.utils.typeOf(d[0])) {
            case "object":
                c = {};
                for (var e in d[0]) {
                    c[e] = b.utils.clone(d[0][e])
                }
                break;
            case "array":
                c = [];
                for (var e in d[0]) {
                    c[e] = b.utils.clone(d[0][e])
                }
                break;
            default:
                return d[0];
                break
            }
        }
        return c
    };
    b.utils.extension = function (c) {
        c = c.substring(c.lastIndexOf("/") + 1, c.length);
        c = c.split("?")[0];
        if (c.lastIndexOf(".") > -1) {
            return c.substr(c.lastIndexOf(".") + 1, c.length).toLowerCase()
        }
        return
    };
    b.utils.html = function (c, d) {
        c.innerHTML = d
    };
    b.utils.wrap = function (c, d) {
        c.parentNode.replaceChild(d, c);
        d.appendChild(c)
    };
    b.utils.ajax = function (f, e, c) {
        var d;
        if (window.XMLHttpRequest) {
            d = new XMLHttpRequest()
        } else {
            d = new ActiveXObject("Microsoft.XMLHTTP")
        }
        d.onreadystatechange = function () {
            if (d.readyState === 4) {
                if (d.status === 200) {
                    if (e) {
                        e(d)
                    }
                } else {
                    if (c) {
                        c(f)
                    }
                }
            }
        };
        d.open("GET", f, true);
        d.send(null);
        return d
    };
    b.utils.load = function (d, e, c) {
        d.onreadystatechange = function () {
            if (d.readyState === 4) {
                if (d.status === 200) {
                    if (e) {
                        e()
                    }
                } else {
                    if (c) {
                        c()
                    }
                }
            }
        }
    };
    b.utils.find = function (d, c) {
        return d.getElementsByTagName(c)
    };
    b.utils.append = function (c, d) {
        c.appendChild(d)
    };
    b.utils.isIE = function () {
        return ((!+"\v1") || (typeof window.ActiveXObject != "undefined"))
    };
    b.utils.isLegacyAndroid = function () {
        var c = navigator.userAgent.toLowerCase();
        return (c.match(/android 2.[012]/i) !== null)
    };
    b.utils.isIOS = function () {
        var c = navigator.userAgent.toLowerCase();
        return (c.match(/iP(hone|ad)/i) !== null)
    };
    b.utils.getFirstPlaylistItemFromConfig = function (c) {
        var d = {};
        var e;
        if (c.playlist && c.playlist.length) {
            e = c.playlist[0]
        } else {
            e = c
        }
        d.file = e.file;
        d.levels = e.levels;
        d.streamer = e.streamer;
        d.playlistfile = e.playlistfile;
        if (d.file && d.file.toLowerCase().indexOf("youtube.com") > -1) {
            d.provider = "youtube"
        }
        if (d.streamer && d.streamer.toLowerCase().indexOf("rtmp://") == 0) {
            d.provider = "rtmp"
        }
        if (e.type) {
            d.provider = e.type.toLowerCase()
        } else {
            if (e.provider) {
                d.provider = e.provider.toLowerCase()
            }
        }
        return d
    };
    b.utils.getOuterHTML = function (d) {
        if (d.outerHTML) {
            return d.outerHTML
        } else {
            var e = d.parentNode;
            var c = document.createElement(e.tagName);
            var g = document.createElement(d.tagName);
            e.replaceChild(g, d);
            c.appendChild(d);
            var f = c.innerHTML;
            e.replaceChild(d, g);
            return f
        }
    };
    b.utils.setOuterHTML = function (f, e) {
        if (f.outerHTML) {
            f.outerHTML = e
        } else {
            var g = document.createElement("div");
            g.innerHTML = e;
            var c = document.createRange();
            c.selectNodeContents(g);
            var d = c.extractContents();
            f.parentNode.insertBefore(d, f);
            f.parentNode.removeChild(f)
        }
    };
    b.utils.hasFlash = function () {
        return (typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] != "undefined") || (typeof window.ActiveXObject != "undefined")
    };
    b.utils.getPluginName = function (c) {
        if (c.lastIndexOf("/") >= 0) {
            c = c.substring(c.lastIndexOf("/") + 1, c.length)
        }
        if (c.lastIndexOf("-") >= 0) {
            c = c.substring(0, c.lastIndexOf("-"))
        }
        if (c.lastIndexOf(".swf") >= 0) {
            c = c.substring(0, c.lastIndexOf(".swf"))
        }
        if (c.lastIndexOf(".js") >= 0) {
            c = c.substring(0, c.lastIndexOf(".js"))
        }
        return c
    };
    b.utils.getAbsolutePath = function (j, h) {
        if (h === undefined) {
            h = document.location.href
        }
        if (j === undefined) {
            return undefined
        }
        if (a(j)) {
            return j
        }
        var k = h.substring(0, h.indexOf("://") + 3);
        var g = h.substring(k.length, h.indexOf("/", k.length + 1));
        var d;
        if (j.indexOf("/") === 0) {
            d = j.split("/")
        } else {
            var e = h.split("?")[0];
            e = e.substring(k.length + g.length + 1, e.lastIndexOf("/"));
            d = e.split("/").concat(j.split("/"))
        }
        var c = [];
        for (var f = 0; f < d.length; f++) {
            if (!d[f] || d[f] === undefined || d[f] == ".") {
                continue
            } else {
                if (d[f] == "..") {
                    c.pop()
                } else {
                    c.push(d[f])
                }
            }
        }
        return k + g + "/" + c.join("/")
    };

    function a(d) {
        if (d === null) {
            return
        }
        var e = d.indexOf("://");
        var c = d.indexOf("?");
        return (e > 0 && (c < 0 || (c > e)))
    }
    b.utils.pluginPathType = {
        ABSOLUTE: "ABSOLUTE",
        RELATIVE: "RELATIVE",
        CDN: "CDN"
    };
    b.utils.getPluginPathType = function (d) {
        if (typeof d != "string") {
            return
        }
        d = d.split("?")[0];
        var e = d.indexOf("://");
        if (e > 0) {
            return b.utils.pluginPathType.ABSOLUTE
        }
        var c = d.indexOf("/");
        var f = b.utils.extension(d);
        if (e < 0 && c < 0 && (!f || !isNaN(f))) {
            return b.utils.pluginPathType.CDN
        }
        return b.utils.pluginPathType.RELATIVE
    };
    b.utils.mapEmpty = function (c) {
        for (var d in c) {
            return false
        }
        return true
    };
    b.utils.mapLength = function (d) {
        var c = 0;
        for (var e in d) {
            c++
        }
        return c
    };
    b.utils.log = function (d, c) {
        if (typeof console != "undefined" && typeof console.log != "undefined") {
            if (c) {
                console.log(d, c)
            } else {
                console.log(d)
            }
        }
    };
    b.utils.css = function (d, g, c) {
        if (d !== undefined) {
            for (var e in g) {
                try {
                    if (typeof g[e] === "undefined") {
                        continue
                    } else {
                        if (typeof g[e] == "number" && !(e == "zIndex" || e == "opacity")) {
                            if (isNaN(g[e])) {
                                continue
                            }
                            if (e.match(/color/i)) {
                                g[e] = "#" + b.utils.strings.pad(g[e].toString(16), 6)
                            } else {
                                g[e] = Math.ceil(g[e]) + "px"
                            }
                        }
                    }
                    d.style[e] = g[e]
                } catch (f) {}
            }
        }
    };
    b.utils.isYouTube = function (c) {
        return c.indexOf("youtube.com") > -1
    };
    b.utils.getYouTubeId = function (c) {
        c.indexOf("youtube.com" > 0)
    };
    b.utils.transform = function (c, d) {
        c.style.webkitTransform = d;
        c.style.MozTransform = d;
        c.style.OTransform = d
    };
    b.utils.stretch = function (h, m, l, f, k, g) {
        if (typeof l == "undefined" || typeof f == "undefined" || typeof k == "undefined" || typeof g == "undefined") {
            return
        }
        var d = l / k;
        var e = f / g;
        var j = 0;
        var i = 0;
        m.style.overflow = "hidden";
        b.utils.transform(m, "");
        var c = {};
        switch (h.toUpperCase()) {
        case b.utils.stretching.NONE:
            c.width = k;
            c.height = g;
            break;
        case b.utils.stretching.UNIFORM:
            if (d > e) {
                c.width = k * e;
                c.height = g * e
            } else {
                c.width = k * d;
                c.height = g * d
            }
            break;
        case b.utils.stretching.FILL:
            if (d > e) {
                c.width = k * d;
                c.height = g * d
            } else {
                c.width = k * e;
                c.height = g * e
            }
            break;
        case b.utils.stretching.EXACTFIT:
            b.utils.transform(m, ["scale(", d, ",", e, ")", " translate(0px,0px)"].join(""));
            c.width = k;
            c.height = g;
            break;
        default:
            break
        }
        c.top = (f - c.height) / 2;
        c.left = (l - c.width) / 2;
        b.utils.css(m, c)
    };
    b.utils.stretching = {
        NONE: "NONE",
        FILL: "FILL",
        UNIFORM: "UNIFORM",
        EXACTFIT: "EXACTFIT"
    }
})(jwplayer);
(function (a) {
    a.events = function () {};
    a.events.COMPLETE = "COMPLETE";
    a.events.ERROR = "ERROR"
})(jwplayer);
(function (jwplayer) {
    jwplayer.events.eventdispatcher = function (debug) {
        var _debug = debug;
        var _listeners;
        var _globallisteners;
        this.resetEventListeners = function () {
            _listeners = {};
            _globallisteners = []
        };
        this.resetEventListeners();
        this.addEventListener = function (type, listener, count) {
            try {
                if (_listeners[type] === undefined) {
                    _listeners[type] = []
                }
                if (typeof(listener) == "string") {
                    eval("listener = " + listener)
                }
                _listeners[type].push({
                    listener: listener,
                    count: count
                })
            } catch (err) {
                jwplayer.utils.log("error", err)
            }
            return false
        };
        this.removeEventListener = function (type, listener) {
            try {
                for (var listenerIndex = 0; listenerIndex < _listeners[type].length; listenerIndex++) {
                    if (_listeners[type][lisenterIndex].toString() == listener.toString()) {
                        _listeners[type].slice(lisenterIndex, lisenterIndex + 1);
                        break
                    }
                }
            } catch (err) {
                jwplayer.utils.log("error", err)
            }
            return false
        };
        this.addGlobalListener = function (listener, count) {
            try {
                if (typeof(listener) == "string") {
                    eval("listener = " + listener)
                }
                _globallisteners.push({
                    listener: listener,
                    count: count
                })
            } catch (err) {
                jwplayer.utils.log("error", err)
            }
            return false
        };
        this.removeGlobalListener = function (listener) {
            try {
                for (var globalListenerIndex = 0; globalListenerIndex < _globallisteners.length; globalListenerIndex++) {
                    if (_globallisteners[globalListenerIndex].toString() == listener.toString()) {
                        _globallisteners.slice(globalListenerIndex, globalListenerIndex + 1);
                        break
                    }
                }
            } catch (err) {
                jwplayer.utils.log("error", err)
            }
            return false
        };
        this.sendEvent = function (type, data) {
            if (data === undefined) {
                data = {}
            }
            if (_debug) {
                jwplayer.utils.log(type, data)
            }
            if (typeof _listeners[type] != "undefined") {
                for (var listenerIndex = 0; listenerIndex < _listeners[type].length; listenerIndex++) {
                    try {
                        _listeners[type][listenerIndex].listener(data)
                    } catch (err) {
                        jwplayer.utils.log("There was an error while handling a listener: " + err.toString(), _listeners[type][listenerIndex].listener)
                    }
                    if (_listeners[type][listenerIndex].count === 1) {
                        delete _listeners[type][listenerIndex]
                    } else {
                        if (_listeners[type][listenerIndex].count > 0) {
                            _listeners[type][listenerIndex].count = _listeners[type][listenerIndex].count - 1
                        }
                    }
                }
            }
            for (var globalListenerIndex = 0; globalListenerIndex < _globallisteners.length; globalListenerIndex++) {
                try {
                    _globallisteners[globalListenerIndex].listener(data)
                } catch (err) {
                    jwplayer.utils.log("There was an error while handling a listener: " + err.toString(), _globallisteners[globalListenerIndex].listener)
                }
                if (_globallisteners[globalListenerIndex].count === 1) {
                    delete _globallisteners[globalListenerIndex]
                } else {
                    if (_globallisteners[globalListenerIndex].count > 0) {
                        _globallisteners[globalListenerIndex].count = _globallisteners[globalListenerIndex].count - 1
                    }
                }
            }
        }
    }
})(jwplayer);
(function (a) {
    var b = {};
    a.utils.animations = function () {};
    a.utils.animations.transform = function (c, d) {
        c.style.webkitTransform = d;
        c.style.MozTransform = d;
        c.style.OTransform = d
    };
    a.utils.animations.transformOrigin = function (c, d) {
        c.style.webkitTransformOrigin = d;
        c.style.MozTransformOrigin = d;
        c.style.OTransformOrigin = d
    };
    a.utils.animations.rotate = function (c, d) {
        a.utils.animations.transform(c, ["rotate(", d, "deg)"].join(""))
    };
    a.utils.cancelAnimation = function (c) {
        delete b[c.id]
    };
    a.utils.fadeTo = function (l, f, e, i, h, d) {
        if (b[l.id] != d && d !== undefined) {
            return
        }
        var c = new Date().getTime();
        if (d > c) {
            setTimeout(function () {
                a.utils.fadeTo(l, f, e, i, 0, d)
            }, d - c)
        }
        l.style.display = "block";
        if (i === undefined) {
            i = l.style.opacity === "" ? 1 : l.style.opacity
        }
        if (l.style.opacity == f && l.style.opacity !== "" && d !== undefined) {
            if (f === 0) {
                l.style.display = "none"
            }
            return
        }
        if (d === undefined) {
            d = c;
            b[l.id] = d
        }
        if (h === undefined) {
            h = 0
        }
        var j = (c - d) / (e * 1000);
        j = j > 1 ? 1 : j;
        var k = f - i;
        var g = i + (j * k);
        if (g > 1) {
            g = 1
        } else {
            if (g < 0) {
                g = 0
            }
        }
        l.style.opacity = g;
        if (h > 0) {
            b[l.id] = d + h * 1000;
            a.utils.fadeTo(l, f, e, i, 0, b[l.id]);
            return
        }
        setTimeout(function () {
            a.utils.fadeTo(l, f, e, i, 0, d)
        }, 10)
    }
})(jwplayer);
(function (a) {
    a.utils.arrays = function () {};
    a.utils.arrays.indexOf = function (c, d) {
        for (var b = 0; b < c.length; b++) {
            if (c[b] == d) {
                return b
            }
        }
        return -1
    };
    a.utils.arrays.remove = function (c, d) {
        var b = a.utils.arrays.indexOf(c, d);
        if (b > -1) {
            c.splice(b, 1)
        }
    }
})(jwplayer);
(function (a) {
    a.utils.extensionmap = {
        "3gp": {
            html5: "video/3gpp",
            flash: "video"
        },
        "3gpp": {
            html5: "video/3gpp"
        },
        "3g2": {
            html5: "video/3gpp2",
            flash: "video"
        },
        "3gpp2": {
            html5: "video/3gpp2"
        },
        flv: {
            flash: "video"
        },
        f4a: {
            html5: "audio/mp4"
        },
        f4b: {
            html5: "audio/mp4",
            flash: "video"
        },
        f4p: {
            html5: "video/mp4",
            flash: "video"
        },
        f4v: {
            html5: "video/mp4",
            flash: "video"
        },
        mov: {
            html5: "video/quicktime",
            flash: "video"
        },
        m4a: {
            html5: "audio/mp4",
            flash: "video"
        },
        m4b: {
            html5: "audio/mp4"
        },
        m4p: {
            html5: "audio/mp4"
        },
        m4v: {
            html5: "video/mp4",
            flash: "video"
        },
        mkv: {
            html5: "video/x-matroska"
        },
        mp4: {
            html5: "video/mp4",
            flash: "video"
        },
        rbs: {
            flash: "sound"
        },
        sdp: {
            html5: "application/sdp",
            flash: "video"
        },
        vp6: {
            html5: "video/x-vp6"
        },
        aac: {
            html5: "audio/aac",
            flash: "video"
        },
        mp3: {
            flash: "sound"
        },
        ogg: {
            html5: "audio/ogg"
        },
        ogv: {
            html5: "video/ogg"
        },
        webm: {
            html5: "video/webm"
        },
        m3u8: {
            html5: "audio/x-mpegurl"
        },
        gif: {
            flash: "image"
        },
        jpeg: {
            flash: "image"
        },
        jpg: {
            flash: "image"
        },
        swf: {
            flash: "image"
        },
        png: {
            flash: "image"
        }
    }
})(jwplayer);
(function (e) {
    e.utils.mediaparser = function () {};
    var g = {
        element: {
            width: "width",
            height: "height",
            id: "id",
            "class": "className",
            name: "name"
        },
        media: {
            src: "file",
            preload: "preload",
            autoplay: "autostart",
            loop: "repeat",
            controls: "controls"
        },
        source: {
            src: "file",
            type: "type",
            media: "media",
            "data-jw-width": "width",
            "data-jw-bitrate": "bitrate"
        },
        video: {
            poster: "image"
        }
    };
    var f = {};
    e.utils.mediaparser.parseMedia = function (i) {
        return d(i)
    };

    function c(j, i) {
        if (i === undefined) {
            i = g[j]
        } else {
            e.utils.extend(i, g[j])
        }
        return i
    }
    function d(m, i) {
        if (f[m.tagName.toLowerCase()] && (i === undefined)) {
            return f[m.tagName.toLowerCase()](m)
        } else {
            i = c("element", i);
            var n = {};
            for (var j in i) {
                if (j != "length") {
                    var l = m.getAttribute(j);
                    if (!(l === "" || l === undefined || l === null)) {
                        n[i[j]] = m.getAttribute(j)
                    }
                }
            }
            var k = m.style["#background-color"];
            if (k && !(k == "transparent" || k == "rgba(0, 0, 0, 0)")) {
                n.screencolor = k
            }
            return n
        }
    }
    function h(n, k) {
        k = c("media", k);
        var l = [];
        var j = e.utils.selectors("source", n);
        for (var m in j) {
            if (!isNaN(m)) {
                l.push(a(j[m]))
            }
        }
        var o = d(n, k);
        if (o.file !== undefined) {
            l[0] = {
                file: o.file
            }
        }
        o.levels = l;
        return o
    }
    function a(k, j) {
        j = c("source", j);
        var i = d(k, j);
        i.width = i.width ? i.width : 0;
        i.bitrate = i.bitrate ? i.bitrate : 0;
        return i
    }
    function b(k, j) {
        j = c("video", j);
        var i = h(k, j);
        return i
    }
    f.media = h;
    f.audio = h;
    f.source = a;
    f.video = b
})(jwplayer);
(function (a) {
    a.utils.loaderstatus = {
        NEW: "NEW",
        LOADING: "LOADING",
        ERROR: "ERROR",
        COMPLETE: "COMPLETE"
    };
    a.utils.scriptloader = function (c) {
        var d = a.utils.loaderstatus.NEW;
        var b = new a.events.eventdispatcher();
        a.utils.extend(this, b);
        this.load = function () {
            if (d == a.utils.loaderstatus.NEW) {
                d = a.utils.loaderstatus.LOADING;
                var e = document.createElement("script");
                e.onload = function (f) {
                    d = a.utils.loaderstatus.COMPLETE;
                    b.sendEvent(a.events.COMPLETE)
                };
                e.onerror = function (f) {
                    d = a.utils.loaderstatus.ERROR;
                    b.sendEvent(a.events.ERROR)
                };
                e.onreadystatechange = function () {
                    if (e.readyState == "loaded" || e.readyState == "complete") {
                        d = a.utils.loaderstatus.COMPLETE;
                        b.sendEvent(a.events.COMPLETE)
                    }
                };
                document.getElementsByTagName("head")[0].appendChild(e);
                e.src = c
            }
        };
        this.getStatus = function () {
            return d
        }
    }
})(jwplayer);
(function (a) {
    a.utils.selectors = function (b, d) {
        if (d === undefined) {
            d = document
        }
        b = a.utils.strings.trim(b);
        var c = b.charAt(0);
        if (c == "#") {
            return d.getElementById(b.substr(1))
        } else {
            if (c == ".") {
                if (d.getElementsByClassName) {
                    return d.getElementsByClassName(b.substr(1))
                } else {
                    return a.utils.selectors.getElementsByTagAndClass("*", b.substr(1))
                }
            } else {
                if (b.indexOf(".") > 0) {
                    selectors = b.split(".");
                    return a.utils.selectors.getElementsByTagAndClass(selectors[0], selectors[1])
                } else {
                    return d.getElementsByTagName(b)
                }
            }
        }
        return null
    };
    a.utils.selectors.getElementsByTagAndClass = function (e, h, g) {
        elements = [];
        if (g === undefined) {
            g = document
        }
        var f = g.getElementsByTagName(e);
        for (var d = 0; d < f.length; d++) {
            if (f[d].className !== undefined) {
                var c = f[d].className.split(" ");
                for (var b = 0; b < c.length; b++) {
                    if (c[b] == h) {
                        elements.push(f[d])
                    }
                }
            }
        }
        return elements
    }
})(jwplayer);
(function (a) {
    a.utils.strings = function () {};
    a.utils.strings.trim = function (b) {
        return b.replace(/^\s*/, "").replace(/\s*$/, "")
    };
    a.utils.strings.pad = function (c, d, b) {
        if (!b) {
            b = "0"
        }
        while (c.length < d) {
            c = b + c
        }
        return c
    };
    a.utils.strings.serialize = function (b) {
        if (b == null) {
            return null
        } else {
            if (b == "true") {
                return true
            } else {
                if (b == "false") {
                    return false
                } else {
                    if (isNaN(Number(b)) || b.length > 5 || b.length == 0) {
                        return b
                    } else {
                        return Number(b)
                    }
                }
            }
        }
    };
    a.utils.strings.seconds = function (d) {
        d = d.replace(",", ".");
        var b = d.split(":");
        var c = 0;
        if (d.substr(-1) == "s") {
            c = Number(d.substr(0, d.length - 1))
        } else {
            if (d.substr(-1) == "m") {
                c = Number(d.substr(0, d.length - 1)) * 60
            } else {
                if (d.substr(-1) == "h") {
                    c = Number(d.substr(0, d.length - 1)) * 3600
                } else {
                    if (b.length > 1) {
                        c = Number(b[b.length - 1]);
                        c += Number(b[b.length - 2]) * 60;
                        if (b.length == 3) {
                            c += Number(b[b.length - 3]) * 3600
                        }
                    } else {
                        c = Number(d)
                    }
                }
            }
        }
        return c
    };
    a.utils.strings.xmlAttribute = function (b, c) {
        for (var d in b.attributes) {
            if (b.attributes[d].name && b.attributes[d].name.toLowerCase() == c.toLowerCase()) {
                return b.attributes[d].value.toString()
            }
        }
        return ""
    }
})(jwplayer);
(function (c) {
    var d = new RegExp(/^(#|0x)[0-9a-fA-F]{3,6}/);
    c.utils.typechecker = function (g, f) {
        f = f === null ? b(g) : f;
        return e(g, f)
    };

    function b(f) {
        var g = ["true", "false", "t", "f"];
        if (g.toString().indexOf(f.toLowerCase().replace(" ", "")) >= 0) {
            return "boolean"
        } else {
            if (d.test(f)) {
                return "color"
            } else {
                if (!isNaN(parseInt(f, 10)) && parseInt(f, 10).toString().length == f.length) {
                    return "integer"
                } else {
                    if (!isNaN(parseFloat(f)) && parseFloat(f).toString().length == f.length) {
                        return "float"
                    }
                }
            }
        }
        return "string"
    }
    function e(g, f) {
        if (f === null) {
            return g
        }
        switch (f) {
        case "color":
            if (g.length > 0) {
                return a(g)
            }
            return null;
        case "integer":
            return parseInt(g, 10);
        case "float":
            return parseFloat(g);
        case "boolean":
            if (g.toLowerCase() == "true") {
                return true
            } else {
                if (g == "1") {
                    return true
                }
            }
            return false
        }
        return g
    }
    function a(f) {
        switch (f.toLowerCase()) {
        case "blue":
            return parseInt("0000FF", 16);
        case "green":
            return parseInt("00FF00", 16);
        case "red":
            return parseInt("FF0000", 16);
        case "cyan":
            return parseInt("00FFFF", 16);
        case "magenta":
            return parseInt("FF00FF", 16);
        case "yellow":
            return parseInt("FFFF00", 16);
        case "black":
            return parseInt("000000", 16);
        case "white":
            return parseInt("FFFFFF", 16);
        default:
            f = f.replace(/(#|0x)?([0-9A-F]{3,6})$/gi, "$2");
            if (f.length == 3) {
                f = f.charAt(0) + f.charAt(0) + f.charAt(1) + f.charAt(1) + f.charAt(2) + f.charAt(2)
            }
            return parseInt(f, 16)
        }
        return parseInt("000000", 16)
    }
})(jwplayer);
(function (a) {
    var c = {};
    var b = {};
    a.plugins = function () {};
    a.plugins.loadPlugins = function (e, d) {
        b[e] = new a.plugins.pluginloader(new a.plugins.model(c), d);
        return b[e]
    };
    a.plugins.registerPlugin = function (g, e, d) {
        if (c[g]) {
            c[g].registerPlugin(g, e, d)
        } else {
            a.utils.log("A plugin (" + g + ") was registered with the player that was not loaded. Please check your configuration.");
            for (var f in b) {
                b[f].pluginFailed()
            }
        }
    }
})(jwplayer);
(function (a) {
    a.plugins.model = function (b) {
        this.addPlugin = function (c) {
            var d = a.utils.getPluginName(c);
            if (!b[d]) {
                b[d] = new a.plugins.plugin(c)
            }
            return b[d]
        }
    }
})(jwplayer);
(function (a) {
    a.plugins.pluginmodes = {
        FLASH: "FLASH",
        JAVASCRIPT: "JAVASCRIPT",
        HYBRID: "HYBRID"
    };
    a.plugins.plugin = function (b) {
        var d = "http://plugins.longtailvideo.com";
        var i = a.utils.loaderstatus.NEW;
        var j;
        var h;
        var k;
        var c = new a.events.eventdispatcher();
        a.utils.extend(this, c);

        function e() {
            switch (a.utils.getPluginPathType(b)) {
            case a.utils.pluginPathType.ABSOLUTE:
                return b;
            case a.utils.pluginPathType.RELATIVE:
                return a.utils.getAbsolutePath(b, window.location.href);
            case a.utils.pluginPathType.CDN:
                var l = a.utils.getPluginName(b);
                return d + "/" + a.version.split(".")[0] + "/" + l + "/" + l + ".js"
            }
        }
        function g(l) {
            k = setTimeout(function () {
                i = a.utils.loaderstatus.COMPLETE;
                c.sendEvent(a.events.COMPLETE)
            }, 1000)
        }
        function f(l) {
            i = a.utils.loaderstatus.ERROR;
            c.sendEvent(a.events.ERROR)
        }
        this.load = function () {
            if (i == a.utils.loaderstatus.NEW) {
                if (b.lastIndexOf(".swf") > 0) {
                    j = b;
                    i = a.utils.loaderstatus.COMPLETE;
                    c.sendEvent(a.events.COMPLETE);
                    return
                }
                i = a.utils.loaderstatus.LOADING;
                var l = new a.utils.scriptloader(e());
                l.addEventListener(a.events.COMPLETE, g);
                l.addEventListener(a.events.ERROR, f);
                l.load()
            }
        };
        this.registerPlugin = function (n, m, l) {
            if (k) {
                clearTimeout(k);
                k = undefined
            }
            if (m && l) {
                j = l;
                h = m
            } else {
                if (typeof m == "string") {
                    j = m
                } else {
                    if (typeof m == "function") {
                        h = m
                    } else {
                        if (!m && !l) {
                            j = n
                        }
                    }
                }
            }
            i = a.utils.loaderstatus.COMPLETE;
            c.sendEvent(a.events.COMPLETE)
        };
        this.getStatus = function () {
            return i
        };
        this.getPluginName = function () {
            return a.utils.getPluginName(b)
        };
        this.getFlashPath = function () {
            if (j) {
                switch (a.utils.getPluginPathType(j)) {
                case a.utils.pluginPathType.ABSOLUTE:
                    return j;
                case a.utils.pluginPathType.RELATIVE:
                    if (b.lastIndexOf(".swf") > 0) {
                        return a.utils.getAbsolutePath(j, window.location.href)
                    }
                    return a.utils.getAbsolutePath(j, e());
                case a.utils.pluginPathType.CDN:
                    if (j.indexOf("-") > -1) {
                        return j + "h"
                    }
                    return j + "-h"
                }
            }
            return null
        };
        this.getJS = function () {
            return h
        };
        this.getPluginmode = function () {
            if (typeof j != "undefined" && typeof h != "undefined") {
                return a.plugins.pluginmodes.HYBRID
            } else {
                if (typeof j != "undefined") {
                    return a.plugins.pluginmodes.FLASH
                } else {
                    if (typeof h != "undefined") {
                        return a.plugins.pluginmodes.JAVASCRIPT
                    }
                }
            }
        };
        this.getNewInstance = function (m, l, n) {
            return new h(m, l, n)
        };
        this.getURL = function () {
            return b
        }
    }
})(jwplayer);
(function (a) {
    a.plugins.pluginloader = function (h, e) {
        var g = {};
        var j = a.utils.loaderstatus.NEW;
        var d = false;
        var b = false;
        var c = new a.events.eventdispatcher();
        a.utils.extend(this, c);

        function f() {
            if (!b) {
                b = true;
                j = a.utils.loaderstatus.COMPLETE;
                c.sendEvent(a.events.COMPLETE)
            }
        }
        function i() {
            if (!b) {
                var k = 0;
                for (plugin in g) {
                    if (g[plugin].getStatus() == a.utils.loaderstatus.LOADING) {
                        k++
                    }
                }
                if (k == 0) {
                    f()
                }
            }
        }
        this.setupPlugins = function (m, k, r) {
            var l = {
                length: 0,
                plugins: {}
            };
            var o = {
                length: 0,
                plugins: {}
            };
            for (var n in g) {
                var p = g[n].getPluginName();
                if (g[n].getFlashPath()) {
                    l.plugins[g[n].getFlashPath()] = k.plugins[n];
                    l.plugins[g[n].getFlashPath()].pluginmode = g[n].getPluginmode();
                    l.length++
                }
                if (g[n].getJS()) {
                    var q = document.createElement("div");
                    q.id = m.id + "_" + p;
                    q.style.position = "absolute";
                    q.style.zIndex = o.length + 10;
                    o.plugins[p] = g[n].getNewInstance(m, k.plugins[n], q);
                    o.length++;
                    if (typeof o.plugins[p].resize != "undefined") {
                        m.onReady(r(o.plugins[p], q, true));
                        m.onResize(r(o.plugins[p], q))
                    }
                }
            }
            m.plugins = o.plugins;
            return l
        };
        this.load = function () {
            j = a.utils.loaderstatus.LOADING;
            d = true;
            for (var k in e) {
                g[k] = h.addPlugin(k);
                g[k].addEventListener(a.events.COMPLETE, i);
                g[k].addEventListener(a.events.ERROR, i);
                g[k].load()
            }
            d = false;
            i()
        };
        this.pluginFailed = function () {
            f()
        };
        this.getStatus = function () {
            return j
        }
    }
})(jwplayer);
(function (b) {
    var a = [];
    b.api = function (d) {
        this.container = d;
        this.id = d.id;
        var l = {};
        var q = {};
        var c = [];
        var h = undefined;
        var k = false;
        var i = [];
        var o = b.utils.getOuterHTML(d);
        var p = {};
        var m = 0;
        var j = {};
        this.getBuffer = function () {
            return this.callInternal("jwGetBuffer")
        };
        this.getContainer = function () {
            return this.container
        };

        function e(r) {
            return function (w, s, t, u) {
                var v;
                if (s) {
                    j[w] = s;
                    v = "jwplayer('" + r + "').callback('" + w + "')"
                } else {
                    if (!s && j[w]) {
                        delete j[w]
                    }
                }
                h.jwDockSetButton(w, v, t, u)
            }
        }
        this.getPlugin = function (s) {
            var r = this.callInternal;
            if (s == "dock") {
                return {
                    setButton: e(this.id)
                }
            }
            return this.plugins[s]
        };
        this.callback = function (r) {
            if (j[r]) {
                return j[r]()
            }
        };
        this.getDuration = function () {
            return this.callInternal("jwGetDuration")
        };
        this.getFullscreen = function () {
            return this.callInternal("jwGetFullscreen")
        };
        this.getHeight = function () {
            return this.callInternal("jwGetHeight")
        };
        this.getLockState = function () {
            return this.callInternal("jwGetLockState")
        };
        this.getMeta = function () {
            return this.getItemMeta()
        };
        this.getMute = function () {
            return this.callInternal("jwGetMute")
        };
        this.getPlaylist = function () {
            var s = this.callInternal("jwGetPlaylist");
            for (var r = 0; r < s.length; r++) {
                if (s[r].index === undefined) {
                    s[r].index = r
                }
            }
            return s
        };
        this.getPlaylistItem = function (r) {
            if (r === undefined) {
                r = this.getCurrentItem()
            }
            return this.getPlaylist()[r]
        };
        this.getPosition = function () {
            return this.callInternal("jwGetPosition")
        };
        this.getRenderingMode = function () {
            return this.renderingMode
        };
        this.getState = function () {
            return this.callInternal("jwGetState")
        };
        this.getVolume = function () {
            return this.callInternal("jwGetVolume")
        };
        this.getWidth = function () {
            return this.callInternal("jwGetWidth")
        };
        this.setFullscreen = function (r) {
            if (r === undefined) {
                this.callInternal("jwSetFullscreen", !this.callInternal("jwGetFullscreen"))
            } else {
                this.callInternal("jwSetFullscreen", r)
            }
            return this
        };
        this.setMute = function (r) {
            if (r === undefined) {
                this.callInternal("jwSetMute", !this.callInternal("jwGetMute"))
            } else {
                this.callInternal("jwSetMute", r)
            }
            return this
        };
        this.lock = function () {
            return this
        };
        this.unlock = function () {
            return this
        };
        this.load = function (r) {
            this.callInternal("jwLoad", r);
            return this
        };
        this.playlistItem = function (r) {
            this.callInternal("jwPlaylistItem", r);
            return this
        };
        this.playlistPrev = function () {
            this.callInternal("jwPlaylistPrev");
            return this
        };
        this.playlistNext = function () {
            this.callInternal("jwPlaylistNext");
            return this
        };
        this.resize = function (s, r) {
            if (this.renderingMode == "html5") {
                h.jwResize(s, r)
            } else {
                this.container.width = s;
                this.container.height = r
            }
            return this
        };
        this.play = function (r) {
            if (typeof r == "undefined") {
                r = this.getState();
                if (r == b.api.events.state.PLAYING || r == b.api.events.state.BUFFERING) {
                    this.callInternal("jwPause")
                } else {
                    this.callInternal("jwPlay")
                }
            } else {
                this.callInternal("jwPlay", r)
            }
            return this
        };
        this.pause = function (r) {
            if (typeof r == "undefined") {
                r = this.getState();
                if (r == b.api.events.state.PLAYING || r == b.api.events.state.BUFFERING) {
                    this.callInternal("jwPause")
                } else {
                    this.callInternal("jwPlay")
                }
            } else {
                this.callInternal("jwPause", r)
            }
            return this
        };
        this.stop = function () {
            this.callInternal("jwStop");
            return this
        };
        this.seek = function (r) {
            this.callInternal("jwSeek", r);
            return this
        };
        this.setVolume = function (r) {
            this.callInternal("jwSetVolume", r);
            return this
        };
        this.onBufferChange = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER, r)
        };
        this.onBufferFull = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL, r)
        };
        this.onError = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_ERROR, r)
        };
        this.onFullscreen = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_FULLSCREEN, r)
        };
        this.onMeta = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_MEDIA_META, r)
        };
        this.onMute = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_MEDIA_MUTE, r)
        };
        this.onPlaylist = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_LOADED, r)
        };
        this.onPlaylistItem = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, r)
        };
        this.onReady = function (r) {
            return this.eventListener(b.api.events.API_READY, r)
        };
        this.onResize = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_RESIZE, r)
        };
        this.onComplete = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE, r)
        };
        this.onTime = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_MEDIA_TIME, r)
        };
        this.onVolume = function (r) {
            return this.eventListener(b.api.events.JWPLAYER_MEDIA_VOLUME, r)
        };
        this.onBuffer = function (r) {
            return this.stateListener(b.api.events.state.BUFFERING, r)
        };
        this.onPause = function (r) {
            return this.stateListener(b.api.events.state.PAUSED, r)
        };
        this.onPlay = function (r) {
            return this.stateListener(b.api.events.state.PLAYING, r)
        };
        this.onIdle = function (r) {
            return this.stateListener(b.api.events.state.IDLE, r)
        };
        this.remove = function () {
            l = {};
            i = [];
            if (b.utils.getOuterHTML(this.container) != o) {
                b.api.destroyPlayer(this.id, o)
            }
        };
        this.setup = function (s) {
            if (b.embed) {
                var r = this.id;
                this.remove();
                var t = b(r);
                t.config = s;
                return new b.embed(t)
            }
            return this
        };
        this.registerPlugin = function (t, s, r) {
            b.plugins.registerPlugin(t, s, r)
        };
        this.setPlayer = function (r, s) {
            h = r;
            this.renderingMode = s
        };
        this.stateListener = function (r, s) {
            if (!q[r]) {
                q[r] = [];
                this.eventListener(b.api.events.JWPLAYER_PLAYER_STATE, g(r))
            }
            q[r].push(s);
            return this
        };

        function g(r) {
            return function (t) {
                var s = t.newstate,
                    v = t.oldstate;
                if (s == r) {
                    var u = q[s];
                    if (u) {
                        for (var w = 0; w < u.length; w++) {
                            if (typeof u[w] == "function") {
                                u[w].call(this, {
                                    oldstate: v,
                                    newstate: s
                                })
                            }
                        }
                    }
                }
            }
        }
        this.addInternalListener = function (r, s) {
            r.jwAddEventListener(s, 'function(dat) { jwplayer("' + this.id + '").dispatchEvent("' + s + '", dat); }')
        };
        this.eventListener = function (r, s) {
            if (!l[r]) {
                l[r] = [];
                if (h && k) {
                    this.addInternalListener(h, r)
                }
            }
            l[r].push(s);
            return this
        };
        this.dispatchEvent = function (t) {
            if (l[t]) {
                var s = f(t, arguments[1]);
                for (var r = 0; r < l[t].length; r++) {
                    if (typeof l[t][r] == "function") {
                        l[t][r].call(this, s)
                    }
                }
            }
        };

        function f(t, r) {
            var v = b.utils.extend({}, r);
            if (t == b.api.events.JWPLAYER_FULLSCREEN && !v.fullscreen) {
                v.fullscreen = v.message == "true" ? true : false;
                delete v.message
            } else {
                if (typeof v.data == "object") {
                    v = b.utils.extend(v, v.data);
                    delete v.data
                }
            }
            var s = ["position", "duration", "offset"];
            for (var u in s) {
                if (v[s[u]]) {
                    v[s[u]] = Math.round(v[s[u]] * 1000) / 1000
                }
            }
            return v
        }
        this.callInternal = function (s, r) {
            if (k) {
                if (typeof h != "undefined" && typeof h[s] == "function") {
                    if (r !== undefined) {
                        return (h[s])(r)
                    } else {
                        return (h[s])()
                    }
                }
                return null
            } else {
                i.push({
                    method: s,
                    parameters: r
                })
            }
        };
        this.playerReady = function (t) {
            k = true;
            if (!h) {
                this.setPlayer(document.getElementById(t.id))
            }
            this.container = document.getElementById(this.id);
            for (var r in l) {
                this.addInternalListener(h, r)
            }
            this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, function (u) {
                if (u.index !== undefined) {
                    m = u.index
                }
                p = {}
            });
            this.eventListener(b.api.events.JWPLAYER_MEDIA_META, function (u) {
                b.utils.extend(p, u.metadata)
            });
            this.dispatchEvent(b.api.events.API_READY);
            while (i.length > 0) {
                var s = i.shift();
                this.callInternal(s.method, s.parameters)
            }
        };
        this.getItemMeta = function () {
            return p
        };
        this.getCurrentItem = function () {
            return m
        };

        function n(t, v, u) {
            var r = [];
            if (!v) {
                v = 0
            }
            if (!u) {
                u = t.length - 1
            }
            for (var s = v; s <= u; s++) {
                r.push(t[s])
            }
            return r
        }
        return this
    };
    b.api.selectPlayer = function (d) {
        var c;
        if (d === undefined) {
            d = 0
        }
        if (d.nodeType) {
            c = d
        } else {
            if (typeof d == "string") {
                c = document.getElementById(d)
            }
        }
        if (c) {
            var e = b.api.playerById(c.id);
            if (e) {
                return e
            } else {
                return b.api.addPlayer(new b.api(c))
            }
        } else {
            if (typeof d == "number") {
                return b.getPlayers()[d]
            }
        }
        return null
    };
    b.api.events = {
        API_READY: "jwplayerAPIReady",
        JWPLAYER_READY: "jwplayerReady",
        JWPLAYER_FULLSCREEN: "jwplayerFullscreen",
        JWPLAYER_RESIZE: "jwplayerResize",
        JWPLAYER_ERROR: "jwplayerError",
        JWPLAYER_MEDIA_BUFFER: "jwplayerMediaBuffer",
        JWPLAYER_MEDIA_BUFFER_FULL: "jwplayerMediaBufferFull",
        JWPLAYER_MEDIA_ERROR: "jwplayerMediaError",
        JWPLAYER_MEDIA_LOADED: "jwplayerMediaLoaded",
        JWPLAYER_MEDIA_COMPLETE: "jwplayerMediaComplete",
        JWPLAYER_MEDIA_TIME: "jwplayerMediaTime",
        JWPLAYER_MEDIA_VOLUME: "jwplayerMediaVolume",
        JWPLAYER_MEDIA_META: "jwplayerMediaMeta",
        JWPLAYER_MEDIA_MUTE: "jwplayerMediaMute",
        JWPLAYER_PLAYER_STATE: "jwplayerPlayerState",
        JWPLAYER_PLAYLIST_LOADED: "jwplayerPlaylistLoaded",
        JWPLAYER_PLAYLIST_ITEM: "jwplayerPlaylistItem"
    };
    b.api.events.state = {
        BUFFERING: "BUFFERING",
        IDLE: "IDLE",
        PAUSED: "PAUSED",
        PLAYING: "PLAYING"
    };
    b.api.playerById = function (d) {
        for (var c = 0; c < a.length; c++) {
            if (a[c].id == d) {
                return a[c]
            }
        }
        return null
    };
    b.api.addPlayer = function (c) {
        for (var d = 0; d < a.length; d++) {
            if (a[d] == c) {
                return c
            }
        }
        a.push(c);
        return c
    };
    b.api.destroyPlayer = function (g, d) {
        var f = -1;
        for (var i = 0; i < a.length; i++) {
            if (a[i].id == g) {
                f = i;
                continue
            }
        }
        if (f >= 0) {
            var c = document.getElementById(a[f].id);
            if (document.getElementById(a[f].id + "_wrapper")) {
                c = document.getElementById(a[f].id + "_wrapper")
            }
            if (c) {
                if (d) {
                    b.utils.setOuterHTML(c, d)
                } else {
                    var h = document.createElement("div");
                    var e = c.id;
                    if (c.id.indexOf("_wrapper") == c.id.length - 8) {
                        newID = c.id.substring(0, c.id.length - 8)
                    }
                    h.setAttribute("id", e);
                    c.parentNode.replaceChild(h, c)
                }
            }
            a.splice(f, 1)
        }
        return null
    };
    b.getPlayers = function () {
        return a.slice(0)
    }
})(jwplayer);
var _userPlayerReady = (typeof playerReady == "function") ? playerReady : undefined;
playerReady = function (b) {
    var a = jwplayer.api.playerById(b.id);
    if (a) {
        a.playerReady(b)
    }
    if (_userPlayerReady) {
        _userPlayerReady.call(this, b)
    }
};
(function (a) {
    a.embed = function (g) {
        var i = {
            width: 400,
            height: 300,
            components: {
                controlbar: {
                    position: "over"
                }
            }
        };
        var f = a.utils.mediaparser.parseMedia(g.container);
        var e = new a.embed.config(a.utils.extend(i, f, g.config), this);
        var h = a.plugins.loadPlugins(g.id, e.plugins);

        function c(l, k) {
            for (var j in k) {
                if (typeof l[j] == "function") {
                    (l[j]).call(l, k[j])
                }
            }
        }
        function d() {
            if (h.getStatus() == a.utils.loaderstatus.COMPLETE) {
                for (var l = 0; l < e.modes.length; l++) {
                    if (e.modes[l].type && a.embed[e.modes[l].type]) {
                        var j = e;
                        if (e.modes[l].config) {
                            j = a.utils.extend(a.utils.clone(e), e.modes[l].config)
                        }
                        var k = new a.embed[e.modes[l].type](document.getElementById(g.id), e.modes[l], j, h, g);
                        if (k.supportsConfig()) {
                            k.embed();
                            c(g, e.events);
                            return g
                        }
                    }
                }
                a.utils.log("No suitable players found");
                new a.embed.logo(a.utils.extend({
                    hide: true
                }, e.components.logo), "none", g.id)
            }
        }
        h.addEventListener(a.events.COMPLETE, d);
        h.addEventListener(a.events.ERROR, d);
        h.load();
        return g
    };

    function b() {
        if (!document.body) {
            return setTimeout(b, 15)
        }
        var c = a.utils.selectors.getElementsByTagAndClass("video", "jwplayer");
        for (var d = 0; d < c.length; d++) {
            var e = c[d];
            a(e.id).setup({})
        }
    }
    b()
})(jwplayer);
(function (a) {
    function b() {
        return [{
            type: "flash",
            src: "/jwplayer/player.swf"
        }, {
            type: "html5"
        }, {
            type: "download"
        }]
    }
    function d(h) {
        var g = h.toLowerCase();
        var f = ["left", "right", "top", "bottom"];
        for (var e = 0; e < f.length; e++) {
            if (g == f[e]) {
                return true
            }
        }
        return false
    }
    function c(f) {
        var e = false;
        e = (f instanceof Array) || (typeof f == "object" && !f.position && !f.size);
        return e
    }
    a.embed.config = function (f, p) {
        var o = a.utils.extend({}, f);
        var m;
        if (c(o.playlist)) {
            m = o.playlist;
            delete o.playlist
        }
        for (var i in o) {
            if (i.indexOf(".") > -1) {
                var q = i.split(".");
                var r = o;
                for (var e = 0; e < q.length; e++) {
                    if (e == q.length - 1) {
                        if (a.utils.typeOf(r) == "object") {
                            r[q[e]] = o[i];
                            delete o[i]
                        }
                    } else {
                        if (r[q[e]] === undefined) {
                            r[q[e]] = {}
                        }
                        r = r[q[e]]
                    }
                }
            }
        }
        if (typeof o.plugins == "string") {
            var g = o.plugins.split(",");
            if (typeof o.plugins != "object") {
                o.plugins = {}
            }
            for (var k = 0; k < g.length; k++) {
                var l = a.utils.getPluginName(g[k]);
                if (typeof o[l] == "object") {
                    o.plugins[g[k]] = o[l];
                    delete o[l]
                } else {
                    o.plugins[g[k]] = {}
                }
            }
        }
        var j = ["playlist", "dock", "controlbar"];
        for (var n = 0; n < j.length; n++) {
            if (typeof o[j[n]] == "string") {
                if (!o.components[j[n]]) {
                    o.components[j[n]] = {}
                }
                o.components[j[n]].position = o[j[n]];
                delete o[j[n]]
            } else {
                if (o[j[n]]) {
                    o.components[j[n]] = o[j[n]];
                    delete o[j[n]]
                }
            }
            if (typeof o[j[n] + "size"] != "undefined") {
                if (!o.components[j[n]]) {
                    o.components[j[n]] = {}
                }
                o.components[j[n]].size = o[j[n] + "size"];
                delete o[j[n] + "size"]
            }
        }
        if (typeof o.icons != "undefined") {
            if (!o.components.display) {
                o.components.display = {}
            }
            o.components.display.icons = o.icons;
            delete o.icons
        }
        if (o.players) {
            o.modes = o.players;
            delete o.players
        }
        var h;
        if (o.flashplayer && !o.modes) {
            h = b();
            h[0].src = o.flashplayer;
            delete o.flashplayer
        } else {
            if (o.modes) {
                if (typeof o.modes == "string") {
                    h = b();
                    h[0].src = o.modes
                } else {
                    if (o.modes instanceof Array) {
                        h = o.modes
                    } else {
                        if (typeof o.modes == "object" && o.modes.type) {
                            h = [o.modes]
                        }
                    }
                }
                delete o.modes
            } else {
                h = b()
            }
        }
        o.modes = h;
        if (m) {
            o.playlist = m
        }
        return o
    }
})(jwplayer);
(function (a) {
    a.embed.download = function (c, g, b, d, f) {
        this.embed = function () {
            var j = a.utils.extend({}, b);
            var p = {};
            var i = b.width ? b.width : 480;
            if (typeof i != "number") {
                i = parseInt(i, 10)
            }
            var l = b.height ? b.height : 320;
            if (typeof l != "number") {
                l = parseInt(l, 10)
            }
            var t, n, m;
            var r = {};
            if (b.playlist && b.playlist.length) {
                r.file = b.playlist[0].file;
                n = b.playlist[0].image;
                r.levels = b.playlist[0].levels
            } else {
                r.file = b.file;
                n = b.image;
                r.levels = b.levels
            }
            if (r.file) {
                t = r.file
            } else {
                if (r.levels && r.levels.length) {
                    t = r.levels[0].file
                }
            }
            m = t ? "pointer" : "auto";
            var k = {
                display: {
                    style: {
                        cursor: m,
                        width: i,
                        height: l,
                        backgroundColor: "#000",
                        position: "relative",
                        textDecoration: "none",
                        border: "none",
                        display: "block"
                    }
                },
                display_icon: {
                    style: {
                        cursor: m,
                        position: "absolute",
                        display: t ? "block" : "none",
                        top: 0,
                        left: 0,
                        border: 0,
                        margin: 0,
                        padding: 0,
                        zIndex: 3,
                        width: 50,
                        height: 50,
                        backgroundImage: "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg==)"
                    }
                },
                display_iconBackground: {
                    style: {
                        cursor: m,
                        position: "absolute",
                        display: t ? "block" : "none",
                        top: ((l - 50) / 2),
                        left: ((i - 50) / 2),
                        border: 0,
                        width: 50,
                        height: 50,
                        margin: 0,
                        padding: 0,
                        zIndex: 2,
                        backgroundImage: "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC)"
                    }
                },
                display_image: {
                    style: {
                        width: i,
                        height: l,
                        display: n ? "block" : "none",
                        position: "absolute",
                        cursor: m,
                        left: 0,
                        top: 0,
                        margin: 0,
                        padding: 0,
                        textDecoration: "none",
                        zIndex: 1,
                        border: "none"
                    }
                }
            };
            var h = function (u, w, x) {
                var v = document.createElement(u);
                if (x) {
                    v.id = x
                } else {
                    v.id = c.id + "_jwplayer_" + w
                }
                a.utils.css(v, k[w].style);
                return v
            };
            p.display = h("a", "display", c.id);
            if (t) {
                p.display.setAttribute("href", a.utils.getAbsolutePath(t))
            }
            p.display_image = h("img", "display_image");
            p.display_image.setAttribute("alt", "Click to download...");
            if (n) {
                p.display_image.setAttribute("src", a.utils.getAbsolutePath(n))
            }
            if (true) {
                p.display_icon = h("div", "display_icon");
                p.display_iconBackground = h("div", "display_iconBackground");
                p.display.appendChild(p.display_image);
                p.display_iconBackground.appendChild(p.display_icon);
                p.display.appendChild(p.display_iconBackground)
            }
            _css = a.utils.css;
            _hide = function (u) {
                _css(u, {
                    display: "none"
                })
            };

            function q(u) {
                _imageWidth = p.display_image.naturalWidth;
                _imageHeight = p.display_image.naturalHeight;
                s()
            }
            function s() {
                a.utils.stretch(a.utils.stretching.UNIFORM, p.display_image, i, l, _imageWidth, _imageHeight)
            }
            p.display_image.onerror = function (u) {
                _hide(p.display_image)
            };
            p.display_image.onload = q;
            c.parentNode.replaceChild(p.display, c);
            var o = (b.plugins && b.plugins.logo) ? b.plugins.logo : {};
            p.display.appendChild(new a.embed.logo(b.components.logo, "download", c.id));
            f.container = document.getElementById(f.id);
            f.setPlayer(p.display, "download")
        };
        this.supportsConfig = function () {
            if (b) {
                var j = a.utils.getFirstPlaylistItemFromConfig(b);
                if (typeof j.file == "undefined" && typeof j.levels == "undefined") {
                    return true
                } else {
                    if (j.file) {
                        return e(j.file, j.provider, j.playlistfile)
                    } else {
                        if (j.levels && j.levels.length) {
                            for (var h = 0; h < j.levels.length; h++) {
                                if (j.levels[h].file && e(j.levels[h].file, j.provider, j.playlistfile)) {
                                    return true
                                }
                            }
                        }
                    }
                }
            } else {
                return true
            }
        };

        function e(i, k, h) {
            if (h) {
                return false
            }
            var j = ["image", "sound", "youtube", "http"];
            if (k && (j.toString().indexOf(k) > -1)) {
                return true
            }
            if (!k || (k && k == "video")) {
                var l = a.utils.extension(i);
                if (l && a.utils.extensionmap[l]) {
                    return true
                }
            }
            return false
        }
    }
})(jwplayer);
(function (a) {
    a.embed.flash = function (g, h, l, f, j) {
        function m(o, n, p) {
            var q = document.createElement("param");
            q.setAttribute("name", n);
            q.setAttribute("value", p);
            o.appendChild(q)
        }
        function k(o, p, n) {
            return function (q) {
                if (n) {
                    document.getElementById(j.id + "_wrapper").appendChild(p)
                }
                var s = document.getElementById(j.id).getPluginConfig("display");
                o.resize(s.width, s.height);
                var r = {
                    left: s.x,
                    top: s.y
                };
                a.utils.css(p, r)
            }
        }
        function e(p) {
            if (!p) {
                return {}
            }
            var r = {};
            for (var o in p) {
                var n = p[o];
                for (var q in n) {
                    r[o + "." + q] = n[q]
                }
            }
            return r
        }
        function i(q, p) {
            if (q[p]) {
                var s = q[p];
                for (var o in s) {
                    var n = s[o];
                    if (typeof n == "string") {
                        if (!q[o]) {
                            q[o] = n
                        }
                    } else {
                        for (var r in n) {
                            if (!q[o + "." + r]) {
                                q[o + "." + r] = n[r]
                            }
                        }
                    }
                }
                delete q[p]
            }
        }
        function c(q) {
            if (!q) {
                return {}
            }
            var t = {},
                s = [];
            for (var n in q) {
                var p = a.utils.getPluginName(n);
                var o = q[n];
                s.push(n);
                for (var r in o) {
                    t[p + "." + r] = o[r]
                }
            }
            t.plugins = s.join(",");
            return t
        }
        function d(p) {
            var n = p.netstreambasepath ? "" : "netstreambasepath=" + encodeURIComponent(window.location.href) + "&";
            for (var o in p) {
                n += o + "=" + encodeURIComponent(p[o]) + "&"
            }
            return n.substring(0, n.length - 1)
        }
        function b(n) {
            return function (p) {
                if (n.playlist) {
                    this.load(n.playlist)
                } else {
                    if (n.levels) {
                        var o = this.getPlaylistItem(0);
                        if (!o) {
                            o = n
                        }
                        if (!o.image) {
                            o.image = n.image
                        }
                        if (!o.levels) {
                            o.levels = n.levels
                        }
                        this.load(o)
                    }
                }
            }
        }
        this.embed = function () {
            if (l.levels || l.playlist) {
                j.onReady(b(l))
            }
            l.id = j.id;
            var y;
            if (g.id + "_wrapper" == g.parentNode.id) {
                y = document.getElementById(g.id + "_wrapper")
            } else {
                y = document.createElement("div");
                y.id = g.id + "_wrapper";
                a.utils.wrap(g, y);
                y.style.position = "relative"
            }
            var q = a.utils.extend({}, l);
            var o = f.setupPlugins(j, q, k);
            if (o.length > 0) {
                a.utils.extend(q, c(o.plugins))
            } else {
                delete q.plugins
            }
            var n = q.width;
            var w = q.height;
            var r = ["height", "width", "levels", "playlist", "modes", "events"];
            for (var u = 0; u < r.length; u++) {
                delete q[r[u]]
            }
            var p = "opaque";
            if (q.wmode) {
                p = q.wmode
            }
            i(q, "components");
            i(q, "providers");
            var x = "#000000";
            var t;
            if (a.utils.isIE()) {
                var v = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" bgcolor="' + x + '" width="' + n + '" height="' + w + '" id="' + g.id + '" name="' + g.id + '">';
                v += '<param name="movie" value="' + h.src + '">';
                v += '<param name="allowfullscreen" value="true">';
                v += '<param name="allowscriptaccess" value="always">';
                v += '<param name="seamlesstabbing" value="true">';
                v += '<param name="wmode" value="' + p + '">';
                v += '<param name="flashvars" value="' + d(q) + '">';
                v += "</object>";
                a.utils.setOuterHTML(g, v);
                t = document.getElementById(g.id)
            } else {
                var s = document.createElement("object");
                s.setAttribute("type", "application/x-shockwave-flash");
                s.setAttribute("data", h.src);
                s.setAttribute("width", n);
                s.setAttribute("height", w);
                s.setAttribute("bgcolor", "#000000");
                s.setAttribute("id", g.id);
                s.setAttribute("name", g.id);
                m(s, "allowfullscreen", "true");
                m(s, "allowscriptaccess", "always");
                m(s, "seamlesstabbing", "true");
                m(s, "wmode", p);
                m(s, "flashvars", d(q));
                g.parentNode.replaceChild(s, g);
                t = s
            }
            j.container = t;
            j.setPlayer(t, "flash")
        };
        this.supportsConfig = function () {
            if (a.utils.hasFlash()) {
                if (l) {
                    var o = a.utils.getFirstPlaylistItemFromConfig(l);
                    if (typeof o.file == "undefined" && typeof o.levels == "undefined") {
                        return true
                    } else {
                        if (o.file) {
                            return flashCanPlay(o.file, o.provider)
                        } else {
                            if (o.levels && o.levels.length) {
                                for (var n = 0; n < o.levels.length; n++) {
                                    if (o.levels[n].file && flashCanPlay(o.levels[n].file, o.provider)) {
                                        return true
                                    }
                                }
                            }
                        }
                    }
                } else {
                    return true
                }
            }
            return false
        };
        flashCanPlay = function (n, p) {
            var o = ["video", "http", "sound", "image"];
            if (p && (o.toString().indexOf(p < 0))) {
                return true
            }
            var q = a.utils.extension(n);
            if (!q) {
                return true
            }
            if (a.utils.extensionmap[q] !== undefined && a.utils.extensionmap[q].flash === undefined) {
                return false
            }
            return true
        }
    }
})(jwplayer);
(function (a) {
    a.embed.html5 = function (c, g, b, d, f) {
        function e(i, j, h) {
            return function (k) {
                var l = document.getElementById(c.id + "_displayarea");
                if (h) {
                    l.appendChild(j)
                }
                var m = l.style;
                i.resize(parseInt(m.width.replace("px", "")), parseInt(m.height.replace("px", "")));
                j.left = m.left;
                j.top = m.top
            }
        }
        this.embed = function () {
            if (a.html5) {
                d.setupPlugins(f, b, e);
                c.innerHTML = "";
                var j = a.utils.extend({
                    screencolor: "0x000000"
                }, b);
                var h = ["plugins", "modes", "events"];
                for (var k = 0; k < h.length; k++) {
                    delete j[h[k]]
                }
                if (j.levels && !j.sources) {
                    j.sources = b.levels
                }
                if (j.skin && j.skin.toLowerCase().indexOf(".zip") > 0) {
                    j.skin = j.skin.replace(/\.zip/i, ".xml")
                }
                var l = new(a.html5(c)).setup(j);
                f.container = document.getElementById(f.id);
                f.setPlayer(l, "html5")
            } else {
                return null
            }
        };
        this.supportsConfig = function () {
            var h = document.createElement("video");
            if ( !! h.canPlayType) {
                if (b) {
                    var k = a.utils.getFirstPlaylistItemFromConfig(b);
                    if (typeof k.file == "undefined" && typeof k.levels == "undefined") {
                        return true
                    } else {
                        if (k.file) {
                            return html5CanPlay(h, k.file, k.provider, k.playlistfile)
                        } else {
                            if (k.levels && k.levels.length) {
                                for (var j = 0; j < k.levels.length; j++) {
                                    if (k.levels[j].file && html5CanPlay(h, k.levels[j].file, k.provider, k.playlistfile)) {
                                        return true
                                    }
                                }
                            }
                        }
                    }
                } else {
                    return true
                }
            }
            return false
        };
        html5CanPlay = function (j, i, k, h) {
            if (h) {
                return false
            }
            if (k && k == "youtube") {
                return true
            }
            if (k && k != "video" && k != "http") {
                return false
            }
            var l = a.utils.extension(i);
            if (!l || a.utils.extensionmap[l] === undefined) {
                return true
            }
            if (a.utils.extensionmap[l].html5 === undefined) {
                return false
            }
            if (a.utils.isLegacyAndroid() && l.match(/m4v|mp4/)) {
                return true
            }
            return browserCanPlay(j, a.utils.extensionmap[l].html5)
        };
        browserCanPlay = function (i, h) {
            if (!h) {
                return true
            }
            return i.canPlayType(h)
        }
    }
})(jwplayer);
(function (a) {
    a.embed.logo = function (l, k, d) {
        var i = {
            prefix: "http://l.longtailvideo.com/" + k + "/",
            file: "logo.png",
            link: "http://www.longtailvideo.com/players/jw-flv-player/",
            margin: 8,
            out: 0.5,
            over: 1,
            timeout: 3,
            hide: false,
            position: "bottom-left"
        };
        _css = a.utils.css;
        var b;
        var h;
        j();

        function j() {
            n();
            c();
            f()
        }
        function n() {
            if (i.prefix) {
                var p = a.version.split(/\W/).splice(0, 2).join("/");
                if (i.prefix.indexOf(p) < 0) {
                    i.prefix += p + "/"
                }
            }
            h = a.utils.extend({}, i)
        }
        function o() {
            var r = {
                border: "none",
                textDecoration: "none",
                position: "absolute",
                cursor: "pointer",
                zIndex: 10
            };
            r.display = h.hide ? "none" : "block";
            var q = h.position.toLowerCase().split("-");
            for (var p in q) {
                r[q[p]] = h.margin
            }
            return r
        }
        function c() {
            b = document.createElement("img");
            b.id = d + "_jwplayer_logo";
            b.style.display = "none";
            b.onload = function (p) {
                _css(b, o());
                e()
            };
            if (!h.file) {
                return
            }
            if (h.file.indexOf("http://") === 0) {
                b.src = h.file
            } else {
                b.src = h.prefix + h.file
            }
        }
        if (!h.file) {
            return
        }
        function f() {
            if (h.link) {
                b.onmouseover = g;
                b.onmouseout = e;
                b.onclick = m
            } else {
                this.mouseEnabled = false
            }
        }
        function m(p) {
            if (typeof p != "undefined") {
                p.preventDefault();
                p.stopPropagation()
            }
            if (h.link) {
                window.open(h.link, "_blank")
            }
            return
        }
        function e(p) {
            if (h.link) {
                b.style.opacity = h.out
            }
            return
        }
        function g(p) {
            if (h.hide) {
                b.style.opacity = h.over
            }
            return
        }
        return b
    }
})(jwplayer);
(function (a) {
    a.html5 = function (b) {
        var c = b;
        this.setup = function (d) {
            a.utils.extend(this, new a.html5.api(c, d));
            return this
        };
        return this
    }
})(jwplayer);
(function (b) {
    var c = b.utils.css;
    b.html5.view = function (p, o, e) {
        var s = p;
        var l = o;
        var v = e;
        var u;
        var f;
        var z;
        var q;
        var A;
        var n;

        function x() {
            u = document.createElement("div");
            u.id = l.id;
            u.className = l.className;
            _videowrapper = document.createElement("div");
            _videowrapper.id = u.id + "_video_wrapper";
            l.id = u.id + "_video";
            c(u, {
                position: "relative",
                height: v.height,
                width: v.width,
                padding: 0,
                backgroundColor: B(),
                zIndex: 0
            });

            function B() {
                if (s.skin.getComponentSettings("display") && s.skin.getComponentSettings("display").backgroundcolor) {
                    return s.skin.getComponentSettings("display").backgroundcolor
                }
                return parseInt("000000", 16)
            }
            c(l, {
                width: v.width,
                height: v.height,
                top: 0,
                left: 0,
                zIndex: 1,
                margin: "auto",
                display: "block"
            });
            c(_videowrapper, {
                overflow: "hidden",
                position: "absolute",
                top: 0,
                left: 0,
                bottom: 0,
                right: 0
            });
            b.utils.wrap(l, u);
            b.utils.wrap(l, _videowrapper);
            q = document.createElement("div");
            q.id = u.id + "_displayarea";
            u.appendChild(q)
        }
        function j() {
            for (var B = 0; B < v.plugins.order.length; B++) {
                var C = v.plugins.order[B];
                if (v.plugins.object[C].getDisplayElement !== undefined) {
                    v.plugins.object[C].height = h(v.plugins.object[C].getDisplayElement().style.height);
                    v.plugins.object[C].width = h(v.plugins.object[C].getDisplayElement().style.width);
                    v.plugins.config[C].currentPosition = v.plugins.config[C].position
                }
            }
            t()
        }
        function t(C) {
            if (v.getMedia() !== undefined) {
                for (var B = 0; B < v.plugins.order.length; B++) {
                    var D = v.plugins.order[B];
                    if (v.plugins.object[D].getDisplayElement !== undefined) {
                        if (v.getMedia().hasChrome()) {
                            v.plugins.config[D].currentPosition = b.html5.view.positions.NONE
                        } else {
                            v.plugins.config[D].currentPosition = v.plugins.config[D].position
                        }
                    }
                }
            }
            i(v.width, v.height)
        }
        function h(B) {
            if (typeof B == "string") {
                if (B === "") {
                    return 0
                } else {
                    if (B.lastIndexOf("%") > -1) {
                        return B
                    } else {
                        return parseInt(B.replace("px", ""), 10)
                    }
                }
            }
            return B
        }
        this.setup = function (B) {
            l = B;
            x();
            j();
            s.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_LOADED, t);
            s.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_META, function () {
                w()
            });
            var C;
            if (window.onresize !== null) {
                C = window.onresize
            }
            window.onresize = function (D) {
                if (C !== undefined) {
                    try {
                        C(D)
                    } catch (F) {}
                }
                if (s.jwGetFullscreen()) {
                    var E = document.body.getBoundingClientRect();
                    v.width = Math.abs(E.left) + Math.abs(E.right);
                    v.height = window.innerHeight
                }
                i(v.width, v.height)
            }
        };

        function g(B) {
            switch (B.keyCode) {
            case 27:
                if (s.jwGetFullscreen()) {
                    s.jwSetFullscreen(false)
                }
                break;
            case 32:
                if (s.jwGetState() != b.api.events.state.IDLE && s.jwGetState() != b.api.events.state.PAUSED) {
                    s.jwPause()
                } else {
                    s.jwPlay()
                }
                break
            }
        }
        function i(E, B) {
            if (u.style.display == "none") {
                return
            }
            var D = [].concat(v.plugins.order);
            D.reverse();
            A = D.length + 2;
            if (!v.fullscreen) {
                v.width = E;
                v.height = B;
                f = E;
                z = B;
                c(q, {
                    top: 0,
                    bottom: 0,
                    left: 0,
                    right: 0,
                    width: E,
                    height: B
                });
                c(u, {
                    height: z,
                    width: f
                });
                var C = m(r, D);
                if (C.length > 0) {
                    A += C.length;
                    m(k, C, true)
                }
            } else {
                if (navigator.vendor.indexOf("Apple") !== 0) {
                    m(y, D, true)
                }
            }
            w()
        }
        function m(G, D, E) {
            var C = [];
            for (var B = 0; B < D.length; B++) {
                var H = D[B];
                if (v.plugins.object[H].getDisplayElement !== undefined) {
                    if (v.plugins.config[H].currentPosition != b.html5.view.positions.NONE) {
                        var F = G(H, A--);
                        if (!F) {
                            C.push(H)
                        } else {
                            v.plugins.object[H].resize(F.width, F.height);
                            if (E) {
                                delete F.width;
                                delete F.height
                            }
                            c(v.plugins.object[H].getDisplayElement(), F)
                        }
                    } else {
                        c(v.plugins.object[H].getDisplayElement(), {
                            display: "none"
                        })
                    }
                }
            }
            return C
        }
        function r(C, D) {
            if (v.plugins.object[C].getDisplayElement !== undefined) {
                if (v.plugins.config[C].position && a(v.plugins.config[C].position)) {
                    if (v.plugins.object[C].getDisplayElement().parentNode === null) {
                        u.appendChild(v.plugins.object[C].getDisplayElement())
                    }
                    var B = d(C);
                    B.zIndex = D;
                    return B
                }
            }
            return false
        }
        function k(D, E) {
            if (v.plugins.object[D].getDisplayElement().parentNode === null) {
                q.appendChild(v.plugins.object[D].getDisplayElement())
            }
            var B = v.width,
                C = v.height;
            if (typeof v.width == "string" && v.width.lastIndexOf("%") > -1) {
                percentage = parseFloat(v.width.substring(0, v.width.lastIndexOf("%"))) / 100;
                B = Math.round(window.innerWidth * percentage)
            }
            if (typeof v.height == "string" && v.height.lastIndexOf("%") > -1) {
                percentage = parseFloat(v.height.substring(0, v.height.lastIndexOf("%"))) / 100;
                C = Math.round(window.innerHeight * percentage)
            }
            return {
                position: "absolute",
                width: (B - h(q.style.left) - h(q.style.right)),
                height: (C - h(q.style.top) - h(q.style.bottom)),
                zIndex: E
            }
        }
        function y(B, C) {
            return {
                position: "fixed",
                width: v.width,
                height: v.height,
                zIndex: C
            }
        }
        function w() {
            q.style.position = "absolute";
            v.getMedia().getDisplayElement().style.position = "absolute";
            if (v.getMedia().getDisplayElement().videoWidth == 0 || v.getMedia().getDisplayElement().videoHeight == 0) {
                return
            }
            var B, D;
            if (q.style.width.toString().lastIndexOf("%") > -1 || q.style.width.toString().lastIndexOf("%") > -1) {
                var C = q.getBoundingClientRect();
                B = Math.abs(C.left) + Math.abs(C.right);
                D = Math.abs(C.top) + Math.abs(C.bottom)
            } else {
                B = h(q.style.width);
                D = h(q.style.height)
            }
            b.utils.stretch(s.jwGetStretching(), v.getMedia().getDisplayElement(), B, D, v.getMedia().getDisplayElement().videoWidth, v.getMedia().getDisplayElement().videoHeight)
        }
        function d(C) {
            var D = {
                position: "absolute",
                margin: 0,
                padding: 0,
                top: null
            };
            var B = v.plugins.config[C].currentPosition.toLowerCase();
            switch (B.toUpperCase()) {
            case b.html5.view.positions.TOP:
                D.top = h(q.style.top);
                D.left = h(q.style.left);
                D.width = f - h(q.style.left) - h(q.style.right);
                D.height = v.plugins.object[C].height;
                q.style[B] = h(q.style[B]) + v.plugins.object[C].height + "px";
                q.style.height = h(q.style.height) - D.height + "px";
                break;
            case b.html5.view.positions.RIGHT:
                D.top = h(q.style.top);
                D.right = h(q.style.right);
                D.width = D.width = v.plugins.object[C].width;
                D.height = z - h(q.style.top) - h(q.style.bottom);
                q.style[B] = h(q.style[B]) + v.plugins.object[C].width + "px";
                q.style.width = h(q.style.width) - D.width + "px";
                break;
            case b.html5.view.positions.BOTTOM:
                D.bottom = h(q.style.bottom);
                D.left = h(q.style.left);
                D.width = f - h(q.style.left) - h(q.style.right);
                D.height = v.plugins.object[C].height;
                q.style[B] = h(q.style[B]) + v.plugins.object[C].height + "px";
                q.style.height = h(q.style.height) - D.height + "px";
                break;
            case b.html5.view.positions.LEFT:
                D.top = h(q.style.top);
                D.left = h(q.style.left);
                D.width = v.plugins.object[C].width;
                D.height = z - h(q.style.top) - h(q.style.bottom);
                q.style[B] = h(q.style[B]) + v.plugins.object[C].width + "px";
                q.style.width = h(q.style.width) - D.width + "px";
                break;
            default:
                break
            }
            return D
        }
        this.resize = i;
        this.fullscreen = function (E) {
            if (navigator.vendor.indexOf("Apple") === 0) {
                if (v.getMedia().getDisplayElement().webkitSupportsFullscreen) {
                    if (E) {
                        try {
                            v.getMedia().getDisplayElement().webkitEnterFullscreen()
                        } catch (D) {}
                    } else {
                        try {
                            v.getMedia().getDisplayElement().webkitExitFullscreen()
                        } catch (D) {}
                    }
                }
            } else {
                if (E) {
                    document.onkeydown = g;
                    clearInterval(n);
                    var C = document.body.getBoundingClientRect();
                    v.width = Math.abs(C.left) + Math.abs(C.right);
                    v.height = window.innerHeight;
                    var B = {
                        position: "fixed",
                        width: "100%",
                        height: "100%",
                        top: 0,
                        left: 0,
                        zIndex: 2147483000
                    };
                    c(u, B);
                    B.zIndex = 1;
                    c(v.getMedia().getDisplayElement(), B);
                    B.zIndex = 2;
                    c(q, B)
                } else {
                    document.onkeydown = "";
                    v.width = f;
                    v.height = z;
                    c(u, {
                        position: "relative",
                        height: v.height,
                        width: v.width,
                        zIndex: 0
                    })
                }
                i(v.width, v.height)
            }
        }
    };

    function a(d) {
        return ([b.html5.view.positions.TOP, b.html5.view.positions.RIGHT, b.html5.view.positions.BOTTOM, b.html5.view.positions.LEFT].toString().indexOf(d.toUpperCase()) > -1)
    }
    b.html5.view.positions = {
        TOP: "TOP",
        RIGHT: "RIGHT",
        BOTTOM: "BOTTOM",
        LEFT: "LEFT",
        OVER: "OVER",
        NONE: "NONE"
    }
})(jwplayer);
(function (a) {
    var b = {
        backgroundcolor: "",
        margin: 10,
        font: "Arial,sans-serif",
        fontsize: 10,
        fontcolor: parseInt("000000", 16),
        fontstyle: "normal",
        fontweight: "bold",
        buttoncolor: parseInt("ffffff", 16),
        position: a.html5.view.positions.BOTTOM,
        idlehide: false,
        layout: {
            left: {
                position: "left",
                elements: [{
                    name: "play",
                    type: "button"
                }, {
                    name: "divider",
                    type: "divider"
                }, {
                    name: "prev",
                    type: "button"
                }, {
                    name: "divider",
                    type: "divider"
                }, {
                    name: "next",
                    type: "button"
                }, {
                    name: "divider",
                    type: "divider"
                }, {
                    name: "elapsed",
                    type: "text"
                }]
            },
            center: {
                position: "center",
                elements: [{
                    name: "time",
                    type: "slider"
                }]
            },
            right: {
                position: "right",
                elements: [{
                    name: "duration",
                    type: "text"
                }, {
                    name: "blank",
                    type: "button"
                }, {
                    name: "divider",
                    type: "divider"
                }, {
                    name: "mute",
                    type: "button"
                }, {
                    name: "volume",
                    type: "slider"
                }, {
                    name: "divider",
                    type: "divider"
                }, {
                    name: "fullscreen",
                    type: "button"
                }]
            }
        }
    };
    _css = a.utils.css;
    _hide = function (c) {
        _css(c, {
            display: "none"
        })
    };
    _show = function (c) {
        _css(c, {
            display: "block"
        })
    };
    a.html5.controlbar = function (j, L) {
        var i = j;
        var A = a.utils.extend({}, b, i.skin.getComponentSettings("controlbar"), L);
        if (A.position == a.html5.view.positions.NONE || typeof a.html5.view.positions[A.position] == "undefined") {
            return
        }
        if (a.utils.mapLength(i.skin.getComponentLayout("controlbar")) > 0) {
            A.layout = i.skin.getComponentLayout("controlbar")
        }
        var P;
        var I;
        var O;
        var B;
        var t = "none";
        var f;
        var h;
        var Q;
        var e;
        var d;
        var w;
        var s;
        var J = {};
        var n = false;
        var c = {};

        function H() {
            O = 0;
            B = 0;
            I = 0;
            if (!n) {
                var V = {
                    height: i.skin.getSkinElement("controlbar", "background").height,
                    backgroundColor: A.backgroundcolor
                };
                P = document.createElement("div");
                P.id = i.id + "_jwplayer_controlbar";
                _css(P, V)
            }
            v("capLeft", "left", false, P);
            var W = {
                position: "absolute",
                height: i.skin.getSkinElement("controlbar", "background").height,
                left: i.skin.getSkinElement("controlbar", "capLeft").width,
                zIndex: 0
            };
            N("background", P, W, "img");
            if (i.skin.getSkinElement("controlbar", "background")) {
                J.background.src = i.skin.getSkinElement("controlbar", "background").src
            }
            W.zIndex = 1;
            N("elements", P, W);
            v("capRight", "right", false, P)
        }
        this.getDisplayElement = function () {
            return P
        };
        this.resize = function (X, V) {
            a.utils.cancelAnimation(P);
            document.getElementById(i.id).onmousemove = x;
            d = X;
            w = V;
            x();
            var W = u();
            D({
                id: i.id,
                duration: Q,
                position: h
            });
            r({
                id: i.id,
                bufferPercent: e
            });
            return W
        };

        function o() {
            var W = ["timeSlider", "volumeSlider", "timeSliderRail", "volumeSliderRail"];
            for (var X in W) {
                var V = W[X];
                if (typeof J[V] != "undefined") {
                    c[V] = J[V].getBoundingClientRect()
                }
            }
        }
        function x() {
            a.utils.cancelAnimation(P);
            if (g()) {
                a.utils.fadeTo(P, 1, 0, 1, 0)
            } else {
                a.utils.fadeTo(P, 0, 0.1, 1, 2)
            }
        }
        function g() {
            if (i.jwGetState() == a.api.events.state.IDLE || i.jwGetState() == a.api.events.state.PAUSED) {
                if (A.idlehide) {
                    return false
                }
                return true
            }
            if (i.jwGetFullscreen()) {
                return false
            }
            if (A.position == a.html5.view.positions.OVER) {
                return false
            }
            return true
        }
        function N(Z, Y, X, V) {
            var W;
            if (!n) {
                if (!V) {
                    V = "div"
                }
                W = document.createElement(V);
                J[Z] = W;
                W.id = P.id + "_" + Z;
                Y.appendChild(W)
            } else {
                W = document.getElementById(P.id + "_" + Z)
            }
            if (X !== undefined) {
                _css(W, X)
            }
            return W
        }
        function G() {
            U(A.layout.left);
            U(A.layout.right, -1);
            U(A.layout.center)
        }
        function U(Y, V) {
            var Z = Y.position == "right" ? "right" : "left";
            var X = a.utils.extend([], Y.elements);
            if (V !== undefined) {
                X.reverse()
            }
            for (var W = 0; W < X.length; W++) {
                z(X[W], Z)
            }
        }
        function E() {
            return I++
        }
        function z(Z, ab) {
            var Y, W, X, V, ad;
            switch (Z.name) {
            case "play":
                v("playButton", ab, false);
                v("pauseButton", ab, true);
                K("playButton", "jwPlay");
                K("pauseButton", "jwPause");
                break;
            case "divider":
                v("divider" + E(), ab, true, undefined, undefined, Z.width);
                break;
            case "prev":
                v("prevButton", ab, true);
                K("prevButton", "jwPlaylistPrev");
                break;
            case "next":
                v("nextButton", ab, true);
                K("nextButton", "jwPlaylistNext");
                break;
            case "elapsed":
                v("elapsedText", ab, true);
                break;
            case "time":
                W = i.skin.getSkinElement("controlbar", "timeSliderCapLeft") === undefined ? 0 : i.skin.getSkinElement("controlbar", "timeSliderCapLeft").width;
                X = i.skin.getSkinElement("controlbar", "timeSliderCapRight") === undefined ? 0 : i.skin.getSkinElement("controlbar", "timeSliderCapRight").width;
                Y = ab == "left" ? W : X;
                V = i.skin.getSkinElement("controlbar", "timeSliderRail").width + W + X;
                ad = {
                    height: i.skin.getSkinElement("controlbar", "background").height,
                    position: "absolute",
                    top: 0,
                    width: V
                };
                ad[ab] = ab == "left" ? O : B;
                var aa = N("timeSlider", J.elements, ad);
                v("timeSliderCapLeft", ab, true, aa, ab == "left" ? 0 : Y);
                v("timeSliderRail", ab, false, aa, Y);
                v("timeSliderBuffer", ab, false, aa, Y);
                v("timeSliderProgress", ab, false, aa, Y);
                v("timeSliderThumb", ab, false, aa, Y);
                v("timeSliderCapRight", ab, true, aa, ab == "right" ? 0 : Y);
                M("time");
                break;
            case "fullscreen":
                v("fullscreenButton", ab, false);
                v("normalscreenButton", ab, true);
                K("fullscreenButton", "jwSetFullscreen", true);
                K("normalscreenButton", "jwSetFullscreen", false);
                break;
            case "volume":
                W = i.skin.getSkinElement("controlbar", "volumeSliderCapLeft") === undefined ? 0 : i.skin.getSkinElement("controlbar", "volumeSliderCapLeft").width;
                X = i.skin.getSkinElement("controlbar", "volumeSliderCapRight") === undefined ? 0 : i.skin.getSkinElement("controlbar", "volumeSliderCapRight").width;
                Y = ab == "left" ? W : X;
                V = i.skin.getSkinElement("controlbar", "volumeSliderRail").width + W + X;
                ad = {
                    height: i.skin.getSkinElement("controlbar", "background").height,
                    position: "absolute",
                    top: 0,
                    width: V
                };
                ad[ab] = ab == "left" ? O : B;
                var ac = N("volumeSlider", J.elements, ad);
                v("volumeSliderCapLeft", ab, true, ac, ab == "left" ? 0 : Y);
                v("volumeSliderRail", ab, true, ac, Y);
                v("volumeSliderProgress", ab, false, ac, Y);
                v("volumeSliderCapRight", ab, true, ac, ab == "right" ? 0 : Y);
                M("volume");
                break;
            case "mute":
                v("muteButton", ab, false);
                v("unmuteButton", ab, true);
                K("muteButton", "jwSetMute", true);
                K("unmuteButton", "jwSetMute", false);
                break;
            case "duration":
                v("durationText", ab, true);
                break
            }
        }
        function v(X, aa, W, ac, Y, V) {
            if ((i.skin.getSkinElement("controlbar", X) !== undefined || X.indexOf("Text") > 0 || X.indexOf("divider") === 0) && !(X.indexOf("divider") === 0 && s.indexOf("divider") === 0)) {
                s = X;
                var Z = {
                    height: i.skin.getSkinElement("controlbar", "background").height,
                    position: "absolute",
                    display: "block",
                    top: 0
                };
                if ((X.indexOf("next") === 0 || X.indexOf("prev") === 0) && i.jwGetPlaylist().length < 2) {
                    W = false;
                    Z.display = "none"
                }
                var ad;
                if (X.indexOf("Text") > 0) {
                    X.innerhtml = "00:00";
                    Z.font = A.fontsize + "px/" + (i.skin.getSkinElement("controlbar", "background").height + 1) + "px " + A.font;
                    Z.color = A.fontcolor;
                    Z.textAlign = "center";
                    Z.fontWeight = A.fontweight;
                    Z.fontStyle = A.fontstyle;
                    Z.cursor = "default";
                    ad = 14 + 3 * A.fontsize
                } else {
                    if (X.indexOf("divider") === 0) {
                        if (V) {
                            if (!isNaN(parseInt(V))) {
                                ad = parseInt(V)
                            }
                        } else {
                            Z.background = "url(" + i.skin.getSkinElement("controlbar", "divider").src + ") repeat-x center left";
                            ad = i.skin.getSkinElement("controlbar", "divider").width
                        }
                    } else {
                        Z.background = "url(" + i.skin.getSkinElement("controlbar", X).src + ") repeat-x center left";
                        ad = i.skin.getSkinElement("controlbar", X).width
                    }
                }
                if (aa == "left") {
                    Z.left = isNaN(Y) ? O : Y;
                    if (W) {
                        O += ad
                    }
                } else {
                    if (aa == "right") {
                        Z.right = isNaN(Y) ? B : Y;
                        if (W) {
                            B += ad
                        }
                    }
                }
                if (a.utils.typeOf(ac) == "undefined") {
                    ac = J.elements
                }
                Z.width = ad;
                if (n) {
                    _css(J[X], Z)
                } else {
                    var ab = N(X, ac, Z);
                    if (i.skin.getSkinElement("controlbar", X + "Over") !== undefined) {
                        ab.onmouseover = function (ae) {
                            ab.style.backgroundImage = ["url(", i.skin.getSkinElement("controlbar", X + "Over").src, ")"].join("")
                        };
                        ab.onmouseout = function (ae) {
                            ab.style.backgroundImage = ["url(", i.skin.getSkinElement("controlbar", X).src, ")"].join("")
                        }
                    }
                }
            }
        }
        function C() {
            i.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, y);
            i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_BUFFER, r);
            i.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, p);
            i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_TIME, D);
            i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE, T);
            i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_VOLUME, k);
            i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_COMPLETE, F)
        }
        function y() {
            H();
            G();
            u();
            R()
        }
        function R() {
            D({
                id: i.id,
                duration: i.jwGetDuration(),
                position: 0
            });
            r({
                id: i.id,
                bufferProgress: 0
            });
            T({
                id: i.id,
                mute: i.jwGetMute()
            });
            p({
                id: i.id,
                newstate: a.api.events.state.IDLE
            });
            k({
                id: i.id,
                volume: i.jwGetVolume()
            })
        }
        function K(X, Y, W) {
            if (n) {
                return
            }
            if (i.skin.getSkinElement("controlbar", X) !== undefined) {
                var V = J[X];
                if (V !== null) {
                    _css(V, {
                        cursor: "pointer"
                    });
                    if (Y == "fullscreen") {
                        V.onmouseup = function (Z) {
                            Z.stopPropagation();
                            i.jwSetFullscreen(!i.jwGetFullscreen())
                        }
                    } else {
                        V.onmouseup = function (Z) {
                            Z.stopPropagation();
                            if (W !== null) {
                                i[Y](W)
                            } else {
                                i[Y]()
                            }
                        }
                    }
                }
            }
        }
        function M(V) {
            if (n) {
                return
            }
            var W = J[V + "Slider"];
            _css(J.elements, {
                cursor: "pointer"
            });
            _css(W, {
                cursor: "pointer"
            });
            W.onmousedown = function (X) {
                t = V
            };
            W.onmouseup = function (X) {
                X.stopPropagation();
                S(X.pageX)
            };
            W.onmousemove = function (X) {
                if (t == "time") {
                    f = true;
                    var Y = X.pageX - c[V + "Slider"].left - window.pageXOffset;
                    _css(J.timeSliderThumb, {
                        left: Y
                    })
                }
            }
        }
        function S(W) {
            f = false;
            var V;
            if (t == "time") {
                V = W - c.timeSliderRail.left + window.pageXOffset;
                var Y = V / c.timeSliderRail.width * Q;
                if (Y < 0) {
                    Y = 0
                } else {
                    if (Y > Q) {
                        Y = Q - 3
                    }
                }
                i.jwSeek(Y);
                if (i.jwGetState() != a.api.events.state.PLAYING) {
                    i.jwPlay()
                }
            } else {
                if (t == "volume") {
                    V = W - c.volumeSliderRail.left - window.pageXOffset;
                    var X = Math.round(V / c.volumeSliderRail.width * 100);
                    if (X < 0) {
                        X = 0
                    } else {
                        if (X > 100) {
                            X = 100
                        }
                    }
                    if (i.jwGetMute()) {
                        i.jwSetMute(false)
                    }
                    i.jwSetVolume(X)
                }
            }
            t = "none"
        }
        function r(W) {
            if (W.bufferPercent !== null) {
                e = W.bufferPercent
            }
            var X = c.timeSliderRail.width;
            var V = isNaN(Math.round(X * e / 100)) ? 0 : Math.round(X * e / 100);
            _css(J.timeSliderBuffer, {
                width: V
            })
        }
        function T(V) {
            if (V.mute) {
                _hide(J.muteButton);
                _show(J.unmuteButton);
                _hide(J.volumeSliderProgress)
            } else {
                _show(J.muteButton);
                _hide(J.unmuteButton);
                _show(J.volumeSliderProgress)
            }
        }
        function p(V) {
            if (V.newstate == a.api.events.state.BUFFERING || V.newstate == a.api.events.state.PLAYING) {
                _show(J.pauseButton);
                _hide(J.playButton)
            } else {
                _hide(J.pauseButton);
                _show(J.playButton)
            }
            x();
            if (V.newstate == a.api.events.state.IDLE) {
                _hide(J.timeSliderBuffer);
                _hide(J.timeSliderProgress);
                _hide(J.timeSliderThumb);
                D({
                    id: i.id,
                    duration: i.jwGetDuration(),
                    position: 0
                })
            } else {
                _show(J.timeSliderBuffer);
                if (V.newstate != a.api.events.state.BUFFERING) {
                    _show(J.timeSliderProgress);
                    _show(J.timeSliderThumb)
                }
            }
        }
        function F(V) {
            r({
                bufferPercent: 0
            });
            D(a.utils.extend(V, {
                position: 0,
                duration: Q
            }))
        }
        function D(Y) {
            if (Y.position !== null) {
                h = Y.position
            }
            if (Y.duration !== null) {
                Q = Y.duration
            }
            var W = (h === Q === 0) ? 0 : h / Q;
            var V = isNaN(Math.round(c.timeSliderRail.width * W)) ? 0 : Math.round(c.timeSliderRail.width * W);
            var X = V;
            J.timeSliderProgress.style.width = V + "px";
            if (!f) {
                if (J.timeSliderThumb) {
                    J.timeSliderThumb.style.left = X + "px"
                }
            }
            if (J.durationText) {
                J.durationText.innerHTML = m(Q)
            }
            if (J.elapsedText) {
                J.elapsedText.innerHTML = m(h)
            }
        }
        function m(V) {
            str = "00:00";
            if (V > 0) {
                str = Math.floor(V / 60) < 10 ? "0" + Math.floor(V / 60) + ":" : Math.floor(V / 60) + ":";
                str += Math.floor(V % 60) < 10 ? "0" + Math.floor(V % 60) : Math.floor(V % 60)
            }
            return str
        }
        function l() {
            var Y, W;
            var X = document.getElementById(P.id + "_elements").childNodes;
            for (var V in document.getElementById(P.id + "_elements").childNodes) {
                if (isNaN(parseInt(V, 10))) {
                    continue
                }
                if (X[V].id.indexOf(P.id + "_divider") === 0 && W.id.indexOf(P.id + "_divider") === 0) {
                    X[V].style.display = "none"
                } else {
                    if (X[V].id.indexOf(P.id + "_divider") === 0 && Y.style.display != "none") {
                        X[V].style.display = "block"
                    }
                }
                if (X[V].style.display != "none") {
                    W = X[V]
                }
                Y = X[V]
            }
        }
        function u() {
            l();
            if (i.jwGetFullscreen()) {
                _show(J.normalscreenButton);
                _hide(J.fullscreenButton)
            } else {
                _hide(J.normalscreenButton);
                _show(J.fullscreenButton)
            }
            var W = {
                width: d
            };
            var V = {};
            if (A.position == a.html5.view.positions.OVER || i.jwGetFullscreen()) {
                W.left = A.margin;
                W.width -= 2 * A.margin;
                W.top = w - i.skin.getSkinElement("controlbar", "background").height - A.margin;
                W.height = i.skin.getSkinElement("controlbar", "background").height
            } else {
                W.left = 0
            }
            V.left = i.skin.getSkinElement("controlbar", "capLeft").width;
            V.width = W.width - i.skin.getSkinElement("controlbar", "capLeft").width - i.skin.getSkinElement("controlbar", "capRight").width;
            var X = i.skin.getSkinElement("controlbar", "timeSliderCapLeft") === undefined ? 0 : i.skin.getSkinElement("controlbar", "timeSliderCapLeft").width;
            _css(J.timeSliderRail, {
                width: (V.width - O - B),
                left: X
            });
            if (J.timeSliderCapRight !== undefined) {
                _css(J.timeSliderCapRight, {
                    left: X + (V.width - O - B)
                })
            }
            _css(P, W);
            _css(J.elements, V);
            _css(J.background, V);
            o();
            return W
        }
        function k(Z) {
            if (J.volumeSliderRail !== undefined) {
                var X = isNaN(Z.volume / 100) ? 1 : Z.volume / 100;
                var Y = parseInt(J.volumeSliderRail.style.width.replace("px", ""), 10);
                var V = isNaN(Math.round(Y * X)) ? 0 : Math.round(Y * X);
                var aa = parseInt(J.volumeSliderRail.style.right.replace("px", ""), 10);
                var W = i.skin.getSkinElement("controlbar", "volumeSliderCapLeft") === undefined ? 0 : i.skin.getSkinElement("controlbar", "volumeSliderCapLeft").width;
                _css(J.volumeSliderProgress, {
                    width: V,
                    left: W
                });
                if (J.volumeSliderCapLeft !== undefined) {
                    _css(J.volumeSliderCapLeft, {
                        left: 0
                    })
                }
            }
        }
        function q() {
            H();
            G();
            o();
            n = true;
            C();
            R();
            P.style.opacity = A.idlehide ? 0 : 1
        }
        q();
        return this
    }
})(jwplayer);
(function (b) {
    var a = ["width", "height", "state", "playlist", "item", "position", "buffer", "duration", "volume", "mute", "fullscreen"];
    b.html5.controller = function (t, r, e, q) {
        var w = t;
        var y = e;
        var d = q;
        var k = r;
        var A = true;
        var c = -1;
        var u = (y.config.debug !== undefined) && (y.config.debug.toString().toLowerCase() == "console");
        var i = new b.html5.eventdispatcher(k.id, u);
        b.utils.extend(this, i);

        function m(D) {
            i.sendEvent(D.type, D)
        }
        y.addGlobalListener(m);

        function p() {
            try {
                if (y.playlist[y.item].levels[0].file.length > 0) {
                    if (A || y.state == b.api.events.state.IDLE) {
                        y.addEventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL, function () {
                            y.getMedia().play()
                        });
                        y.addEventListener(b.api.events.JWPLAYER_MEDIA_TIME, function (E) {
                            if (E.position >= y.playlist[y.item].start && c >= 0) {
                                y.playlist[y.item].start = c;
                                c = -1
                            }
                        });
                        if (y.config.repeat) {
                            y.addEventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE, function (E) {
                                setTimeout(n, 25)
                            })
                        }
                        y.getMedia().load(y.playlist[y.item]);
                        A = false
                    } else {
                        if (y.state == b.api.events.state.PAUSED) {
                            y.getMedia().play()
                        }
                    }
                }
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function B() {
            try {
                if (y.playlist[y.item].levels[0].file.length > 0) {
                    switch (y.state) {
                    case b.api.events.state.PLAYING:
                    case b.api.events.state.BUFFERING:
                        y.getMedia().pause();
                        break
                    }
                }
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function x(D) {
            try {
                if (y.playlist[y.item].levels[0].file.length > 0) {
                    if (typeof D != "number") {
                        D = parseFloat(D)
                    }
                    switch (y.state) {
                    case b.api.events.state.IDLE:
                        if (c < 0) {
                            c = y.playlist[y.item].start;
                            y.playlist[y.item].start = D
                        }
                        p();
                        break;
                    case b.api.events.state.PLAYING:
                    case b.api.events.state.PAUSED:
                    case b.api.events.state.BUFFERING:
                        y.getMedia().seek(D);
                        break
                    }
                }
                return true
            } catch (E) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, E)
            }
            return false
        }
        function j() {
            try {
                if (y.playlist[y.item].levels[0].file.length > 0 && y.state != b.api.events.state.IDLE) {
                    y.getMedia().stop()
                }
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function g() {
            try {
                if (y.playlist[y.item].levels[0].file.length > 0) {
                    if (y.config.shuffle) {
                        o(s())
                    } else {
                        if (y.item + 1 == y.playlist.length) {
                            o(0)
                        } else {
                            o(y.item + 1)
                        }
                    }
                }
                if (y.state != b.api.events.state.PLAYING && y.state != b.api.events.state.BUFFERING) {
                    p()
                }
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function f() {
            try {
                if (y.playlist[y.item].levels[0].file.length > 0) {
                    if (y.config.shuffle) {
                        o(s())
                    } else {
                        if (y.item === 0) {
                            o(y.playlist.length - 1)
                        } else {
                            o(y.item - 1)
                        }
                    }
                }
                if (y.state != b.api.events.state.PLAYING && y.state != b.api.events.state.BUFFERING) {
                    p()
                }
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function s() {
            var D = null;
            if (y.playlist.length > 1) {
                while (D === null) {
                    D = Math.floor(Math.random() * y.playlist.length);
                    if (D == y.item) {
                        D = null
                    }
                }
            } else {
                D = 0
            }
            return D
        }
        function o(E) {
            y.resetEventListeners();
            y.addGlobalListener(m);
            try {
                if (y.playlist[E].levels[0].file.length > 0) {
                    var F = y.state;
                    if (F !== b.api.events.state.IDLE) {
                        j()
                    }
                    y.item = E;
                    A = true;
                    y.setActiveMediaProvider(y.playlist[y.item]);
                    i.sendEvent(b.api.events.JWPLAYER_PLAYLIST_ITEM, {
                        index: E
                    });
                    if (F == b.api.events.state.PLAYING || F == b.api.events.state.BUFFERING || y.config.chromeless || e.config.autostart === true) {
                        p()
                    }
                }
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function z(E) {
            try {
                switch (typeof(E)) {
                case "number":
                    y.getMedia().volume(E);
                    break;
                case "string":
                    y.getMedia().volume(parseInt(E, 10));
                    break
                }
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function l(E) {
            try {
                if (typeof E == "undefined") {
                    y.getMedia().mute(!y.mute)
                } else {
                    if (E.toString().toLowerCase() == "true") {
                        y.getMedia().mute(true)
                    } else {
                        y.getMedia().mute(false)
                    }
                }
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function h(E, D) {
            try {
                y.width = E;
                y.height = D;
                d.resize(E, D);
                i.sendEvent(b.api.events.JWPLAYER_RESIZE, {
                    width: y.width,
                    height: y.height
                });
                return true
            } catch (F) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, F)
            }
            return false
        }
        function v(E) {
            try {
                if (typeof E == "undefined") {
                    y.fullscreen = !y.fullscreen;
                    d.fullscreen(!y.fullscreen)
                } else {
                    if (E.toString().toLowerCase() == "true") {
                        y.fullscreen = true;
                        d.fullscreen(true)
                    } else {
                        y.fullscreen = false;
                        d.fullscreen(false)
                    }
                }
                i.sendEvent(b.api.events.JWPLAYER_RESIZE, {
                    width: y.width,
                    height: y.height
                });
                i.sendEvent(b.api.events.JWPLAYER_FULLSCREEN, {
                    fullscreen: E
                });
                return true
            } catch (D) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, D)
            }
            return false
        }
        function C(D) {
            try {
                j();
                y.loadPlaylist(D);
                o(y.item);
                return true
            } catch (E) {
                i.sendEvent(b.api.events.JWPLAYER_ERROR, E)
            }
            return false
        }
        b.html5.controller.repeatoptions = {
            LIST: "LIST",
            ALWAYS: "ALWAYS",
            SINGLE: "SINGLE",
            NONE: "NONE"
        };

        function n() {
            y.resetEventListeners();
            y.addGlobalListener(m);
            switch (y.config.repeat.toUpperCase()) {
            case b.html5.controller.repeatoptions.SINGLE:
                p();
                break;
            case b.html5.controller.repeatoptions.ALWAYS:
                if (y.item == y.playlist.length - 1 && !y.config.shuffle) {
                    o(0);
                    p()
                } else {
                    g()
                }
                break;
            case b.html5.controller.repeatoptions.LIST:
                if (y.item == y.playlist.length - 1 && !y.config.shuffle) {
                    o(0)
                } else {
                    g()
                }
                break
            }
        }
        this.play = p;
        this.pause = B;
        this.seek = x;
        this.stop = j;
        this.next = g;
        this.prev = f;
        this.item = o;
        this.setVolume = z;
        this.setMute = l;
        this.resize = h;
        this.setFullscreen = v;
        this.load = C
    }
})(jwplayer);
(function (a) {
    a.html5.defaultSkin = function () {
        this.text = '<?xml version="1.0" ?><skin author="LongTail Video" name="Five" version="1.0"><settings><setting name="backcolor" value="0xFFFFFF"/><setting name="frontcolor" value="0x000000"/><setting name="lightcolor" value="0x000000"/><setting name="screencolor" value="0x000000"/></settings><components><component name="controlbar"><settings><setting name="margin" value="20"/><setting name="fontsize" value="11"/></settings><elements><element name="background" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFJJREFUeNrslLENwAAIwxLU/09j5AiOgD5hVQzNAVY8JK4qEfHMIKBnd2+BQlBINaiRtL/aV2rdzYBsM6CIONbI1NZENTr3RwdB2PlnJgJ6BRgA4hwu5Qg5iswAAAAASUVORK5CYII="/><element name="capLeft" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="capRight" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="divider" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="playButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEhJREFUeNpiYqABYBo1dNRQ+hr6H4jvA3E8NS39j4SpZvh/LJig4YxEGEqy3kET+w+AOGFQRhTJhrEQkGcczfujhg4CQwECDADpTRWU/B3wHQAAAABJRU5ErkJggg=="/><element name="pauseButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAChJREFUeNpiYBgFo2DwA0YC8v/R1P4nRu+ooaOGUtnQUTAKhgIACDAAFCwQCfAJ4gwAAAAASUVORK5CYII="/><element name="prevButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEtJREFUeNpiYBgFo2Dog/9QDAPyQHweTYwiQ/2B+D0Wi8g2tB+JTdBQRiIMJVkvEy0iglhDF9Aq9uOpHVEwoE+NJDUKRsFgAAABBgDe2hqZcNNL0AAAAABJRU5ErkJggg=="/><element name="nextButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAElJREFUeNpiYBgFo2Dog/9AfB6I5dHE/lNqKAi/B2J/ahsKw/3EGMpIhKEk66WJoaR6fz61IyqemhEFSlL61ExSo2AUDAYAEGAAiG4hj+5t7M8AAAAASUVORK5CYII="/><element name="timeSliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADxJREFUeNpiYBgFo2AU0Bwwzluw+D8tLWARFhKiqQ9YuLg4aWsBGxs7bS1gZ6e5BWyjSX0UjIKhDgACDABlYQOGh5pYywAAAABJRU5ErkJggg=="/><element name="timeSliderBuffer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYBgFo2AU0Bww1jc0/aelBSz8/Pw09QELOzs7bS1gY2OjrQWsrKy09gHraFIfBaNgqAOAAAMAvy0DChXHsZMAAAAASUVORK5CYII="/><element name="timeSliderProgress" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiYBgFo2AU0BwwAvF/WlrARGsfjFow8BaMglEwCugAAAIMAOHfAQunR+XzAAAAAElFTkSuQmCC"/><element name="timeSliderThumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAICAYAAAA870V8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABZJREFUeNpiZICA/yCCiQEJUJcDEGAAY0gBD1/m7Q0AAAAASUVORK5CYII="/><element name="muteButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiYBgFIw3MB+L/5Gj8j6yRiRTFyICJXHfTXyMLAXlGati4YDRFDj8AEGAABk8GSqqS4CoAAAAASUVORK5CYII="/><element name="unmuteButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYBgFgxz8p7bm+cQa+h8LHy7GhEcjIz4bmAjYykiun/8j0fakGPIfTfPgiSr6aB4FVAcAAQYAWdwR1G1Wd2gAAAAASUVORK5CYII="/><element name="volumeSliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGpJREFUeNpi/P//PwM9ABMDncCoRYPfIqqDZcuW1UPp/6AUDcNM1DQYKtRAlaAj1mCSLSLXYIIWUctgDItoZfDA5aOoqKhGEANIM9LVR7SymGDQUctikuOIXkFNdhHEOFrDjlpEd4sAAgwAriRMub95fu8AAAAASUVORK5CYII="/><element name="volumeSliderProgress" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFtJREFUeNpi/P//PwM9ABMDncCoRYPfIlqAeij9H5SiYZiqBqPTlFqE02BKLSLaYFItIttgQhZRzWB8FjENiuRJ7aAbsMQwYMl7wDIsWUUQ42gNO2oR3S0CCDAAKhKq6MLLn8oAAAAASUVORK5CYII="/><element name="fullscreenButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE5JREFUeNpiYBgFo2DQA0YC8v/xqP1PjDlMRDrEgUgxkgHIlfZoriVGjmzLsLFHAW2D6D8eA/9Tw7L/BAwgJE90PvhPpNgoGAVDEQAEGAAMdhTyXcPKcAAAAABJRU5ErkJggg=="/><element name="normalscreenButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEZJREFUeNpiYBgFo2DIg/9UUkOUAf8JiFFsyX88fJyAkcQgYMQjNkzBoAgiezyRbE+tFGSPxQJ7auYBmma0UTAKBhgABBgAJAEY6zON61sAAAAASUVORK5CYII="/></elements></component><component name="display"><elements><element name="background" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC"/><element name="playIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg=="/><element name="muteIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNrs1jEOgCAMBVAg7t5/8qaoIy4uoobyXsLCxA+0NCUAAADGUWvdQoQ41x4ixNBB2hBvBskdD3w5ZCkl3+33VqI0kjBBlh9rp+uTcyOP33TnolfsU85XX3yIRpQph8ZQY3wTZtU5AACASA4BBgDHoVuY1/fvOQAAAABJRU5ErkJggg=="/><element name="errorIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWlJREFUeNrsl+1twjAQhsHq/7BBYQLYIBmBDcoGMAIjtBPQTcII2SDtBDBBwrU6pGsUO7YbO470PtKJkz9iH++d4ywWAAAAAABgljRNsyWr2bZzDuJG1rLdZhcMbTjrBCGDyUKsqQLFciJb9bSvuG/WagRVRUVUI6gqy5HVeKWfSgRyJruKIU//TrZTSn2nmlaXThrloi/v9F2STC1W4+Aw5cBzkquRc09bofFNc6YLxEON0VUZS5FPTftO49vMjRsIF3RhOGr7/D/pJw+FKU+q0vDyq8W42jCunDqI3LC5XxNj2wHLU1XjaRnb0Lhykhqhhd8MtSF5J9tbjCv4mXGvKJz/65FF/qJryyaaIvzP2QRxZTX2nTuXjvV/VPFSwyLnW7mpH99yTh1FEVro6JBSd40/pMrRdV8vPtcKl28T2pT8TnFZ4yNosct3Q0io6JfBiz1FlGdqVQH3VHnepAEAAAAAADDzEGAAcTwB10jWgxcAAAAASUVORK5CYII="/><element name="bufferIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuhJREFUeNrsWr9rU1EUznuNGqvFQh1ULOhiBx0KDtIuioO4pJuik3FxFfUPaAV1FTdx0Q5d2g4FFxehTnEpZHFoBy20tCIWtGq0TZP4HfkeHB5N8m6Sl/sa74XDybvv3vvOd8/Pe4lXrVZT3dD8VJc0B8QBcUAcEAfESktHGeR5XtMfqFQq/f92zPe/NbtGlKTdCY30kuxrpMGO94BlQCXs+rbh3ONgA6BlzP1p20d80gEI5hmA2A92Qua1Q2PtAFISM+bvjMG8U+Q7oA3rQGASwrYCU6WpNdLGYbA+Pq5jjXIiwi8EEa2UDbQSaKOIuV+SlkcCrfjY8XTI9EpKGwP0C2kru2hLtHqa4zoXtZRWyvi4CLwv9Opr6Hkn6A9HKgEANsQ1iqC3Ub/vRUk2JgmRkatK36kVrnt0qObunwUdUUMXMWYpakJsO5Am8tAw2GBIgwWA+G2S2dMpiw0gDioQRQJoKhRb1QiDwlHZUABYbaXWsm5ae6loTE4ZDxN4CZar8foVzOJ2iyZ2kWF3t7YIevffaMT5yJ70kQb2fQ1sE5SHr2wazs2wgMxgbsEKEAgxAvZUJbQLBGTSBMgNrncJbA6AljtS/eKDJ0Ez+DmrQEzXS2h1Ck25kAg0IZcUOaydCy4sYnN2fOA+2AP16gNoHALlQ+fwH7XO4CxLenUpgj4xr6ugY2roPMbMx+Xs18m/E8CVEIhxsNeg83XWOAN6grG3lGbk8uE5fr4B/WH3cJw+co/l9nTYsSGYCJ/lY5/qv0thn6nrIWmjeJcPSnWOeY++AkF8tpJHIMAUs/MaBBpj3znZfQo5psY+ZrG4gv5HickjEOymKjEeRpgyST6IuZcTcWbnjcgdPi5ghxciRKsl1lDSsgwA1i8fssonJgzmTSqfGUkCENndNdAL7PS6QQ7ZYISTo+1qq0LEWjTWcvY4isa4z+yfQB+7ooyHVg5RI7/i1Ijn/vnggDggDogD4oC00P4KMACd/juEHOrS4AAAAABJRU5ErkJggg=="/></elements></component><component name="dock"><elements><element name="button" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFBJREFUeNrs0cEJACAQA8Eofu0fu/W6EM5ZSAFDRpKTBs00CQQEBAQEBAQEBAQEBAQEBATkK8iqbY+AgICAgICAgICAgICAgICAgIC86QowAG5PAQzEJ0lKAAAAAElFTkSuQmCC"/></elements></component><component name="playlist"><elements><element name="item" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAIAAAC1nk4lAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNrs2NEJwCAMBcBYuv/CFuIE9VN47WWCR7iocXR3pdWdGPqqwIoMjYfQeAiNh9B4JHc6MHQVHnjggQceeOCBBx77TifyeOY0iHi8DqIdEY8dD5cL094eePzINB5CO/LwcOTptNB4CP25L4TIbZzpU7UEGAA5wz1uF5rF9AAAAABJRU5ErkJggg=="/><element name="sliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA8CAIAAADpFA0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNrsy6ENACAMAMHClp2wYxZLAg5Fcu9e3OjuOKqqfTMzbs14CIZhGIZhGIZhGP4VLwEGAK/BBnVFpB0oAAAAAElFTkSuQmCC"/><element name="sliderThumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA8CAIAAADpFA0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNrsy7ENACAMBLE8++8caFFKKiRffU53112SGs3ttOohGIZhGIZhGIZh+Fe8BRgAiaUGde6NOSEAAAAASUVORK5CYII="/></elements></component></components></skin>';
        this.xml = null;
        if (window.DOMParser) {
            parser = new DOMParser();
            this.xml = parser.parseFromString(this.text, "text/xml")
        } else {
            this.xml = new ActiveXObject("Microsoft.XMLDOM");
            this.xml.async = "false";
            this.xml.loadXML(this.text)
        }
        return this
    }
})(jwplayer);
(function (a) {
    _css = a.utils.css;
    _hide = function (b) {
        _css(b, {
            display: "none"
        })
    };
    _show = function (b) {
        _css(b, {
            display: "block"
        })
    };
    a.html5.display = function (o, z) {
        var r = {
            icons: true
        };
        var j = a.utils.extend({}, r, z);
        var w = o;
        var d = {};
        var f;
        var A;
        var k;
        var x;
        var y;
        var p;
        var i;
        var n = w.skin.getComponentSettings("display").bufferrotation === undefined ? 15 : parseInt(w.skin.getComponentSettings("display").bufferrotation, 10);
        var e = w.skin.getComponentSettings("display").bufferinterval === undefined ? 100 : parseInt(w.skin.getComponentSettings("display").bufferinterval, 10);
        var c = {
            display: {
                style: {
                    cursor: "pointer",
                    top: 0,
                    left: 0,
                    overflow: "hidden"
                },
                click: u
            },
            display_icon: {
                style: {
                    cursor: "pointer",
                    position: "absolute",
                    top: ((w.skin.getSkinElement("display", "background").height - w.skin.getSkinElement("display", "playIcon").height) / 2),
                    left: ((w.skin.getSkinElement("display", "background").width - w.skin.getSkinElement("display", "playIcon").width) / 2),
                    border: 0,
                    margin: 0,
                    padding: 0,
                    zIndex: 3
                }
            },
            display_iconBackground: {
                style: {
                    cursor: "pointer",
                    position: "absolute",
                    top: ((A - w.skin.getSkinElement("display", "background").height) / 2),
                    left: ((f - w.skin.getSkinElement("display", "background").width) / 2),
                    border: 0,
                    backgroundImage: (["url(", w.skin.getSkinElement("display", "background").src, ")"]).join(""),
                    width: w.skin.getSkinElement("display", "background").width,
                    height: w.skin.getSkinElement("display", "background").height,
                    margin: 0,
                    padding: 0,
                    zIndex: 2
                }
            },
            display_image: {
                style: {
                    display: "none",
                    width: f,
                    height: A,
                    position: "absolute",
                    cursor: "pointer",
                    left: 0,
                    top: 0,
                    margin: 0,
                    padding: 0,
                    textDecoration: "none",
                    zIndex: 1
                }
            },
            display_text: {
                style: {
                    zIndex: 4,
                    position: "relative",
                    opacity: 0.8,
                    backgroundColor: parseInt("000000", 16),
                    color: parseInt("ffffff", 16),
                    textAlign: "center",
                    fontFamily: "Arial,sans-serif",
                    padding: "0 5px",
                    fontSize: 14
                }
            }
        };
        w.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, l);
        w.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE, l);
        w.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM, l);
        w.jwAddEventListener(a.api.events.JWPLAYER_ERROR, t);
        B();

        function B() {
            d.display = s("div", "display");
            d.display_text = s("div", "display_text");
            d.display.appendChild(d.display_text);
            d.display_image = s("img", "display_image");
            d.display_image.onerror = function (C) {
                _hide(d.display_image)
            };
            d.display_image.onload = m;
            d.display_icon = s("div", "display_icon");
            d.display_iconBackground = s("div", "display_iconBackground");
            d.display.appendChild(d.display_image);
            d.display_iconBackground.appendChild(d.display_icon);
            d.display.appendChild(d.display_iconBackground);
            b()
        }
        this.getDisplayElement = function () {
            return d.display
        };
        this.resize = function (D, C) {
            f = D;
            A = C;
            _css(d.display, {
                width: D,
                height: C
            });
            _css(d.display_text, {
                width: (D - 10),
                top: ((A - d.display_text.getBoundingClientRect().height) / 2)
            });
            _css(d.display_iconBackground, {
                top: ((A - w.skin.getSkinElement("display", "background").height) / 2),
                left: ((f - w.skin.getSkinElement("display", "background").width) / 2)
            });
            h();
            l({})
        };

        function m(C) {
            k = d.display_image.naturalWidth;
            x = d.display_image.naturalHeight;
            h()
        }
        function h() {
            a.utils.stretch(w.jwGetStretching(), d.display_image, f, A, k, x)
        }
        function s(C, E) {
            var D = document.createElement(C);
            D.id = w.id + "_jwplayer_" + E;
            _css(D, c[E].style);
            return D
        }
        function b() {
            for (var C in d) {
                if (c[C].click !== undefined) {
                    d[C].onclick = c[C].click
                }
            }
        }
        function u(C) {
            if (typeof C.preventDefault != "undefined") {
                C.preventDefault()
            } else {
                C.returnValue = false
            }
            if (w.jwGetState() != a.api.events.state.PLAYING) {
                w.jwPlay()
            } else {
                w.jwPause()
            }
        }
        function g(C) {
            if (i || !j.icons) {
                q();
                return
            }
            _show(d.display_iconBackground);
            d.display_icon.style.backgroundImage = (["url(", w.skin.getSkinElement("display", C).src, ")"]).join("");
            _css(d.display_icon, {
                display: "block",
                width: w.skin.getSkinElement("display", C).width,
                height: w.skin.getSkinElement("display", C).height,
                top: (w.skin.getSkinElement("display", "background").height - w.skin.getSkinElement("display", C).height) / 2,
                left: (w.skin.getSkinElement("display", "background").width - w.skin.getSkinElement("display", C).width) / 2
            });
            if (w.skin.getSkinElement("display", C + "Over") !== undefined) {
                d.display_icon.onmouseover = function (D) {
                    d.display_icon.style.backgroundImage = ["url(", w.skin.getSkinElement("display", C + "Over").src, ")"].join("")
                };
                d.display_icon.onmouseout = function (D) {
                    d.display_icon.style.backgroundImage = ["url(", w.skin.getSkinElement("display", C).src, ")"].join("")
                }
            } else {
                d.display_icon.onmouseover = null;
                d.display_icon.onmouseout = null
            }
        }
        function q() {
            _hide(d.display_icon);
            _hide(d.display_iconBackground)
        }
        function t(C) {
            i = true;
            q();
            d.display_text.innerHTML = C.error;
            _show(d.display_text);
            d.display_text.style.top = ((A - d.display_text.getBoundingClientRect().height) / 2) + "px"
        }
        function v() {
            var C = d.display_image;
            d.display_image = s("img", "display_image");
            d.display_image.onerror = function (D) {
                _hide(d.display_image)
            };
            d.display_image.onload = m;
            d.display.replaceChild(d.display_image, C)
        }
        function l(C) {
            if ((C.type == a.api.events.JWPLAYER_PLAYER_STATE || C.type == a.api.events.JWPLAYER_PLAYLIST_ITEM) && i) {
                i = false;
                _hide(d.display_text)
            }
            if (p !== undefined) {
                clearInterval(p);
                p = null;
                a.utils.animations.rotate(d.display_icon, 0)
            }
            switch (w.jwGetState()) {
            case a.api.events.state.BUFFERING:
                g("bufferIcon");
                y = 0;
                p = setInterval(function () {
                    y += n;
                    a.utils.animations.rotate(d.display_icon, y % 360)
                }, e);
                g("bufferIcon");
                break;
            case a.api.events.state.PAUSED:
                _css(d.display_image, {
                    background: "transparent no-repeat center center"
                });
                g("playIcon");
                break;
            case a.api.events.state.IDLE:
                if (w.jwGetPlaylist()[w.jwGetItem()].image) {
                    _css(d.display_image, {
                        display: "block"
                    });
                    d.display_image.src = a.utils.getAbsolutePath(w.jwGetPlaylist()[w.jwGetItem()].image)
                } else {
                    v()
                }
                g("playIcon");
                break;
            default:
                if (w.jwGetMute()) {
                    v();
                    g("muteIcon")
                } else {
                    v();
                    _hide(d.display_iconBackground);
                    _hide(d.display_icon)
                }
                break
            }
        }
        return this
    }
})(jwplayer);
(function (a) {
    a.html5.dock = function (g, c) {
        function f() {
            return {
                align: a.html5.view.positions.RIGHT
            }
        }
        var k = a.utils.extend({}, f(), c);
        if (k.align == "FALSE") {
            return
        }
        var h = {};
        var b = [];
        var d;
        var e;
        var j = document.createElement("div");
        j.id = g.id + "_jwplayer_dock";
        this.getDisplayElement = function () {
            return j
        };
        this.setButton = function (o, l, m, n) {
            if (!l && h[o]) {
                a.utils.arrays.remove(b, o);
                j.removeChild(h[o].div);
                delete h[o]
            } else {
                if (l) {
                    if (!h[o]) {
                        h[o] = {}
                    }
                    h[o].handler = l;
                    h[o].outGraphic = m;
                    h[o].overGraphic = n;
                    if (!h[o].div) {
                        b.push(o);
                        h[o].div = document.createElement("div");
                        h[o].div.style.position = "relative";
                        j.appendChild(h[o].div);
                        h[o].div.appendChild(document.createElement("img"));
                        h[o].div.childNodes[0].style.position = "absolute";
                        h[o].div.childNodes[0].style.left = 0;
                        h[o].div.childNodes[0].style.top = 0;
                        h[o].div.childNodes[0].style.zIndex = 10;
                        h[o].div.childNodes[0].style.cursor = "pointer";
                        h[o].div.appendChild(document.createElement("img"));
                        h[o].div.childNodes[1].style.position = "absolute";
                        h[o].div.childNodes[1].style.left = 0;
                        h[o].div.childNodes[1].style.top = 0;
                        if (g.skin.getSkinElement("dock", "button")) {
                            h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "button").src
                        }
                        h[o].div.childNodes[1].style.zIndex = 9;
                        h[o].div.childNodes[1].style.cursor = "pointer";
                        h[o].div.onmouseover = function () {
                            if (h[o].overGraphic) {
                                h[o].div.childNodes[0].src = h[o].overGraphic
                            }
                            if (g.skin.getSkinElement("dock", "buttonOver")) {
                                h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "buttonOver").src
                            }
                        };
                        h[o].div.onmouseout = function () {
                            if (h[o].outGraphic) {
                                h[o].div.childNodes[0].src = h[o].outGraphic
                            }
                            if (g.skin.getSkinElement("dock", "button")) {
                                h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "button").src
                            }
                        };
                        if (h[o].overGraphic) {
                            h[o].div.childNodes[0].src = h[o].overGraphic
                        }
                        if (h[o].outGraphic) {
                            h[o].div.childNodes[0].src = h[o].outGraphic
                        }
                        if (g.skin.getSkinElement("dock", "button")) {
                            h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "button").src
                        }
                    }
                    if (l) {
                        h[o].div.onclick = function (p) {
                            p.preventDefault();
                            a(g.id).callback(o);
                            if (h[o].overGraphic) {
                                h[o].div.childNodes[0].src = h[o].overGraphic
                            }
                            if (g.skin.getSkinElement("dock", "button")) {
                                h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "button").src
                            }
                        }
                    }
                }
            }
            i(d, e)
        };

        function i(n, l) {
            d = n;
            e = l;
            if (b.length > 0) {
                var p = 10;
                var r = n - g.skin.getSkinElement("dock", "button").width - p;
                var o = p;
                var q = -1;
                if (k.align == a.html5.view.positions.LEFT) {
                    q = 1;
                    r = p
                }
                for (var m = 0; m < b.length; m++) {
                    var s = Math.floor(o / l);
                    if ((o + g.skin.getSkinElement("dock", "button").height + p) > ((s + 1) * l)) {
                        o = ((s + 1) * l) + p;
                        s = Math.floor(o / l)
                    }
                    h[b[m]].div.style.top = (o % l) + "px";
                    h[b[m]].div.style.left = (r + (g.skin.getSkinElement("dock", "button").width + p) * s * q) + "px";
                    o += g.skin.getSkinElement("dock", "button").height + p
                }
            }
        }
        this.resize = i;
        return this
    }
})(jwplayer);
(function (a) {
    a.html5.eventdispatcher = function (d, b) {
        var c = new a.events.eventdispatcher(b);
        a.utils.extend(this, c);
        this.sendEvent = function (e, f) {
            if (f === undefined) {
                f = {}
            }
            a.utils.extend(f, {
                id: d,
                version: a.version,
                type: e
            });
            c.sendEvent(e, f)
        }
    }
})(jwplayer);
(function (a) {
    var b = {
        prefix: "http://l.longtailvideo.com/html5/",
        file: "logo.png",
        link: "http://www.longtailvideo.com/players/jw-flv-player/",
        margin: 8,
        out: 0.5,
        over: 1,
        timeout: 3,
        hide: true,
        position: "bottom-left"
    };
    _css = a.utils.css;
    a.html5.logo = function (l, m) {
        var r = l;
        var n;
        var i;
        var c;
        j();

        function j() {
            p();
            d();
            f()
        }
        function p() {
            if (b.prefix) {
                var t = l.version.split(/\W/).splice(0, 2).join("/");
                if (b.prefix.indexOf(t) < 0) {
                    b.prefix += t + "/"
                }
            }
            if (m.position == a.html5.view.positions.OVER) {
                m.position = b.position
            }
            i = a.utils.extend({}, b)
        }
        function d() {
            c = document.createElement("img");
            c.id = r.id + "_jwplayer_logo";
            c.style.display = "none";
            c.onload = function (t) {
                _css(c, q());
                r.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, s);
                e()
            };
            if (!i.file) {
                return
            }
            if (i.file.indexOf("http://") === 0) {
                c.src = i.file
            } else {
                c.src = i.prefix + i.file
            }
        }
        if (!i.file) {
            return
        }
        this.resize = function (u, t) {};
        this.getDisplayElement = function () {
            return c
        };

        function f() {
            if (i.link) {
                c.onmouseover = h;
                c.onmouseout = e;
                c.onclick = o
            } else {
                this.mouseEnabled = false
            }
        }
        function o(t) {
            if (typeof t != "undefined") {
                t.stopPropagation()
            }
            r.jwPause();
            r.jwSetFullscreen(false);
            if (i.link) {
                window.open(i.link, "_blank")
            }
            return
        }
        function e(t) {
            if (i.link) {
                c.style.opacity = i.out
            }
            return
        }
        function h(t) {
            if (i.hide) {
                c.style.opacity = i.over
            }
            return
        }
        function q() {
            var v = {
                textDecoration: "none",
                position: "absolute",
                cursor: "pointer"
            };
            v.display = i.hide ? "none" : "block";
            var u = i.position.toLowerCase().split("-");
            for (var t in u) {
                v[u[t]] = i.margin
            }
            return v
        }
        function k() {
            if (i.hide) {
                c.style.display = "block";
                c.style.opacity = 0;
                a.utils.fadeTo(c, i.out, 0.1, parseFloat(c.style.opacity));
                n = setTimeout(function () {
                    g()
                }, i.timeout * 1000)
            }
        }
        function g() {
            if (i.hide) {
                a.utils.fadeTo(c, 0, 0.1, parseFloat(c.style.opacity))
            }
        }
        function s(t) {
            if (t.newstate == a.api.events.state.BUFFERING) {
                clearTimeout(n);
                k()
            }
        }
        return this
    }
})(jwplayer);
(function (a) {
    var c = {
        ended: a.api.events.state.IDLE,
        playing: a.api.events.state.PLAYING,
        pause: a.api.events.state.PAUSED,
        buffering: a.api.events.state.BUFFERING
    };
    var b = a.utils.css;
    a.html5.mediavideo = function (f, D) {
        var H = {
            abort: t,
            canplay: m,
            canplaythrough: m,
            durationchange: q,
            emptied: t,
            ended: m,
            error: l,
            loadeddata: q,
            loadedmetadata: q,
            loadstart: m,
            pause: m,
            play: K,
            playing: m,
            progress: A,
            ratechange: t,
            seeked: m,
            seeking: m,
            stalled: m,
            suspend: m,
            timeupdate: K,
            volumechange: t,
            waiting: m,
            canshowcurrentframe: t,
            dataunavailable: t,
            empty: t,
            load: e,
            loadedfirstframe: t
        };
        var I = new a.html5.eventdispatcher();
        a.utils.extend(this, I);
        var h = f;
        var x = D;
        var E;
        var G;
        var d = a.api.events.state.IDLE;
        var B = null;
        var n;
        var g = 0;
        var z = false;
        var r = false;
        var M;
        var L;
        var i = [];
        var N;
        var C = false;

        function v() {
            return d
        }
        function e(O) {}
        function t(O) {}
        function m(O) {
            if (c[O.type]) {
                s(c[O.type])
            }
        }
        function s(O) {
            if (C) {
                return
            }
            if (n) {
                O = a.api.events.state.IDLE
            }
            if (O == a.api.events.state.PAUSED && d == a.api.events.state.IDLE) {
                return
            }
            if (O == a.api.events.state.PLAYING && d == a.api.events.state.IDLE) {
                s(a.api.events.state.BUFFERING);
                I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
                    bufferPercent: h.buffer
                });
                y();
                return
            }
            if (d != O) {
                var P = d;
                h.state = O;
                d = O;
                var Q = false;
                if (O == a.api.events.state.IDLE) {
                    p();
                    if (h.position >= h.duration && (h.position || h.duration)) {
                        Q = true
                    }
                    if (x.style.display != "none" && !h.config.chromeless) {
                        x.style.display = "none"
                    }
                }
                I.sendEvent(a.api.events.JWPLAYER_PLAYER_STATE, {
                    oldstate: P,
                    newstate: O
                });
                if (Q) {
                    I.sendEvent(a.api.events.JWPLAYER_MEDIA_COMPLETE)
                }
            }
            n = false
        }
        function q(O) {
            var P = {
                height: O.target.videoHeight,
                width: O.target.videoWidth,
                duration: Math.round(O.target.duration * 10) / 10
            };
            if (h.duration === 0 || isNaN(h.duration)) {
                h.duration = Math.round(O.target.duration * 10) / 10
            }
            h.playlist[h.item] = a.utils.extend(h.playlist[h.item], P);
            I.sendEvent(a.api.events.JWPLAYER_MEDIA_META, {
                metadata: P
            })
        }
        function K(P) {
            if (n) {
                return
            }
            if (P !== undefined && P.target !== undefined) {
                if (h.duration === 0 || isNaN(h.duration)) {
                    h.duration = Math.round(P.target.duration * 10) / 10
                }
                if (!z && x.readyState > 0) {
                    s(a.api.events.state.PLAYING)
                }
                if (d == a.api.events.state.PLAYING) {
                    if (!z && x.readyState > 0) {
                        z = true;
                        try {
                            x.currentTime = h.playlist[h.item].start
                        } catch (O) {}
                        x.volume = h.volume / 100;
                        x.muted = h.mute
                    }
                    h.position = Math.round(P.target.currentTime * 10) / 10;
                    I.sendEvent(a.api.events.JWPLAYER_MEDIA_TIME, {
                        position: P.target.currentTime,
                        duration: P.target.duration
                    })
                }
            }
            A(P)
        }
        function y() {
            if (E === false && d == a.api.events.state.BUFFERING) {
                I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER_FULL);
                E = true
            }
        }
        function F() {
            var O = (i[i.length - 1] - i[0]) / i.length;
            N = setTimeout(function () {
                if (!G) {
                    A({
                        lengthComputable: true,
                        loaded: 1,
                        total: 1
                    })
                }
            }, O * 10)
        }
        function A(Q) {
            var P, O;
            if (Q !== undefined && Q.lengthComputable && Q.total) {
                o();
                P = Q.loaded / Q.total * 100;
                O = P / 100 * (h.duration - x.currentTime);
                if (50 < P && !G) {
                    clearTimeout(N);
                    F()
                }
            } else {
                if ((x.buffered !== undefined) && (x.buffered.length > 0)) {
                    maxBufferIndex = 0;
                    if (maxBufferIndex >= 0) {
                        P = x.buffered.end(maxBufferIndex) / x.duration * 100;
                        O = x.buffered.end(maxBufferIndex) - x.currentTime
                    }
                }
            }
            y();
            if (!G) {
                if (P == 100 && G === false) {
                    G = true
                }
                if (P !== null && (P > h.buffer)) {
                    h.buffer = Math.round(P);
                    I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
                        bufferPercent: Math.round(P)
                    })
                }
            }
        }
        function w() {
            if (B === null) {
                B = setInterval(function () {
                    K()
                }, 100)
            }
        }
        function p() {
            clearInterval(B);
            B = null
        }
        function l(Q) {
            var P = "There was an error: ";
            if ((Q.target.error && Q.target.tagName.toLowerCase() == "video") || Q.target.parentNode.error && Q.target.parentNode.tagName.toLowerCase() == "video") {
                var O = Q.target.error === undefined ? Q.target.parentNode.error : Q.target.error;
                switch (O.code) {
                case O.MEDIA_ERR_ABORTED:
                    P = "You aborted the video playback: ";
                    break;
                case O.MEDIA_ERR_NETWORK:
                    P = "A network error caused the video download to fail part-way: ";
                    break;
                case O.MEDIA_ERR_DECODE:
                    P = "The video playback was aborted due to a corruption problem or because the video used features your browser did not support: ";
                    break;
                case O.MEDIA_ERR_SRC_NOT_SUPPORTED:
                    P = "The video could not be loaded, either because the server or network failed or because the format is not supported: ";
                    break;
                default:
                    P = "An unknown error occurred: ";
                    break
                }
            } else {
                if (Q.target.tagName.toLowerCase() == "source") {
                    L--;
                    if (L > 0) {
                        return
                    }
                    P = "The video could not be loaded, either because the server or network failed or because the format is not supported: "
                } else {
                    a.utils.log("Erroneous error received. Continuing...");
                    return
                }
            }
            u();
            P += j();
            C = true;
            I.sendEvent(a.api.events.JWPLAYER_ERROR, {
                error: P
            });
            return
        }
        function j() {
            var Q = "";
            for (var P in M.levels) {
                var O = M.levels[P];
                var R = x.ownerDocument.createElement("source");
                Q += a.utils.getAbsolutePath(O.file);
                if (P < (M.levels.length - 1)) {
                    Q += ", "
                }
            }
            return Q
        }
        this.getDisplayElement = function () {
            return x
        };
        this.play = function () {
            if (d != a.api.events.state.PLAYING) {
                if (x.style.display != "block") {
                    x.style.display = "block"
                }
                x.play();
                w();
                if (E) {
                    s(a.api.events.state.PLAYING)
                }
            }
        };
        this.pause = function () {
            x.pause();
            s(a.api.events.state.PAUSED)
        };
        this.seek = function (O) {
            if (!(h.duration === 0 || isNaN(h.duration)) && !(h.position === 0 || isNaN(h.position))) {
                x.currentTime = O;
                x.play()
            }
        };

        function u() {
            x.pause();
            p();
            h.position = 0;
            n = true;
            s(a.api.events.state.IDLE)
        }
        this.stop = u;
        this.volume = function (O) {
            x.volume = O / 100;
            h.volume = O;
            I.sendEvent(a.api.events.JWPLAYER_MEDIA_VOLUME, {
                volume: Math.round(O)
            })
        };
        this.mute = function (O) {
            x.muted = O;
            h.mute = O;
            I.sendEvent(a.api.events.JWPLAYER_MEDIA_MUTE, {
                mute: O
            })
        };
        this.resize = function (P, O) {
            if (false) {
                b(x, {
                    width: P,
                    height: O
                })
            }
            I.sendEvent(a.api.events.JWPLAYER_MEDIA_RESIZE, {
                fullscreen: h.fullscreen,
                width: P,
                hieght: O
            })
        };
        this.fullscreen = function (O) {
            if (O === true) {
                this.resize("100%", "100%")
            } else {
                this.resize(h.config.width, h.config.height)
            }
        };
        this.load = function (O) {
            J(O);
            I.sendEvent(a.api.events.JWPLAYER_MEDIA_LOADED);
            E = false;
            G = false;
            z = false;
            if (!h.config.chromeless && !r) {
                i = [];
                o();
                s(a.api.events.state.BUFFERING);
                setTimeout(function () {
                    K()
                }, 25)
            }
        };

        function o() {
            var O = new Date().getTime();
            i.push(O)
        }
        this.hasChrome = function () {
            return r
        };

        function J(V) {
            h.duration = V.duration;
            r = false;
            M = V;
            var Q = document.createElement("video");
            Q.preload = "none";
            C = false;
            L = 0;
            for (var P = 0; P < V.levels.length; P++) {
                var O = V.levels[P];
                if (a.utils.isYouTube(O.file)) {
                    delete Q;
                    k(O.file);
                    return
                }
                var R;
                if (O.type === undefined) {
                    var U = a.utils.extension(O.file);
                    if (a.utils.extensionmap[U] !== undefined && a.utils.extensionmap[U].html5 !== undefined) {
                        R = a.utils.extensionmap[U].html5
                    }
                } else {
                    R = O.type
                }
                if (!R || Q.canPlayType(R)) {
                    var T = x.ownerDocument.createElement("source");
                    T.src = a.utils.getAbsolutePath(O.file);
                    if (R && !a.utils.isLegacyAndroid()) {
                        T.type = R
                    }
                    L++;
                    Q.appendChild(T)
                }
            }
            if (L === 0) {
                C = true;
                I.sendEvent(a.api.events.JWPLAYER_ERROR, {
                    error: "The video could not be loaded because the format is not supported by your browser: " + j()
                })
            }
            if (h.config.chromeless) {
                Q.poster = a.utils.getAbsolutePath(V.image);
                Q.controls = "controls"
            }
            Q.style.top = x.style.top;
            Q.style.left = x.style.left;
            Q.style.width = x.style.width;
            Q.style.height = x.style.height;
            Q.style.zIndex = x.style.zIndex;
            Q.onload = e;
            Q.volume = 0;
            x.parentNode.replaceChild(Q, x);
            Q.id = x.id;
            x = Q;
            for (var S in H) {
                x.addEventListener(S, function (W) {
                    if (W.target.parentNode !== null) {
                        H[W.type](W)
                    }
                }, true)
            }
        }
        function k(S) {
            var P = document.createElement("object");
            S = ["http://www.youtube.com/v/", S.replace(/^[^v]+v.(.{11}).*/, "$1"), "&amp;hl=en_US&amp;fs=1&autoplay=1"].join("");
            var V = {
                movie: S,
                allowFullScreen: "true",
                allowscriptaccess: "always"
            };
            for (var O in V) {
                var T = document.createElement("param");
                T.name = O;
                T.value = V[O];
                P.appendChild(T)
            }
            var U = document.createElement("embed");
            var Q = {
                src: S,
                type: "application/x-shockwave-flash",
                allowscriptaccess: "always",
                allowfullscreen: "true",
                width: document.getElementById(f.id).style.width,
                height: document.getElementById(f.id).style.height
            };
            for (var R in Q) {
                U[R] = Q[R]
            }
            P.appendChild(U);
            P.style.position = x.style.position;
            P.style.top = x.style.top;
            P.style.left = x.style.left;
            P.style.width = document.getElementById(f.id).style.width;
            P.style.height = document.getElementById(f.id).style.height;
            P.style.zIndex = 2147483000;
            x.parentNode.replaceChild(P, x);
            P.id = x.id;
            x = P;
            r = true
        }
        this.embed = J;
        return this
    }
})(jwplayer);
(function (jwplayer) {
    var _configurableStateVariables = ["width", "height", "start", "duration", "volume", "mute", "fullscreen", "item", "plugins", "stretching"];
    jwplayer.html5.model = function (api, container, options) {
        var _api = api;
        var _container = container;
        var _model = {
            id: _container.id,
            playlist: [],
            state: jwplayer.api.events.state.IDLE,
            position: 0,
            buffer: 0,
            config: {
                width: 480,
                height: 320,
                item: -1,
                skin: undefined,
                file: undefined,
                image: undefined,
                start: 0,
                duration: 0,
                bufferlength: 5,
                volume: 90,
                mute: false,
                fullscreen: false,
                repeat: "none",
                stretching: jwplayer.utils.stretching.UNIFORM,
                autostart: false,
                debug: undefined,
                screencolor: undefined
            }
        };
        var _media;
        var _eventDispatcher = new jwplayer.html5.eventdispatcher();
        var _components = ["display", "logo", "controlbar", "dock"];
        jwplayer.utils.extend(_model, _eventDispatcher);
        for (var option in options) {
            if (typeof options[option] == "string") {
                var type = /color$/.test(option) ? "color" : null;
                options[option] = jwplayer.utils.typechecker(options[option], type)
            }
            var config = _model.config;
            var path = option.split(".");
            for (var edge in path) {
                if (edge == path.length - 1) {
                    config[path[edge]] = options[option]
                } else {
                    if (config[path[edge]] === undefined) {
                        config[path[edge]] = {}
                    }
                    config = config[path[edge]]
                }
            }
        }
        for (var index in _configurableStateVariables) {
            var configurableStateVariable = _configurableStateVariables[index];
            _model[configurableStateVariable] = _model.config[configurableStateVariable]
        }
        var pluginorder = _components.concat([]);
        if (_model.plugins !== undefined) {
            if (typeof _model.plugins == "string") {
                var userplugins = _model.plugins.split(",");
                for (var userplugin in userplugins) {
                    if (typeof userplugins[userplugin] == "string") {
                        pluginorder.push(userplugins[userplugin].replace(/^\s+|\s+$/g, ""))
                    }
                }
            }
        }
        if (typeof _model.config.chromeless == "undefined" && jwplayer.utils.isIOS()) {
            _model.config.chromeless = true
        }
        if (_model.config.chromeless) {
            pluginorder = ["logo"]
        }
        _model.plugins = {
            order: pluginorder,
            config: {},
            object: {}
        };
        if (typeof _model.config.components != "undefined") {
            for (var component in _model.config.components) {
                _model.plugins.config[component] = _model.config.components[component]
            }
        }
        for (var pluginIndex in _model.plugins.order) {
            var pluginName = _model.plugins.order[pluginIndex];
            var pluginConfig = _model.config[pluginName] === undefined ? {} : _model.config[pluginName];
            _model.plugins.config[pluginName] = _model.plugins.config[pluginName] === undefined ? pluginConfig : jwplayer.utils.extend(_model.plugins.config[pluginName], pluginConfig);
            if (typeof _model.plugins.config[pluginName].position == "undefined") {
                _model.plugins.config[pluginName].position = jwplayer.html5.view.positions.OVER
            } else {
                _model.plugins.config[pluginName].position = _model.plugins.config[pluginName].position.toString().toUpperCase()
            }
        }
        if (typeof _model.plugins.config.dock != "undefined") {
            if (typeof _model.plugins.config.dock != "object") {
                var position = _model.plugins.config.dock.toString().toUpperCase();
                _model.plugins.config.dock = {
                    position: position
                }
            }
            if (typeof _model.plugins.config.dock.position != "undefined") {
                _model.plugins.config.dock.align = _model.plugins.config.dock.position;
                _model.plugins.config.dock.position = jwplayer.html5.view.positions.OVER
            }
        }
        _model.loadPlaylist = function (arg, ready) {
            var input;
            if (typeof arg == "string") {
                try {
                    input = eval(arg)
                } catch (err) {
                    input = arg
                }
            } else {
                input = arg
            }
            var config;
            switch (jwplayer.utils.typeOf(input)) {
            case "object":
                config = input;
                break;
            case "array":
                config = {
                    playlist: input
                };
                break;
            default:
                config = {
                    file: input
                };
                break
            }
            _model.playlist = new jwplayer.html5.playlist(config);
            if (_model.config.shuffle) {
                _model.item = _getShuffleItem()
            } else {
                if (_model.config.item >= _model.playlist.length) {
                    _model.config.item = _model.playlist.length - 1
                } else {
                    if (_model.config.item < 0) {
                        _model.config.item = 0
                    }
                }
                _model.item = _model.config.item
            }
            if (!ready) {
                _eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_PLAYLIST_LOADED, {
                    playlist: _model.playlist
                })
            }
            _model.setActiveMediaProvider(_model.playlist[_model.item])
        };

        function _getShuffleItem() {
            var result = null;
            if (_model.playlist.length > 1) {
                while (result === null) {
                    result = Math.floor(Math.random() * _model.playlist.length);
                    if (result == _model.item) {
                        result = null
                    }
                }
            } else {
                result = 0
            }
            return result
        }
        function forward(evt) {
            if (evt.type == jwplayer.api.events.JWPLAYER_MEDIA_LOADED) {
                _container = _media.getDisplayElement()
            }
            _eventDispatcher.sendEvent(evt.type, evt)
        }
        _model.setActiveMediaProvider = function (playlistItem) {
            if (_media !== undefined) {
                _media.resetEventListeners()
            }
            _media = new jwplayer.html5.mediavideo(_model, _container);
            _media.addGlobalListener(forward);
            if (_model.config.chromeless) {
                _media.load(playlistItem)
            }
            return true
        };
        _model.getMedia = function () {
            return _media
        };
        _model.setupPlugins = function () {
            for (var plugin in _model.plugins.order) {
                try {
                    var pluginName = _model.plugins.order[plugin];
                    if (jwplayer.html5[pluginName] !== undefined) {
                        _model.plugins.object[pluginName] = new jwplayer.html5[pluginName](_api, _model.plugins.config[pluginName])
                    } else {
                        _model.plugins.order.splice(plugin, plugin + 1)
                    }
                } catch (err) {
                    jwplayer.utils.log("Could not setup " + pluginName)
                }
            }
        };
        return _model
    }
})(jwplayer);
(function (a) {
    a.html5.playlist = function (b) {
        var d = [];
        if (b.playlist && b.playlist instanceof Array && b.playlist.length > 0) {
            for (var c in b.playlist) {
                if (!isNaN(parseInt(c))) {
                    d.push(new a.html5.playlistitem(b.playlist[c]))
                }
            }
        } else {
            d.push(new a.html5.playlistitem(b))
        }
        return d
    }
})(jwplayer);
(function (a) {
    a.html5.playlistitem = function (c) {
        var b = {
            author: "",
            date: "",
            description: "",
            image: "",
            link: "",
            mediaid: "",
            tags: "",
            title: "",
            provider: "",
            file: "",
            streamer: "",
            duration: -1,
            start: 0,
            currentLevel: -1,
            levels: []
        };
        for (var d in b) {
            if (c[d] !== undefined) {
                b[d] = c[d]
            }
        }
        if (b.levels.length === 0) {
            b.levels[0] = new a.html5.playlistitemlevel(b)
        }
        return b
    }
})(jwplayer);
(function (a) {
    a.html5.playlistitemlevel = function (b) {
        var d = {
            file: "",
            streamer: "",
            bitrate: 0,
            width: 0
        };
        for (var c in d) {
            if (b[c] !== undefined) {
                d[c] = b[c]
            }
        }
        return d
    }
})(jwplayer);
(function (a) {
    a.html5.skin = function () {
        var b = {};
        var c = false;
        this.load = function (d, e) {
            new a.html5.skinloader(d, function (f) {
                c = true;
                b = f;
                e()
            }, function () {
                new a.html5.skinloader("", function (f) {
                    c = true;
                    b = f;
                    e()
                })
            })
        };
        this.getSkinElement = function (d, e) {
            if (c) {
                try {
                    return b[d].elements[e]
                } catch (f) {
                    a.utils.log("No such skin component / element: ", [d, e])
                }
            }
            return null
        };
        this.getComponentSettings = function (d) {
            if (c) {
                return b[d].settings
            }
            return null
        };
        this.getComponentLayout = function (d) {
            if (c) {
                return b[d].layout
            }
            return null
        }
    }
})(jwplayer);
(function (a) {
    a.html5.skinloader = function (f, n, i) {
        var m = {};
        var c = n;
        var j = i;
        var e = true;
        var h;
        var l = f;
        var q = false;

        function k() {
            if (typeof l != "string" || l === "") {
                d(a.html5.defaultSkin().xml)
            } else {
                a.utils.ajax(a.utils.getAbsolutePath(l), function (r) {
                    try {
                        if (r.responseXML !== null) {
                            d(r.responseXML);
                            return
                        }
                    } catch (s) {}
                    d(a.html5.defaultSkin().xml)
                }, function (r) {
                    d(a.html5.defaultSkin().xml)
                })
            }
        }
        function d(w) {
            var C = w.getElementsByTagName("component");
            if (C.length === 0) {
                return
            }
            for (var F = 0; F < C.length; F++) {
                var A = C[F].getAttribute("name");
                var z = {
                    settings: {},
                    elements: {},
                    layout: {}
                };
                m[A] = z;
                var E = C[F].getElementsByTagName("elements")[0].getElementsByTagName("element");
                for (var D = 0; D < E.length; D++) {
                    b(E[D], A)
                }
                var x = C[F].getElementsByTagName("settings")[0];
                if (x !== undefined && x.childNodes.length > 0) {
                    var I = x.getElementsByTagName("setting");
                    for (var N = 0; N < I.length; N++) {
                        var O = I[N].getAttribute("name");
                        var G = I[N].getAttribute("value");
                        var v = /color$/.test(O) ? "color" : null;
                        m[A].settings[O] = a.utils.typechecker(G, v)
                    }
                }
                var J = C[F].getElementsByTagName("layout")[0];
                if (J !== undefined && J.childNodes.length > 0) {
                    var K = J.getElementsByTagName("group");
                    for (var u = 0; u < K.length; u++) {
                        var y = K[u];
                        m[A].layout[y.getAttribute("position")] = {
                            elements: []
                        };
                        for (var M = 0; M < y.attributes.length; M++) {
                            var B = y.attributes[M];
                            m[A].layout[y.getAttribute("position")][B.name] = B.value
                        }
                        var L = y.getElementsByTagName("*");
                        for (var t = 0; t < L.length; t++) {
                            var r = L[t];
                            m[A].layout[y.getAttribute("position")].elements.push({
                                type: r.tagName
                            });
                            for (var s = 0; s < r.attributes.length; s++) {
                                var H = r.attributes[s];
                                m[A].layout[y.getAttribute("position")].elements[t][H.name] = H.value
                            }
                            if (m[A].layout[y.getAttribute("position")].elements[t].name === undefined) {
                                m[A].layout[y.getAttribute("position")].elements[t].name = r.tagName
                            }
                        }
                    }
                }
                e = false;
                p()
            }
        }
        function p() {
            clearInterval(h);
            if (!q) {
                h = setInterval(function () {
                    o()
                }, 100)
            }
        }
        function b(w, v) {
            var u = new Image();
            var r = w.getAttribute("name");
            var t = w.getAttribute("src");
            var y;
            if (t.indexOf("data:image/png;base64,") === 0) {
                y = t
            } else {
                var s = a.utils.getAbsolutePath(l);
                var x = s.substr(0, s.lastIndexOf("/"));
                y = [x, v, t].join("/")
            }
            m[v].elements[r] = {
                height: 0,
                width: 0,
                src: "",
                ready: false
            };
            u.onload = function (z) {
                g(u, r, v)
            };
            u.onerror = function (z) {
                q = true;
                p();
                j()
            };
            u.src = y
        }
        function o() {
            for (var r in m) {
                if (r != "properties") {
                    for (var s in m[r].elements) {
                        if (!m[r].elements[s].ready) {
                            return
                        }
                    }
                }
            }
            if (e === false) {
                clearInterval(h);
                c(m)
            }
        }
        function g(r, t, s) {
            m[s].elements[t].height = r.height;
            m[s].elements[t].width = r.width;
            m[s].elements[t].src = r.src;
            m[s].elements[t].ready = true;
            p()
        }
        k()
    }
})(jwplayer);
(function (a) {
    a.html5.api = function (b, k) {
        var j = {};
        var e = document.createElement("div");
        b.parentNode.replaceChild(e, b);
        e.id = b.id;
        j.version = a.version;
        j.id = e.id;
        var i = new a.html5.model(j, e, k);
        var g = new a.html5.view(j, e, i);
        var h = new a.html5.controller(j, e, i, g);
        j.skin = new a.html5.skin();
        j.jwPlay = function (l) {
            if (typeof l == "undefined") {
                d()
            } else {
                if (l.toString().toLowerCase() == "true") {
                    h.play()
                } else {
                    h.pause()
                }
            }
        };
        j.jwPause = function (l) {
            if (typeof l == "undefined") {
                d()
            } else {
                if (l.toString().toLowerCase() == "true") {
                    h.pause()
                } else {
                    h.play()
                }
            }
        };

        function d() {
            if (i.state == a.api.events.state.PLAYING || i.state == a.api.events.state.BUFFERING) {
                h.pause()
            } else {
                h.play()
            }
        }
        j.jwStop = h.stop;
        j.jwSeek = h.seek;
        j.jwPlaylistItem = h.item;
        j.jwPlaylistNext = h.next;
        j.jwPlaylistPrev = h.prev;
        j.jwResize = h.resize;
        j.jwLoad = h.load;

        function f(l) {
            return function () {
                return i[l]
            }
        }
        j.jwGetItem = f("item");
        j.jwGetPosition = f("position");
        j.jwGetDuration = f("duration");
        j.jwGetBuffer = f("buffer");
        j.jwGetWidth = f("width");
        j.jwGetHeight = f("height");
        j.jwGetFullscreen = f("fullscreen");
        j.jwSetFullscreen = h.setFullscreen;
        j.jwGetVolume = f("volume");
        j.jwSetVolume = h.setVolume;
        j.jwGetMute = f("mute");
        j.jwSetMute = h.setMute;
        j.jwGetStretching = f("stretching");
        j.jwGetState = f("state");
        j.jwGetVersion = function () {
            return j.version
        };
        j.jwGetPlaylist = function () {
            return i.playlist
        };
        j.jwAddEventListener = h.addEventListener;
        j.jwRemoveEventListener = h.removeEventListener;
        j.jwSendEvent = h.sendEvent;
        j.jwDockSetButton = function (o, l, m, n) {
            if (i.plugins.object.dock && i.plugins.object.dock.setButton) {
                i.plugins.object.dock.setButton(o, l, m, n)
            }
        };
        j.jwGetLevel = function () {};
        j.jwGetBandwidth = function () {};
        j.jwGetLockState = function () {};
        j.jwLock = function () {};
        j.jwUnlock = function () {};

        function c(n, m, l) {
            return function () {
                n.loadPlaylist(n.config, true);
                n.setupPlugins();
                m.setup(n.getMedia().getDisplayElement());
                var o = {
                    id: j.id,
                    version: j.version
                };
                l.sendEvent(a.api.events.JWPLAYER_READY, o);
                if (playerReady !== undefined) {
                    playerReady(o)
                }
                if (window[n.config.playerReady] !== undefined) {
                    window[n.config.playerReady](o)
                }
                n.sendEvent(a.api.events.JWPLAYER_PLAYLIST_LOADED, {
                    playlist: n.playlist
                });
                l.item(n.item)
            }
        }
        if (i.config.chromeless) {
            setTimeout(c(i, g, h), 25)
        } else {
            j.skin.load(i.config.skin, c(i, g, h))
        }
        return j
    }
})(jwplayer);
