/* Bootstrap util.js v4.3.1 (https://getbootstrap.com/) Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function(b,c){"object"===typeof exports&&"undefined"!==typeof module?module.exports=c(require("jquery")):"function"===typeof define&&define.amd?define(["jquery"],c):(b=b||self,b.Util=c(b.jQuery))})(this,function(b){b=b&&b.hasOwnProperty("default")?b["default"]:b;var c={TRANSITION_END:"bsTransitionEnd",getUID:function(a){do a+=~~(1E6*Math.random());while(document.getElementById(a));return a},getSelectorFromElement:function(a){var b=a.getAttribute("data-target");b&&"#"!==b||(b=(a=a.getAttribute("href"))&& "#"!==a?a.trim():"");try{return document.querySelector(b)?b:null}catch(d){return null}},getTransitionDurationFromElement:function(a){if(!a)return 0;var c=b(a).css("transition-duration");a=b(a).css("transition-delay");var d=parseFloat(c),e=parseFloat(a);if(!d&&!e)return 0;c=c.split(",")[0];a=a.split(",")[0];return 1E3*(parseFloat(c)+parseFloat(a))},reflow:function(a){return a.offsetHeight},triggerTransitionEnd:function(a){b(a).trigger("transitionend")},supportsTransitionEnd:function(){return!0},isElement:function(a){return(a[0]|| a).nodeType},typeCheckConfig:function(a,b,d){for(var e in d)if(Object.prototype.hasOwnProperty.call(d,e)){var g=d[e],f=b[e];f=f&&c.isElement(f)?"element":{}.toString.call(f).match(/\s([a-z]+)/i)[1].toLowerCase();if(!(new RegExp(g)).test(f))throw Error(a.toUpperCase()+": "+('Option "'+e+'" provided type "'+f+'" ')+('but expected type "'+g+'".'));}},findShadowRoot:function(a){return document.documentElement.attachShadow?"function"===typeof a.getRootNode?(a=a.getRootNode(),a instanceof ShadowRoot?a: null):a instanceof ShadowRoot?a:a.parentNode?c.findShadowRoot(a.parentNode):null:null}};b.fn.emulateTransitionEnd=function(a){var h=this,d=!1;b(this).one(c.TRANSITION_END,function(){d=!0});setTimeout(function(){d||c.triggerTransitionEnd(h)},a);return this};b.event.special[c.TRANSITION_END]=function(){return{bindType:"transitionend",delegateType:"transitionend",handle:function(a){if(b(a.target).is(this))return a.handleObj.handler.apply(this,arguments)}}}();return c});