(function(b, a, c) {
    var d = b();
    b.fn.dropdownHover = function(e) {
        if ("ontouchstart" in document) { return this }
        d = d.add(this.parent());
        return this.each(function() {
            var m = b(this),
                l = m.parent(),
                k = { delay: 500, instantlyCloseOthers: true },
                i = { delay: b(this).data("delay"), instantlyCloseOthers: b(this).data("close-others") },
                f = "show.bs.dropdown",
                j = "hide.bs.dropdown",
                g = b.extend(true, {}, k, e, i),
                h;
            l.hover(function(n) {
                if (!l.hasClass("open") && !m.is(n.target)) { return true }
                d.find(":focus").blur();
                if (g.instantlyCloseOthers === true) { d.removeClass("open") }
                a.clearTimeout(h);
                l.addClass("open");
                m.trigger(f)
            }, function() {
                h = a.setTimeout(function() {
                    l.removeClass("open");
                    m.trigger(j)
                }, g.delay)
            });
            m.hover(function() {
                d.find(":focus").blur();
                if (g.instantlyCloseOthers === true) { d.removeClass("open") }
                a.clearTimeout(h);
                l.addClass("open");
                m.trigger(f)
            });
            l.find(".dropdown-submenu").each(function() {
                var o = b(this);
                var n;
                o.hover(function() {
                    a.clearTimeout(n);
                    o.children(".dropdown-menu").show();
                    o.siblings().children(".dropdown-menu").hide()
                }, function() {
                    var p = o.children(".dropdown-menu");
                    n = a.setTimeout(function() { p.hide() }, g.delay)
                })
            })
        })
    };
    b(document).ready(function() { b('[data-hover="dropdown"]').dropdownHover() })
})(jQuery, this);