vendor: 23,453 bytes, line 1
1!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(x,e){"use strict";var t=[],T=x.document,i=Object.getPrototypeOf,a=t.slice,g=t.concat,l=t.push,r=t.indexOf,n={},o=n.toString,m=n.hasOwnProperty,s=m.toString,u=s.call(Object),v={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},_=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,noModule:!0};function b(e,t,n){var i,r=(t=t||T).createElement("script");if(r.text=e,n)for(i in c)n[i]&&(r[i]=n[i]);t.head.appendChild(r).parentNode.removeChild(r)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.3.1",C=function(e,t){return new C.fn.init(e,t)},d=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function h(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!y(e)&&!_(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}C.fn=C.prototype={jquery:f,constructor:C,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=C.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return C.each(this,e)},map:function(n){return this.pushStack(C.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:l,sort:t.sort,splice:t.splice},C.extend=C.fn.extend=function(){var e,t,n,i,r,o,s=arguments[0]||{},a=1,l=arguments.length,u=!1;for("boolean"==typeof s&&(u=s,s=arguments[a]||{},a++),"object"==typeof s||y(s)||(s={}),a===l&&(s=this,a--);a<l;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],s!==(i=e[t])&&(u&&i&&(C.isPlainObject(i)||(r=Array.isArray(i)))?(r?(r=!1,o=n&&Array.isArray(n)?n:[]):o=n&&C.isPlainObject(n)?n:{},s[t]=C.extend(u,o,i)):void 0!==i&&(s[t]=i));return s},C.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=i(e))||"function"==typeof(n=m.call(t,"constructor")&&t.constructor)&&s.call(n)===u)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){b(e)},each:function(e,t){var n,i=0;if(h(e))for(n=e.length;i<n&&!1!==t.call(e[i],i,e[i]);i++);else for(i in e)if(!1===t.call(e[i],i,e[i]))break;return e},trim:function(e){return null==e?"":(e+"").replace(d,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(h(Object(e))?C.merge(n,"string"==typeof e?[e]:e):l.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:r.call(t,e,n)},merge:function(e,t){for(var n=+t.length,i=0,r=e.length;i<n;i++)e[r++]=t[i];return e.length=r,e},grep:function(e,t,n){for(var i=[],r=0,o=e.length,s=!n;r<o;r++)!t(e[r],r)!==s&&i.push(e[r]);return i},map:function(e,t,n){var i,r,o=0,s=[];if(h(e))for(i=e.length;o<i;o++)null!=(r=t(e[o],o,n))&&s.push(r);else for(o in e)null!=(r=t(e[o],o,n))&&s.push(r);return g.apply([],s)},guid:1,support:v}),"function"==typeof Symbol&&(C.fn[Symbol.iterator]=t[Symbol.iterator]),C.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var p=function(n){var e,h,b,o,r,p,f,g,w,l,u,E,x,s,T,m,a,c,v,C="sizzle"+1*new Date,y=n.document,S=0,i=0,d=se(),_=se(),D=se(),A=function(e,t){return e===t&&(u=!0),0},N={}.hasOwnProperty,t=[],k=t.pop,I=t.push,O=t.push,j=t.slice,L=function(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",H="[\\x20\\t\\r\\n\\f]",q="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+H+"*("+q+")(?:"+H+"*([*^$|!~]?=)"+H+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+q+"))|)"+H+"*\\]",R=":("+q+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",W=new RegExp(H+"+","g"),F=new RegExp("^"+H+"+|((?:^|[^\\\\])(?:\\\\.)*)"+H+"+$","g"),B=new RegExp("^"+H+"*,"+H+"*"),U=new RegExp("^"+H+"*([>+~]|"+H+")"+H+"*"),K=new RegExp("="+H+"*([^\\]'\"]*?)"+H+"*\\]","g"),$=new RegExp(R),Q=new RegExp("^"+q+"$"),Y={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+R),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+H+"*(even|odd|(([+-]|)(\\d*)n|)"+H+"*(?:([+-]|)"+H+"*(\\d+)|))"+H+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+H+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+H+"*((?:-\\d)?\\d*)"+H+"*\\)|)(?=[^-]|$)","i")},V=/^(?:input|select|textarea|button)$/i,z=/^h\d$/i,X=/^[^{]+\{\s*\[native \w/,G=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+H+"?|("+H+")|.)","ig"),ee=function(e,t,n){var i="0x"+t-65536;return i!=i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=function(){E()},re=ye(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{O.apply(t=j.call(y.childNodes),y.childNodes),t[y.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){I.apply(e,j.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function oe(e,t,n,i){var r,o,s,a,l,u,c,f=t&&t.ownerDocument,d=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==d&&9!==d&&11!==d)return n;if(!i&&((t?t.ownerDocument||t:y)!==x&&E(t),t=t||x,T)){if(11!==d&&(l=G.exec(e)))if(r=l[1]){if(9===d){if(!(s=t.getElementById(r)))return n;if(s.id===r)return n.push(s),n}else if(f&&(s=f.getElementById(r))&&v(t,s)&&s.id===r)return n.push(s),n}else{if(l[2])return O.apply(n,t.getElementsByTagName(e)),n;if((r=l[3])&&h.getElementsByClassName&&t.getElementsByClassName)return O.apply(n,t.getElementsByClassName(r)),n}if(h.qsa&&!D[e+" "]&&(!m||!m.test(e))){if(1!==d)f=t,c=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(te,ne):t.setAttribute("id",a=C),o=(u=p(e)).length;o--;)u[o]="#"+a+" "+ve(u[o]);c=u.join(","),f=J.test(e)&&ge(t.parentNode)||t}if(c)try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){}finally{a===C&&t.removeAttribute("id")}}}return g(e.replace(F,"$1"),t,n,i)}function se(){var i=[];return function e(t,n){return i.push(t+" ")>b.cacheLength&&delete e[i.shift()],e[t+" "]=n}}function ae(e){return e[C]=!0,e}function le(e){var t=x.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ue(e,t){for(var n=e.split("|"),i=n.length;i--;)b.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function de(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function he(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&re(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function pe(s){return ae(function(o){return o=+o,ae(function(e,t){for(var n,i=s([],e.length,o),r=i.length;r--;)e[n=i[r]]&&(e[n]=!(t[n]=e[n]))})})}function ge(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in h=oe.support={},r=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},E=oe.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:y;return i!==x&&9===i.nodeType&&i.documentElement&&(s=(x=i).documentElement,T=!r(x),y!==x&&(n=x.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",ie,!1):n.attachEvent&&n.attachEvent("onunload",ie)),h.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),h.getElementsByTagName=le(function(e){return e.appendChild(x.createComment("")),!e.getElementsByTagName("*").length}),h.getElementsByClassName=X.test(x.getElementsByClassName),h.getById=le(function(e){return s.appendChild(e).id=C,!x.getElementsByName||!x.getElementsByName(C).length}),h.getById?(b.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&T){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(Z,ee);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&T){var n,i,r,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(r=t.getElementsByName(e),i=0;o=r[i++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=h.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):h.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},b.find.CLASS=h.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&T)return t.getElementsByClassName(e)},a=[],m=[],(h.qsa=X.test(x.querySelectorAll))&&(le(function(e){s.appendChild(e).innerHTML="<a id='"+C+"'></a><select id='"+C+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+H+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+H+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+C+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+C+"+*").length||m.push(".#.+[+~]")}),le(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=x.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+H+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),s.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(h.matchesSelector=X.test(c=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&le(function(e){h.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),a.push("!=",R)}),m=m.length&&new RegExp(m.join("|")),a=a.length&&new RegExp(a.join("|")),t=X.test(s.compareDocumentPosition),v=t||X.test(s.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return u=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!h.sortDetached&&t.compareDocumentPosition(e)===n?e===x||e.ownerDocument===y&&v(y,e)?-1:t===x||t.ownerDocument===y&&v(y,t)?1:l?L(l,e)-L(l,t):0:4&n?-1:1)}:function(e,t){if(e===t)return u=!0,0;var n,i=0,r=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!r||!o)return e===x?-1:t===x?1:r?-1:o?1:l?L(l,e)-L(l,t):0;if(r===o)return ce(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?ce(s[i],a[i]):s[i]===y?-1:a[i]===y?1:0}),x},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==x&&E(e),t=t.replace(K,"='$1']"),h.matchesSelector&&T&&!D[t+" "]&&(!a||!a.test(t))&&(!m||!m.test(t)))try{var n=c.call(e,t);if(n||h.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){}return 0<oe(t,x,null,[e]).length},oe.contains=function(e,t){return(e.ownerDocument||e)!==x&&E(e),v(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==x&&E(e);var n=b.attrHandle[t.toLowerCase()],i=n&&N.call(b.attrHandle,t.toLowerCase())?n(e,t,!T):void 0;return void 0!==i?i:h.attributes||!T?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,n=[],i=0,r=0;if(u=!h.detectDuplicates,l=!h.sortStable&&e.slice(0),e.sort(A),u){for(;t=e[r++];)t===e[r]&&(i=n.push(r));for(;i--;)e.splice(n[i],1)}return l=null,e},o=oe.getText=function(e){var t,n="",i=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[i++];)n+=o(t);return n},(b=oe.selectors={cacheLength:50,createPseudo:ae,match:Y,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Y.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&$.test(n)&&(t=p(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=d[e+" "];return t||(t=new RegExp("(^|"+H+")"+e+"("+H+"|$)"))&&d(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,i,r){return function(e){var t=oe.attr(e,n);return null==t?"!="===i:!i||(t+="","="===i?t===r:"!="===i?t!==r:"^="===i?r&&0===t.indexOf(r):"*="===i?r&&-1<t.indexOf(r):"$="===i?r&&t.slice(-r.length)===r:"~="===i?-1<(" "+t.replace(W," ")+" ").indexOf(r):"|="===i&&(t===r||t.slice(0,r.length+1)===r+"-"))}},CHILD:function(p,e,t,g,m){var v="nth"!==p.slice(0,3),y="last"!==p.slice(-4),_="of-type"===e;return 1===g&&0===m?function(e){return!!e.parentNode}:function(e,t,n){var i,r,o,s,a,l,u=v!==y?"nextSibling":"previousSibling",c=e.parentNode,f=_&&e.nodeName.toLowerCase(),d=!n&&!_,h=!1;if(c){if(v){for(;u;){for(s=e;s=s[u];)if(_?s.nodeName.toLowerCase()===f:1===s.nodeType)return!1;l=u="only"===p&&!l&&"nextSibling"}return!0}if(l=[y?c.firstChild:c.lastChild],y&&d){for(h=(a=(i=(r=(o=(s=c)[C]||(s[C]={}))[s.uniqueID]||(o[s.uniqueID]={}))[p]||[])[0]===S&&i[1])&&i[2],s=a&&c.childNodes[a];s=++a&&s&&s[u]||(h=a=0)||l.pop();)if(1===s.nodeType&&++h&&s===e){r[p]=[S,a,h];break}}else if(d&&(h=a=(i=(r=(o=(s=e)[C]||(s[C]={}))[s.uniqueID]||(o[s.uniqueID]={}))[p]||[])[0]===S&&i[1]),!1===h)for(;(s=++a&&s&&s[u]||(h=a=0)||l.pop())&&((_?s.nodeName.toLowerCase()!==f:1!==s.nodeType)||!++h||(d&&((r=(o=s[C]||(s[C]={}))[s.uniqueID]||(o[s.uniqueID]={}))[p]=[S,h]),s!==e)););return(h-=m)===g||h%g==0&&0<=h/g}}},PSEUDO:function(e,o){var t,s=b.pseudos[e]||b.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return s[C]?s(o):1<s.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?ae(function(e,t){for(var n,i=s(e,o),r=i.length;r--;)e[n=L(e,i[r])]=!(t[n]=i[r])}):function(e){return s(e,0,t)}):s}},pseudos:{not:ae(function(e){var i=[],r=[],a=f(e.replace(F,"$1"));return a[C]?ae(function(e,t,n,i){for(var r,o=a(e,null,i,[]),s=e.length;s--;)(r=o[s])&&(e[s]=!(t[s]=r))}):function(e,t,n){return i[0]=e,a(i,null,n,r),i[0]=null,!r.pop()}}),has:ae(function(t){return function(e){return 0<oe(t,e).length}}),contains:ae(function(t){return t=t.replace(Z,ee),function(e){return-1<(e.textContent||e.innerText||o(e)).indexOf(t)}}),lang:ae(function(n){return Q.test(n||"")||oe.error("unsupported lang: "+n),n=n.replace(Z,ee).toLowerCase(),function(e){var t;do{if(t=T?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===s},focus:function(e){return e===x.activeElement&&(!x.hasFocus||x.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:he(!1),disabled:he(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return z.test(e.nodeName)},input:function(e){return V.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:pe(function(){return[0]}),last:pe(function(e,t){return[t-1]}),eq:pe(function(e,t,n){return[n<0?n+t:n]}),even:pe(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:pe(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:pe(function(e,t,n){for(var i=n<0?n+t:n;0<=--i;)e.push(i);return e}),gt:pe(function(e,t,n){for(var i=n<0?n+t:n;++i<t;)e.push(i);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=fe(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=de(e);function me(){}function ve(e){for(var t=0,n=e.length,i="";t<n;t++)i+=e[t].value;return i}function ye(a,e,t){var l=e.dir,u=e.next,c=u||l,f=t&&"parentNode"===c,d=i++;return e.first?function(e,t,n){for(;e=e[l];)if(1===e.nodeType||f)return a(e,t,n);return!1}:function(e,t,n){var i,r,o,s=[S,d];if(n){for(;e=e[l];)if((1===e.nodeType||f)&&a(e,t,n))return!0}else for(;e=e[l];)if(1===e.nodeType||f)if(r=(o=e[C]||(e[C]={}))[e.uniqueID]||(o[e.uniqueID]={}),u&&u===e.nodeName.toLowerCase())e=e[l]||e;else{if((i=r[c])&&i[0]===S&&i[1]===d)return s[2]=i[2];if((r[c]=s)[2]=a(e,t,n))return!0}return!1}}function _e(r){return 1<r.length?function(e,t,n){for(var i=r.length;i--;)if(!r[i](e,t,n))return!1;return!0}:r[0]}function be(e,t,n,i,r){for(var o,s=[],a=0,l=e.length,u=null!=t;a<l;a++)(o=e[a])&&(n&&!n(o,i,r)||(s.push(o),u&&t.push(a)));return s}function we(h,p,g,m,v,e){return m&&!m[C]&&(m=we(m)),v&&!v[C]&&(v=we(v,e)),ae(function(e,t,n,i){var r,o,s,a=[],l=[],u=t.length,c=e||function(e,t,n){for(var i=0,r=t.length;i<r;i++)oe(e,t[i],n);return n}(p||"*",n.nodeType?[n]:n,[]),f=!h||!e&&p?c:be(c,a,h,n,i),d=g?v||(e?h:u||m)?[]:t:f;if(g&&g(f,d,n,i),m)for(r=be(d,l),m(r,[],n,i),o=r.length;o--;)(s=r[o])&&(d[l[o]]=!(f[l[o]]=s));if(e){if(v||h){if(v){for(r=[],o=d.length;o--;)(s=d[o])&&r.push(f[o]=s);v(null,d=[],r,i)}for(o=d.length;o--;)(s=d[o])&&-1<(r=v?L(e,s):a[o])&&(e[r]=!(t[r]=s))}}else d=be(d===t?d.splice(u,d.length):d),v?v(null,t,d,i):O.apply(t,d)})}function Ee(e){for(var r,t,n,i=e.length,o=b.relative[e[0].type],s=o||b.relative[" "],a=o?1:0,l=ye(function(e){return e===r},s,!0),u=ye(function(e){return-1<L(r,e)},s,!0),c=[function(e,t,n){var i=!o&&(n||t!==w)||((r=t).nodeType?l(e,t,n):u(e,t,n));return r=null,i}];a<i;a++)if(t=b.relative[e[a].type])c=[ye(_e(c),t)];else{if((t=b.filter[e[a].type].apply(null,e[a].matches))[C]){for(n=++a;n<i&&!b.relative[e[n].type];n++);return we(1<a&&_e(c),1<a&&ve(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(F,"$1"),t,a<n&&Ee(e.slice(a,n)),n<i&&Ee(e=e.slice(n)),n<i&&ve(e))}c.push(t)}return _e(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,p=oe.tokenize=function(e,t){var n,i,r,o,s,a,l,u=_[e+" "];if(u)return t?0:u.slice(0);for(s=e,a=[],l=b.preFilter;s;){for(o in n&&!(i=B.exec(s))||(i&&(s=s.slice(i[0].length)||s),a.push(r=[])),n=!1,(i=U.exec(s))&&(n=i.shift(),r.push({value:n,type:i[0].replace(F," ")}),s=s.slice(n.length)),b.filter)!(i=Y[o].exec(s))||l[o]&&!(i=l[o](i))||(n=i.shift(),r.push({value:n,type:o,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):_(e,a).slice(0)},f=oe.compile=function(e,t){var n,m,v,y,_,i,r=[],o=[],s=D[e+" "];if(!s){for(t||(t=p(e)),n=t.length;n--;)(s=Ee(t[n]))[C]?r.push(s):o.push(s);(s=D(e,(m=o,y=0<(v=r).length,_=0<m.length,i=function(e,t,n,i,r){var o,s,a,l=0,u="0",c=e&&[],f=[],d=w,h=e||_&&b.find.TAG("*",r),p=S+=null==d?1:Math.random()||.1,g=h.length;for(r&&(w=t===x||t||r);u!==g&&null!=(o=h[u]);u++){if(_&&o){for(s=0,t||o.ownerDocument===x||(E(o),n=!T);a=m[s++];)if(a(o,t||x,n)){i.push(o);break}r&&(S=p)}y&&((o=!a&&o)&&l--,e&&c.push(o))}if(l+=u,y&&u!==l){for(s=0;a=v[s++];)a(c,f,t,n);if(e){if(0<l)for(;u--;)c[u]||f[u]||(f[u]=k.call(i));f=be(f)}O.apply(i,f),r&&!e&&0<f.length&&1<l+v.length&&oe.uniqueSort(i)}return r&&(S=p,w=d),c},y?ae(i):i))).selector=e}return s},g=oe.select=function(e,t,n,i){var r,o,s,a,l,u="function"==typeof e&&e,c=!i&&p(e=u.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(s=o[0]).type&&9===t.nodeType&&T&&b.relative[o[1].type]){if(!(t=(b.find.ID(s.matches[0].replace(Z,ee),t)||[])[0]))return n;u&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(r=Y.needsContext.test(e)?0:o.length;r--&&(s=o[r],!b.relative[a=s.type]);)if((l=b.find[a])&&(i=l(s.matches[0].replace(Z,ee),J.test(o[0].type)&&ge(t.parentNode)||t))){if(o.splice(r,1),!(e=i.length&&ve(o)))return O.apply(n,i),n;break}}return(u||f(e,c))(i,t,!T,n,!t||J.test(e)&&ge(t.parentNode)||t),n},h.sortStable=C.split("").sort(A).join("")===C,h.detectDuplicates=!!u,E(),h.sortDetached=le(function(e){return 1&e.compareDocumentPosition(x.createElement("fieldset"))}),le(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ue("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),h.attributes&&le(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ue("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),le(function(e){return null==e.getAttribute("disabled")})||ue(P,function(e,t,n){var i;if(!n)return!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),oe}(x);C.find=p,C.expr=p.selectors,C.expr[":"]=C.expr.pseudos,C.uniqueSort=C.unique=p.uniqueSort,C.text=p.getText,C.isXMLDoc=p.isXML,C.contains=p.contains,C.escapeSelector=p.escape;var E=function(e,t,n){for(var i=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&C(e).is(n))break;i.push(e)}return i},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=C.expr.match.needsContext;
vendor: 10,120 bytes, line 1
1function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function k(e,n,i){return y(n)?C.grep(e,function(e,t){return!!n.call(e,t,e)!==i}):n.nodeType?C.grep(e,function(e){return e===n!==i}):"string"!=typeof n?C.grep(e,function(e){return-1<r.call(n,e)!==i}):C.filter(n,e,i)}C.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?C.find.matchesSelector(i,e)?[i]:[]:C.find.matches(e,C.grep(t,function(e){return 1===e.nodeType}))},C.fn.extend({find:function(e){var t,n,i=this.length,r=this;if("string"!=typeof e)return this.pushStack(C(e).filter(function(){for(t=0;t<i;t++)if(C.contains(r[t],this))return!0}));for(n=this.pushStack([]),t=0;t<i;t++)C.find(e,r[t],n);return 1<i?C.uniqueSort(n):n},filter:function(e){return this.pushStack(k(this,e||[],!1))},not:function(e){return this.pushStack(k(this,e||[],!0))},is:function(e){return!!k(this,"string"==typeof e&&D.test(e)?C(e):e||[],!1).length}});var I,O=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(C.fn.init=function(e,t,n){var i,r;if(!e)return this;if(n=n||I,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:O.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof C?t[0]:t,C.merge(this,C.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:T,!0)),N.test(i[1])&&C.isPlainObject(t))for(i in t)y(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(r=T.getElementById(i[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(C):C.makeArray(e,this)}).prototype=C.fn,I=C(T);var j=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}C.fn.extend({has:function(e){var t=C(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(C.contains(this,t[e]))return!0})},closest:function(e,t){var n,i=0,r=this.length,o=[],s="string"!=typeof e&&C(e);if(!D.test(e))for(;i<r;i++)for(n=this[i];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?-1<s.index(n):1===n.nodeType&&C.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?C.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?r.call(C(e),this[0]):r.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(C.uniqueSort(C.merge(this.get(),C(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),C.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,"parentNode")},parentsUntil:function(e,t,n){return E(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return E(e,"nextSibling")},prevAll:function(e){return E(e,"previousSibling")},nextUntil:function(e,t,n){return E(e,"nextSibling",n)},prevUntil:function(e,t,n){return E(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return A(e,"iframe")?e.contentDocument:(A(e,"template")&&(e=e.content||e),C.merge([],e.childNodes))}},function(i,r){C.fn[i]=function(e,t){var n=C.map(this,r,e);return"Until"!==i.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=C.filter(t,n)),1<this.length&&(L[i]||C.uniqueSort(n),j.test(i)&&n.reverse()),this.pushStack(n)}});var H=/[^\x20\t\r\n\f]+/g;function q(e){return e}function M(e){throw e}function R(e,t,n,i){var r;try{e&&y(r=e.promise)?r.call(e).done(t).fail(n):e&&y(r=e.then)?r.call(e,t,n):t.apply(void 0,[e].slice(i))}catch(e){n.apply(void 0,[e])}}C.Callbacks=function(i){var e,n;i="string"==typeof i?(e=i,n={},C.each(e.match(H)||[],function(e,t){n[t]=!0}),n):C.extend({},i);var r,t,o,s,a=[],l=[],u=-1,c=function(){for(s=s||i.once,o=r=!0;l.length;u=-1)for(t=l.shift();++u<a.length;)!1===a[u].apply(t[0],t[1])&&i.stopOnFalse&&(u=a.length,t=!1);i.memory||(t=!1),r=!1,s&&(a=t?[]:"")},f={add:function(){return a&&(t&&!r&&(u=a.length-1,l.push(t)),function n(e){C.each(e,function(e,t){y(t)?i.unique&&f.has(t)||a.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!r&&c()),this},remove:function(){return C.each(arguments,function(e,t){for(var n;-1<(n=C.inArray(t,a,n));)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?-1<C.inArray(e,a):0<a.length},empty:function(){return a&&(a=[]),this},disable:function(){return s=l=[],a=t="",this},disabled:function(){return!a},lock:function(){return s=l=[],t||r||(a=t=""),this},locked:function(){return!!s},fireWith:function(e,t){return s||(t=[e,(t=t||[]).slice?t.slice():t],l.push(t),r||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},C.extend({Deferred:function(e){var o=[["notify","progress",C.Callbacks("memory"),C.Callbacks("memory"),2],["resolve","done",C.Callbacks("once memory"),C.Callbacks("once memory"),0,"resolved"],["reject","fail",C.Callbacks("once memory"),C.Callbacks("once memory"),1,"rejected"]],r="pending",s={state:function(){return r},always:function(){return a.done(arguments).fail(arguments),this},catch:function(e){return s.then(null,e)},pipe:function(){var r=arguments;return C.Deferred(function(i){C.each(o,function(e,t){var n=y(r[t[4]])&&r[t[4]];a[t[1]](function(){var e=n&&n.apply(this,arguments);e&&y(e.promise)?e.promise().progress(i.notify).done(i.resolve).fail(i.reject):i[t[0]+"With"](this,n?[e]:arguments)})}),r=null}).promise()},then:function(t,n,i){var l=0;function u(r,o,s,a){return function(){var n=this,i=arguments,e=function(){var e,t;if(!(r<l)){if((e=s.apply(n,i))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,y(t)?a?t.call(e,u(l,o,q,a),u(l,o,M,a)):(l++,t.call(e,u(l,o,q,a),u(l,o,M,a),u(l,o,q,o.notifyWith))):(s!==q&&(n=void 0,i=[e]),(a||o.resolveWith)(n,i))}},t=a?e:function(){try{e()}catch(e){C.Deferred.exceptionHook&&C.Deferred.exceptionHook(e,t.stackTrace),l<=r+1&&(s!==M&&(n=void 0,i=[e]),o.rejectWith(n,i))}};r?t():(C.Deferred.getStackHook&&(t.stackTrace=C.Deferred.getStackHook()),x.setTimeout(t))}}return C.Deferred(function(e){o[0][3].add(u(0,e,y(i)?i:q,e.notifyWith)),o[1][3].add(u(0,e,y(t)?t:q)),o[2][3].add(u(0,e,y(n)?n:M))}).promise()},promise:function(e){return null!=e?C.extend(e,s):s}},a={};return C.each(o,function(e,t){var n=t[2],i=t[5];s[t[1]]=n.add,i&&n.add(function(){r=i},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),a[t[0]]=function(){return a[t[0]+"With"](this===a?void 0:this,arguments),this},a[t[0]+"With"]=n.fireWith}),s.promise(a),e&&e.call(a,a),a},when:function(e){var n=arguments.length,t=n,i=Array(t),r=a.call(arguments),o=C.Deferred(),s=function(t){return function(e){i[t]=this,r[t]=1<arguments.length?a.call(arguments):e,--n||o.resolveWith(i,r)}};if(n<=1&&(R(e,o.done(s(t)).resolve,o.reject,!n),"pending"===o.state()||y(r[t]&&r[t].then)))return o.then();for(;t--;)R(r[t],s(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;C.Deferred.exceptionHook=function(e,t){x.console&&x.console.warn&&e&&W.test(e.name)&&x.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},C.readyException=function(e){x.setTimeout(function(){throw e})};var F=C.Deferred();function B(){T.removeEventListener("DOMContentLoaded",B),x.removeEventListener("load",B),C.ready()}C.fn.ready=function(e){return F.then(e).catch(function(e){C.readyException(e)}),this},C.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--C.readyWait:C.isReady)||(C.isReady=!0)!==e&&0<--C.readyWait||F.resolveWith(T,[C])}}),C.ready.then=F.then,"complete"===T.readyState||"loading"!==T.readyState&&!T.documentElement.doScroll?x.setTimeout(C.ready):(T.addEventListener("DOMContentLoaded",B),x.addEventListener("load",B));var U=function(e,t,n,i,r,o,s){var a=0,l=e.length,u=null==n;if("object"===w(n))for(a in r=!0,n)U(e,t,a,n[a],!0,o,s);else if(void 0!==i&&(r=!0,y(i)||(s=!0),u&&(s?(t.call(e,i),t=null):(u=t,t=function(e,t,n){return u.call(C(e),n)})),t))for(;a<l;a++)t(e[a],n,s?i:i.call(e[a],a,t(e[a],n)));return r?e:u?t.call(e):l?t(e[0],n):o},K=/^-ms-/,$=/-([a-z])/g;function Q(e,t){return t.toUpperCase()}function Y(e){return e.replace(K,"ms-").replace($,Q)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function z(){this.expando=C.expando+z.uid++}z.uid=1,z.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var i,r=this.cache(e);if("string"==typeof t)r[Y(t)]=n;else for(i in t)r[Y(i)]=t[i];return r},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][Y(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,i=e[this.expando];if(void 0!==i){if(void 0!==t){n=(t=Array.isArray(t)?t.map(Y):(t=Y(t))in i?[t]:t.match(H)||[]).length;for(;n--;)delete i[t[n]]}(void 0===t||C.isEmptyObject(i))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!C.isEmptyObject(t)}};var X=new z,G=new z,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var i,r;if(void 0===n&&1===e.nodeType)if(i="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(i))){try{n="true"===(r=n)||"false"!==r&&("null"===r?null:r===+r+""?+r:J.test(r)?JSON.parse(r):r)}catch(e){}G.set(e,t,n)}else n=void 0;return n}C.extend({hasData:function(e){return G.hasData(e)||X.hasData(e)},data:function(e,t,n){return G.access(e,t,n)},removeData:function(e,t){G.remove(e,t)},_data:function(e,t,n){return X.access(e,t,n)},_removeData:function(e,t){X.remove(e,t)}}),C.fn.extend({data:function(n,e){var t,i,r,o=this[0],s=o&&o.attributes;if(void 0===n){if(this.length&&(r=G.get(o),1===o.nodeType&&!X.get(o,"hasDataAttrs"))){for(t=s.length;t--;
vendor: 11,069 bytes, line 1
1)s[t]&&0===(i=s[t].name).indexOf("data-")&&(i=Y(i.slice(5)),ee(o,i,r[i]));X.set(o,"hasDataAttrs",!0)}return r}return"object"==typeof n?this.each(function(){G.set(this,n)}):U(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=G.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){G.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){G.remove(this,e)})}}),C.extend({queue:function(e,t,n){var i;if(e)return t=(t||"fx")+"queue",i=X.get(e,t),n&&(!i||Array.isArray(n)?i=X.access(e,t,C.makeArray(n)):i.push(n)),i||[]},dequeue:function(e,t){t=t||"fx";var n=C.queue(e,t),i=n.length,r=n.shift(),o=C._queueHooks(e,t);"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===t&&n.unshift("inprogress"),delete o.stop,r.call(e,function(){C.dequeue(e,t)},o)),!i&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return X.get(e,n)||X.access(e,n,{empty:C.Callbacks("once memory").add(function(){X.remove(e,[t+"queue",n])})})}}),C.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?C.queue(this[0],t):void 0===n?this:this.each(function(){var e=C.queue(this,t,n);C._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&C.dequeue(this,t)})},dequeue:function(e){return this.each(function(){C.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,i=1,r=C.Deferred(),o=this,s=this.length,a=function(){--i||r.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)(n=X.get(o[s],e+"queueHooks"))&&n.empty&&(i++,n.empty.add(a));return a(),r.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),ie=["Top","Right","Bottom","Left"],re=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&C.contains(e.ownerDocument,e)&&"none"===C.css(e,"display")},oe=function(e,t,n,i){var r,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];for(o in r=n.apply(e,i||[]),t)e.style[o]=s[o];return r};function se(e,t,n,i){var r,o,s=20,a=i?function(){return i.cur()}:function(){return C.css(e,t,"")},l=a(),u=n&&n[3]||(C.cssNumber[t]?"":"px"),c=(C.cssNumber[t]||"px"!==u&&+l)&&ne.exec(C.css(e,t));if(c&&c[3]!==u){for(l/=2,u=u||c[3],c=+l||1;s--;)C.style(e,t,c+u),(1-o)*(1-(o=a()/l||.5))<=0&&(s=0),c/=o;c*=2,C.style(e,t,c+u),n=n||[]}return n&&(c=+c||+l||0,r=n[1]?c+(n[1]+1)*n[2]:+n[2],i&&(i.unit=u,i.start=c,i.end=r)),r}var ae={};function le(e,t){for(var n,i,r,o,s,a,l,u=[],c=0,f=e.length;c<f;c++)(i=e[c]).style&&(n=i.style.display,t?("none"===n&&(u[c]=X.get(i,"display")||null,u[c]||(i.style.display="")),""===i.style.display&&re(i)&&(u[c]=(l=s=o=void 0,s=(r=i).ownerDocument,a=r.nodeName,(l=ae[a])||(o=s.body.appendChild(s.createElement(a)),l=C.css(o,"display"),o.parentNode.removeChild(o),"none"===l&&(l="block"),ae[a]=l)))):"none"!==n&&(u[c]="none",X.set(i,"display",n)));for(c=0;c<f;c++)null!=u[c]&&(e[c].style.display=u[c]);return e}C.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){re(this)?C(this).show():C(this).hide()})}});var ue=/^(?:checkbox|radio)$/i,ce=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,fe=/^$|^module$|\/(?:java|ecma)script/i,de={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function he(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?C.merge([e],n):n}function pe(e,t){for(var n=0,i=e.length;n<i;n++)X.set(e[n],"globalEval",!t||X.get(t[n],"globalEval"))}de.optgroup=de.option,de.tbody=de.tfoot=de.colgroup=de.caption=de.thead,de.th=de.td;var ge,me,ve=/<|&#?\w+;/;function ye(e,t,n,i,r){for(var o,s,a,l,u,c,f=t.createDocumentFragment(),d=[],h=0,p=e.length;h<p;h++)if((o=e[h])||0===o)if("object"===w(o))C.merge(d,o.nodeType?[o]:o);else if(ve.test(o)){for(s=s||f.appendChild(t.createElement("div")),a=(ce.exec(o)||["",""])[1].toLowerCase(),l=de[a]||de._default,s.innerHTML=l[1]+C.htmlPrefilter(o)+l[2],c=l[0];c--;)s=s.lastChild;C.merge(d,s.childNodes),(s=f.firstChild).textContent=""}else d.push(t.createTextNode(o));for(f.textContent="",h=0;o=d[h++];)if(i&&-1<C.inArray(o,i))r&&r.push(o);else if(u=C.contains(o.ownerDocument,o),s=he(f.appendChild(o),"script"),u&&pe(s),n)for(c=0;o=s[c++];)fe.test(o.type||"")&&n.push(o);return f}ge=T.createDocumentFragment().appendChild(T.createElement("div")),(me=T.createElement("input")).setAttribute("type","radio"),me.setAttribute("checked","checked"),me.setAttribute("name","t"),ge.appendChild(me),v.checkClone=ge.cloneNode(!0).cloneNode(!0).lastChild.checked,ge.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ge.cloneNode(!0).lastChild.defaultValue;var _e=T.documentElement,be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function xe(){return!0}function Te(){return!1}function Ce(){try{return T.activeElement}catch(e){}}function Se(e,t,n,i,r,o){var s,a;if("object"==typeof t){for(a in"string"!=typeof n&&(i=i||n,n=void 0),t)Se(e,a,n,i,t[a],o);return e}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=Te;else if(!r)return e;return 1===o&&(s=r,(r=function(e){return C().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=C.guid++)),e.each(function(){C.event.add(this,t,r,i,n)})}C.event={global:{},add:function(t,e,n,i,r){var o,s,a,l,u,c,f,d,h,p,g,m=X.get(t);if(m)for(n.handler&&(n=(o=n).handler,r=o.selector),r&&C.find.matchesSelector(_e,r),n.guid||(n.guid=C.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(e){return void 0!==C&&C.event.triggered!==e.type?C.event.dispatch.apply(t,arguments):void 0}),u=(e=(e||"").match(H)||[""]).length;u--;)h=g=(a=Ee.exec(e[u])||[])[1],p=(a[2]||"").split(".").sort(),h&&(f=C.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,f=C.event.special[h]||{},c=C.extend({type:h,origType:g,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&C.expr.match.needsContext.test(r),namespace:p.join(".")},o),(d=l[h])||((d=l[h]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,i,p,s)||t.addEventListener&&t.addEventListener(h,s)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),r?d.splice(d.delegateCount++,0,c):d.push(c),C.event.global[h]=!0)},remove:function(e,t,n,i,r){var o,s,a,l,u,c,f,d,h,p,g,m=X.hasData(e)&&X.get(e);if(m&&(l=m.events)){for(u=(t=(t||"").match(H)||[""]).length;u--;)if(h=g=(a=Ee.exec(t[u])||[])[1],p=(a[2]||"").split(".").sort(),h){for(f=C.event.special[h]||{},d=l[h=(i?f.delegateType:f.bindType)||h]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=d.length;o--;)c=d[o],!r&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));s&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,p,m.handle)||C.removeEvent(e,h,m.handle),delete l[h])}else for(h in l)C.event.remove(e,h+t[u],n,i,!0);C.isEmptyObject(l)&&X.remove(e,"handle events")}},dispatch:function(e){var t,n,i,r,o,s,a=C.event.fix(e),l=new Array(arguments.length),u=(X.get(this,"events")||{})[a.type]||[],c=C.event.special[a.type]||{};for(l[0]=a,t=1;t<arguments.length;t++)l[t]=arguments[t];if(a.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,a)){for(s=C.event.handlers.call(this,a,u),t=0;(r=s[t++])&&!a.isPropagationStopped();)for(a.currentTarget=r.elem,n=0;(o=r.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(o.namespace)||(a.handleObj=o,a.data=o.data,void 0!==(i=((C.event.special[o.origType]||{}).handle||o.handler).apply(r.elem,l))&&!1===(a.result=i)&&(a.preventDefault(),a.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,i,r,o,s,a=[],l=t.delegateCount,u=e.target;if(l&&u.nodeType&&!("click"===e.type&&1<=e.button))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(o=[],s={},n=0;n<l;n++)void 0===s[r=(i=t[n]).selector+" "]&&(s[r]=i.needsContext?-1<C(r,this).index(u):C.find(r,this,null,[u]).length),s[r]&&o.push(i);o.length&&a.push({elem:u,handlers:o})}return u=this,l<t.length&&a.push({elem:u,handlers:t.slice(l)}),a},addProp:function(t,e){Object.defineProperty(C.Event.prototype,t,{enumerable:!0,configurable:!0,get:y(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[C.expando]?e:new C.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Ce()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Ce()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&A(this,"input"))return this.click(),!1},_default:function(e){return A(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},C.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},C.Event=function(e,t){if(!(this instanceof C.Event))return new C.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?xe:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&C.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[C.expando]=!0},C.Event.prototype={constructor:C.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=xe,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=xe,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=xe,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},C.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},C.event.addProp),C.each({mouseenter:"mouseover",mouseleave:"mou
1seout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,r){C.event.special[e]={delegateType:r,bindType:r,handle:function(e){var t,n=e.relatedTarget,i=e.handleObj;return n&&(n===this||C.contains(this,n))||(e.type=i.origType,t=i.handler.apply(this,arguments),e.type=r),t}}}),C.fn.extend({on:function(e,t,n,i){return Se(this,e,t,n,i)},one:function(e,t,n,i){return Se(this,e,t,n,i,1)},off:function(e,t,n){var i,r;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,C(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(r in e)this.off(r,t,e[r]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){C.event.remove(this,e,n,t)})}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,Ne=/checked\s*(?:[^=]|=\s*.checked.)/i,ke=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ie(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&C(e).children("tbody")[0]||e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function je(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,i,r,o,s,a,l,u;if(1===t.nodeType){if(X.hasData(e)&&(o=X.access(e),s=X.set(t,o),u=o.events))for(r in delete s.handle,s.events={},u)for(n=0,i=u[r].length;n<i;n++)C.event.add(t,r,u[r][n]);G.hasData(e)&&(a=G.access(e),l=C.extend({},a),G.set(t,l))}}function Pe(n,i,r,o){i=g.apply([],i);var e,t,s,a,l,u,c=0,f=n.length,d=f-1,h=i[0],p=y(h);if(p||1<f&&"string"==typeof h&&!v.checkClone&&Ne.test(h))return n.each(function(e){var t=n.eq(e);p&&(i[0]=h.call(this,e,t.html())),Pe(t,i,r,o)});if(f&&(t=(e=ye(i,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(a=(s=C.map(he(e,"script"),Oe)).length;c<f;c++)l=e,c!==d&&(l=C.clone(l,!0,!0),a&&C.merge(s,he(l,"script"))),r.call(n[c],l,c);if(a)for(u=s[s.length-1].ownerDocument,C.map(s,je),c=0;c<a;c++)l=s[c],fe.test(l.type||"")&&!X.access(l,"globalEval")&&C.contains(u,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?C._evalUrl&&C._evalUrl(l.src):b(l.textContent.replace(ke,""),u,l))}return n}function He(e,t,n){for(var i,r=t?C.filter(t,e):e,o=0;null!=(i=r[o]);o++)n||1!==i.nodeType||C.cleanData(he(i)),i.parentNode&&(n&&C.contains(i.ownerDocument,i)&&pe(he(i,"script")),i.parentNode.removeChild(i));return e}C.extend({htmlPrefilter:function(e){return e.replace(De,"<$1></$2>")},clone:function(e,t,n){var i,r,o,s,a,l,u,c=e.cloneNode(!0),f=C.contains(e.ownerDocument,e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||C.isXMLDoc(e)))for(s=he(c),i=0,r=(o=he(e)).length;i<r;i++)a=o[i],l=s[i],void 0,"input"===(u=l.nodeName.toLowerCase())&&ue.test(a.type)?l.checked=a.checked:"input"!==u&&"textarea"!==u||(l.defaultValue=a.defaultValue);if(t)if(n)for(o=o||he(e),s=s||he(c),i=0,r=o.length;i<r;i++)Le(o[i],s[i]);else Le(e,c);return 0<(s=he(c,"script")).length&&pe(s,!f&&he(e,"script")),c},cleanData:function(e){for(var t,n,i,r=C.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[X.expando]){if(t.events)for(i in t.events)r[i]?C.event.remove(n,i):C.removeEvent(n,i,t.handle);n[X.expando]=void 0}n[G.expando]&&(n[G.expando]=void 0)}}}),C.fn.extend({detach:function(e){return He(this,e,!0)},remove:function(e){return He(this,e)},text:function(e){return U(this,function(e){return void 0===e?C.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ie(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Ie(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(C.cleanData(he(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return C.clone(this,e,t)})},html:function(e){return U(this,function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!de[(ce.exec(e)||["",""])[1].toLowerCase()]){e=C.htmlPrefilter(e);try{for(;n<i;n++)1===(t=this[n]||{}).nodeType&&(C.cleanData(he(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;C.inArray(this,n)<0&&(C.cleanData(he(this)),t&&t.replaceChild(e,this))},n)}}),C.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,s){C.fn[e]=function(e){for(var t,n=[],i=C(e),r=i.length-1,o=0;o<=r;
vendor: 15,124 bytes, line 1
1o++)t=o===r?this:this.clone(!0),C(i[o])[s](t),l.apply(n,t.get());return this.pushStack(n)}});var qe=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=x),t.getComputedStyle(e)},Re=new RegExp(ie.join("|"),"i");function We(e,t,n){var i,r,o,s,a=e.style;return(n=n||Me(e))&&(""!==(s=n.getPropertyValue(t)||n[t])||C.contains(e.ownerDocument,e)||(s=C.style(e,t)),!v.pixelBoxStyles()&&qe.test(s)&&Re.test(t)&&(i=a.width,r=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=i,a.minWidth=r,a.maxWidth=o)),void 0!==s?s+"":s}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){a.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",_e.appendChild(a).appendChild(l);var e=x.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),i=36===t(e.width),l.style.position="absolute",r=36===l.offsetWidth||"absolute",_e.removeChild(a),l=null}}function t(e){return Math.round(parseFloat(e))}var n,i,r,o,s,a=T.createElement("div"),l=T.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,C.extend(v,{boxSizingReliable:function(){return e(),i},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),r}}))}();var Be=/^(none|table(?!-c[ea]).+)/,Ue=/^--/,Ke={position:"absolute",visibility:"hidden",display:"block"},$e={letterSpacing:"0",fontWeight:"400"},Qe=["Webkit","Moz","ms"],Ye=T.createElement("div").style;function Ve(e){var t=C.cssProps[e];return t||(t=C.cssProps[e]=function(e){if(e in Ye)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;n--;)if((e=Qe[n]+t)in Ye)return e}(e)||e),t}function ze(e,t,n){var i=ne.exec(t);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):t}function Xe(e,t,n,i,r,o){var s="width"===t?1:0,a=0,l=0;if(n===(i?"border":"content"))return 0;for(;s<4;s+=2)"margin"===n&&(l+=C.css(e,n+ie[s],!0,r)),i?("content"===n&&(l-=C.css(e,"padding"+ie[s],!0,r)),"margin"!==n&&(l-=C.css(e,"border"+ie[s]+"Width",!0,r))):(l+=C.css(e,"padding"+ie[s],!0,r),"padding"!==n?l+=C.css(e,"border"+ie[s]+"Width",!0,r):a+=C.css(e,"border"+ie[s]+"Width",!0,r));return!i&&0<=o&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-a-.5))),l}function Ge(e,t,n){var i=Me(e),r=We(e,t,i),o="border-box"===C.css(e,"boxSizing",!1,i),s=o;if(qe.test(r)){if(!n)return r;r="auto"}return s=s&&(v.boxSizingReliable()||r===e.style[t]),("auto"===r||!parseFloat(r)&&"inline"===C.css(e,"display",!1,i))&&(r=e["offset"+t[0].toUpperCase()+t.slice(1)],s=!0),(r=parseFloat(r)||0)+Xe(e,t,n||(o?"border":"content"),s,i,r)+"px"}function Je(e,t,n,i,r){return new Je.prototype.init(e,t,n,i,r)}C.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,o,s,a=Y(t),l=Ue.test(t),u=e.style;if(l||(t=Ve(a)),s=C.cssHooks[t]||C.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(r=s.get(e,!1,i))?r:u[t];"string"===(o=typeof n)&&(r=ne.exec(n))&&r[1]&&(n=se(e,t,r),o="number"),null!=n&&n==n&&("number"===o&&(n+=r&&r[3]||(C.cssNumber[a]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,i))||(l?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,i){var r,o,s,a=Y(t);return Ue.test(t)||(t=Ve(a)),(s=C.cssHooks[t]||C.cssHooks[a])&&"get"in s&&(r=s.get(e,!0,n)),void 0===r&&(r=We(e,t,i)),"normal"===r&&t in $e&&(r=$e[t]),""===n||n?(o=parseFloat(r),!0===n||isFinite(o)?o||0:r):r}}),C.each(["height","width"],function(e,a){C.cssHooks[a]={get:function(e,t,n){if(t)return!Be.test(C.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ge(e,a,n):oe(e,Ke,function(){return Ge(e,a,n)})},set:function(e,t,n){var i,r=Me(e),o="border-box"===C.css(e,"boxSizing",!1,r),s=n&&Xe(e,a,n,o,r);return o&&v.scrollboxSize()===r.position&&(s-=Math.ceil(e["offset"+a[0].toUpperCase()+a.slice(1)]-parseFloat(r[a])-Xe(e,a,"border",!1,r)-.5)),s&&(i=ne.exec(t))&&"px"!==(i[3]||"px")&&(e.style[a]=t,t=C.css(e,a)),ze(0,t,s)}}}),C.cssHooks.marginLeft=Fe(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-oe(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),C.each({margin:"",padding:"",border:"Width"},function(r,o){C.cssHooks[r+o]={expand:function(e){for(var t=0,n={},i="string"==typeof e?e.split(" "):[e];t<4;t++)n[r+ie[t]+o]=i[t]||i[t-2]||i[0];return n}},"margin"!==r&&(C.cssHooks[r+o].set=ze)}),C.fn.extend({css:function(e,t){return U(this,function(e,t,n){var i,r,o={},s=0;if(Array.isArray(t)){for(i=Me(e),r=t.length;s<r;s++)o[t[s]]=C.css(e,t[s],!1,i);return o}return void 0!==n?C.style(e,t,n):C.css(e,t)},e,t,1<arguments.length)}}),((C.Tween=Je).prototype={constructor:Je,init:function(e,t,n,i,r,o){this.elem=e,this.prop=n,this.easing=r||C.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=o||(C.cssNumber[n]?"":"px")},cur:function(){var e=Je.propHooks[this.prop];return e&&e.get?e.get(this):Je.propHooks._default.get(this)},run:function(e){var t,n=Je.propHooks[this.prop];return this.options.duration?this.pos=t=C.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Je.propHooks._default.set(this),this}}).init.prototype=Je.prototype,(Je.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=C.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){C.fx.step[e.prop]?C.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[C.cssProps[e.prop]]&&!C.cssHooks[e.prop]?e.elem[e.prop]=e.now:C.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Je.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},C.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},C.fx=Je.prototype.init,C.fx.step={};var Ze,et,tt,nt,it=/^(?:toggle|show|hide)$/,rt=/queueHooks$/;function ot(){et&&(!1===T.hidden&&x.requestAnimationFrame?x.requestAnimationFrame(ot):x.setTimeout(ot,C.fx.interval),C.fx.tick())}function st(){return x.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function at(e,t){var n,i=0,r={height:e};for(t=t?1:0;i<4;i+=2-t)r["margin"+(n=ie[i])]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function lt(e,t,n){for(var i,r=(ut.tweeners[t]||[]).concat(ut.tweeners["*"]),o=0,s=r.length;o<s;o++)if(i=r[o].call(n,t,e))return i}function ut(o,e,t){var n,s,i=0,r=ut.prefilters.length,a=C.Deferred().always(function(){delete l.elem}),l=function(){if(s)return!1;for(var e=Ze||st(),t=Math.max(0,u.startTime+u.duration-e),n=1-(t/u.duration||0),i=0,r=u.tweens.length;i<r;i++)u.tweens[i].run(n);return a.notifyWith(o,[u,n,t]),n<1&&r?t:(r||a.notifyWith(o,[u,1,0]),a.resolveWith(o,[u]),!1)},u=a.promise({elem:o,props:C.extend({},e),opts:C.extend(!0,{specialEasing:{},easing:C.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||st(),duration:t.duration,tweens:[],createTween:function(e,t){var n=C.Tween(o,u.opts,e,t,u.opts.specialEasing[e]||u.opts.easing);return u.tweens.push(n),n},stop:function(e){var t=0,n=e?u.tweens.length:0;if(s)return this;for(s=!0;t<n;t++)u.tweens[t].run(1);return e?(a.notifyWith(o,[u,1,0]),a.resolveWith(o,[u,e])):a.rejectWith(o,[u,e]),this}}),c=u.props;for(!function(e,t){var n,i,r,o,s;for(n in e)if(r=t[i=Y(n)],o=e[n],Array.isArray(o)&&(r=o[1],o=e[n]=o[0]),n!==i&&(e[i]=o,delete e[n]),(s=C.cssHooks[i])&&"expand"in s)for(n in o=s.expand(o),delete e[i],o)n in e||(e[n]=o[n],t[n]=r);else t[i]=r}(c,u.opts.specialEasing);i<r;i++)if(n=ut.prefilters[i].call(u,o,c,u.opts))return y(n.stop)&&(C._queueHooks(u.elem,u.opts.queue).stop=n.stop.bind(n)),n;return C.map(c,lt,u),y(u.opts.start)&&u.opts.start.call(o,u),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always),C.fx.timer(C.extend(l,{elem:o,anim:u,queue:u.opts.queue})),u}C.Animation=C.extend(ut,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){y(e)?(t=e,e=["*"]):e=e.match(H);for(var n,i=0,r=e.length;i<r;i++)n=e[i],ut.tweeners[n]=ut.tweeners[n]||[],ut.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var i,r,o,s,a,l,u,c,f="width"in t||"height"in t,d=this,h={},p=e.style,g=e.nodeType&&re(e),m=X.get(e,"fxshow");for(i in n.queue||(null==(s=C._queueHooks(e,"fx")).unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,d.always(function(){d.always(function(){s.unqueued--,C.queue(e,"fx").length||s.empty.fire()})})),t)if(r=t[i],it.test(r)){if(delete t[i],o=o||"toggle"===r,r===(g?"hide":"show")){if("show"!==r||!m||void 0===m[i])continue;g=!0}h[i]=m&&m[i]||C.style(e,i)}if((l=!C.isEmptyObject(t))||!C.isEmptyObject(h))for(i in f&&1===e.nodeType&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],null==(u=m&&m.display)&&(u=X.get(e,"display")),"none"===(c=C.css(e,"display"))&&(u?c=u:(le([e],!0),u=e.style.display||u,c=C.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=u)&&"none"===C.css(e,"float")&&(l||(d.done(function(){p.display=u}),null==u&&(c=p.display,u="none"===c?"":c)),p.display="inline-block")),n.overflow&&(p.overflow="hidden",d.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]})),l=!1,h)l||(m?"hidden"in m&&(g=m.hidden):m=X.access(e,"fxshow",{display:u}),o&&(m.hidden=!g),g&&le([e],!0),d.done(function(){for(i in g||le([e]),X.remove(e,"fxshow"),h)C.style(e,i,h[i])})),l=lt(g?m[i]:0,i,d),i in m||(m[i]=l.start,g&&(l.end=l.start,l.start=0))}],prefilter:function(e,t){t?ut.prefilters.unshift(e):ut.prefilters.push(e)}}),C.speed=function(e,t,n){var i=e&&"object"==typeof e?C.extend({},e):{complete:n||!n&&t||y(e)&&e,duration:e,easing:n&&t||t&&!y(t)&&t};return C.fx.off?i.duration=0:"number"!=typeof i.duration&&(i.duration in C.fx.speeds?i.duration=C.fx.speeds[i.duration]:i.duration=C.fx.speeds._default),null!=i.queue&&!0!==i.queue||(i.queue="fx"),i.old=i.complete,i.complete=function(){y(i.old)&&i.old.call(this),i.queue&&C.dequeue(this,i.queue)},i},C.fn.extend({fadeTo:function(e,t,n,i){return this.filter(re).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(t,e,n,i){var r=C.isEmptyObject(t),o=C.speed(e,n,i),s=function(){var e=ut(this,C.extend({},t),o);(r||X.get(this,"finish"))&&e.stop(!0)};return s.finish=s,r||!1===o.queue?this.each(s):this.queue(o.queue,s)},stop:function(r,e,o){var s=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof r&&(o=e,e=r,r=void 0),e&&!1!==r&&this.queue(r||"fx",[]),this.each(function(){var e=!0,t=null!=r&&r+"queueHooks",n=C.timers,i=X.get(this);if(t)i[t]&&i[t].stop&&s(i[t]);else for(t in i)i[t]&&i[t].stop&&rt.test(t)&&s(i[t]);for(t=n.length;t--;)n[t].elem!==this||null!=r&&n[t].queue!==r||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||C.dequeue(this,r)})},finish:function(s){return!1!==s&&(s=s||"fx"),this.each(function(){var e,t=X.get(this),n=t[s+"queue"],i=t[s+"queueHooks"],r=C.timers,o=n?n.length:0;for(t.finish=!0,C.queue(this,s,[]),i&&i.stop&&i.stop.call(this,!0),e=r.length;e--;)r[e].elem===this&&r[e].queue===s&&(r[e].anim.stop(!0),r.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),C.each(["toggle","show","hide"],function(e,i){var r=C.fn[i];C.fn[i]=function(e,t,n){return null==e||"boolean"==typeof e?r.apply(this,arguments):this.animate(at(i,!0),e,t,n)}}),C.each({slideDown:at("show"),slideUp:at("hide"),slideToggle:at("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,i){C.fn[e]=function(e,t,n){return this.animate(i,e,t,n)}}),C.timers=[],C.fx.tick=function(){var e,t=0,n=C.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||C.fx.stop(),Ze=void 0},C.fx.timer=function(e){C.timers.push(e),C.fx.start()},C.fx.interval=13,C.fx.start=function(){et||(et=!0,ot())},C.fx.stop=function(){et=null},C.fx.speeds={slow:600,fast:200,_default:400},C.fn.delay=function(i,e){return i=C.fx&&C.fx.speeds[i]||i,e=e||"fx",this.queue(e,function(e,t){var n=x.setTimeout(e,i);t.stop=function(){x.clearTimeout(n)}})},tt=T.createElement("input"),nt=T.createElement("select").appendChild(T.createElement("option")),tt.type="checkbox",v.checkOn=""!==tt.value,v.optSelected=nt.selected,(tt=T.createElement("input")).value="t",tt.type="radio",v.radioValue="t"===tt.value;var ct,ft=C.expr.attrHandle;C.fn.extend({attr:function(e,t){return U(this,C.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){C.removeAttr(this,e)})}}),C.extend({attr:function(e,t,n){var i,r,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?C.prop(e,t,n):(1===o&&C.isXMLDoc(e)||(r=C.attrHooks[t.toLowerCase()]||(C.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void C.removeAttr(e,t):r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:(e.setAttribute(t,n+""),n):r&&"get"in r&&null!==(i=r.get(e,t))?i:null==(i=C.find.attr(e,t))?void 0:i)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,i=0,r=t&&t.match(H);if(r&&1===e.nodeType)for(;n=r[i++];)e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?C.removeAttr(e,n):e.setAttribute(n,n),n}},C.each(C.expr.match.bool.source.match(/\w+/g),function(e,t){var s=ft[t]||C.find.attr;ft[t]=function(e,t,n){var i,r,o=t.toLowerCase();return n||(r=ft[o],ft[o]=i,i=null!=s(e,t,n)?o:null,ft[o]=r),i}});var dt=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;function pt(e){return(e.match(H)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)||[]}C.fn.extend({prop:function(e,t){return U(this,C.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[C.propFix[e]||e]})}}),C.extend({prop:function(e,t,n){var i,r,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&C.isXMLDoc(e)||(t=C.propFix[t]||t,r=C.propHooks[t]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:e[t]=n:r&&"get"in r&&null!==(i=r.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=C.find.attr(e,"tabindex");return t?parseInt(t,10):dt.test(e.nodeName)||ht.test(e.nodeName)&&e.href?
vendor: 2,807 bytes, line 1
10:-1}}},propFix:{for:"htmlFor",class:"className"}}),v.optSelected||(C.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),C.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){C.propFix[this.toLowerCase()]=this}),C.fn.extend({addClass:function(t){var e,n,i,r,o,s,a,l=0;if(y(t))return this.each(function(e){C(this).addClass(t.call(this,e,gt(this)))});if((e=mt(t)).length)for(;n=this[l++];)if(r=gt(n),i=1===n.nodeType&&" "+pt(r)+" "){for(s=0;o=e[s++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");r!==(a=pt(i))&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,i,r,o,s,a,l=0;if(y(t))return this.each(function(e){C(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)for(;n=this[l++];)if(r=gt(n),i=1===n.nodeType&&" "+pt(r)+" "){for(s=0;o=e[s++];)for(;-1<i.indexOf(" "+o+" ");)i=i.replace(" "+o+" "," ");r!==(a=pt(i))&&n.setAttribute("class",a)}return this},toggleClass:function(r,t){var o=typeof r,s="string"===o||Array.isArray(r);return"boolean"==typeof t&&s?t?this.addClass(r):this.removeClass(r):y(r)?this.each(function(e){C(this).toggleClass(r.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,i;if(s)for(t=0,n=C(this),i=mt(r);e=i[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==r&&"boolean"!==o||((e=gt(this))&&X.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===r?"":X.get(this,"__className__")||""))})},hasClass:function(e){var t,n,i=0;for(t=" "+e+" ";n=this[i++];)if(1===n.nodeType&&-1<(" "+pt(gt(n))+" ").indexOf(t))return!0;return!1}});var vt=/\r/g;C.fn.extend({val:function(n){var i,e,r,t=this[0];return arguments.length?(r=y(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=r?n.call(this,e,C(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=C.map(t,function(e){return null==e?"":e+""})),(i=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in i&&void 0!==i.set(this,t,"value")||(this.value=t))})):t?(i=C.valHooks[t.type]||C.valHooks[t.nodeName.toLowerCase()])&&"get"in i&&void 0!==(e=i.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(vt,""):null==e?"":e:void 0}}),C.extend({valHooks:{option:{get:function(e){var t=C.find.attr(e,"value");return null!=t?t:pt(C.text(e))}},select:{get:function(e){var t,n,i,r=e.options,o=e.selectedIndex,s="select-one"===e.type,a=s?null:[],l=s?o+1:r.length;for(i=o<0?l:s?o:0;i<l;i++)if(((n=r[i]).selected||i===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=C(n).val(),s)return t;a.push(t)}return a}
vendor: 12,755 bytes, line 1
1,set:function(e,t){for(var n,i,r=e.options,o=C.makeArray(t),s=r.length;s--;)((i=r[s]).selected=-1<C.inArray(C.valHooks.option.get(i),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),C.each(["radio","checkbox"],function(){C.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<C.inArray(C(e).val(),t)}},v.checkOn||(C.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in x;var yt=/^(?:focusinfocus|focusoutblur)$/,_t=function(e){e.stopPropagation()};C.extend(C.event,{trigger:function(e,t,n,i){var r,o,s,a,l,u,c,f,d=[n||T],h=m.call(e,"type")?e.type:e,p=m.call(e,"namespace")?e.namespace.split("."):[];if(o=f=s=n=n||T,3!==n.nodeType&&8!==n.nodeType&&!yt.test(h+C.event.triggered)&&(-1<h.indexOf(".")&&(h=(p=h.split(".")).shift(),p.sort()),l=h.indexOf(":")<0&&"on"+h,(e=e[C.expando]?e:new C.Event(h,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=p.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:C.makeArray(t,[e]),c=C.event.special[h]||{},i||!c.trigger||!1!==c.trigger.apply(n,t))){if(!i&&!c.noBubble&&!_(n)){for(a=c.delegateType||h,yt.test(a+h)||(o=o.parentNode);o;o=o.parentNode)d.push(o),s=o;s===(n.ownerDocument||T)&&d.push(s.defaultView||s.parentWindow||x)}for(r=0;(o=d[r++])&&!e.isPropagationStopped();)f=o,e.type=1<r?a:c.bindType||h,(u=(X.get(o,"events")||{})[e.type]&&X.get(o,"handle"))&&u.apply(o,t),(u=l&&o[l])&&u.apply&&V(o)&&(e.result=u.apply(o,t),!1===e.result&&e.preventDefault());return e.type=h,i||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!V(n)||l&&y(n[h])&&!_(n)&&((s=n[l])&&(n[l]=null),C.event.triggered=h,e.isPropagationStopped()&&f.addEventListener(h,_t),n[h](),e.isPropagationStopped()&&f.removeEventListener(h,_t),C.event.triggered=void 0,s&&(n[l]=s)),e.result}},simulate:function(e,t,n){var i=C.extend(new C.Event,n,{type:e,isSimulated:!0});C.event.trigger(i,null,t)}}),C.fn.extend({trigger:function(e,t){return this.each(function(){C.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return C.event.trigger(e,t,n,!0)}}),v.focusin||C.each({focus:"focusin",blur:"focusout"},function(n,i){var r=function(e){C.event.simulate(i,e.target,C.event.fix(e))};C.event.special[i]={setup:function(){var e=this.ownerDocument||this,t=X.access(e,i);t||e.addEventListener(n,r,!0),X.access(e,i,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=X.access(e,i)-1;t?X.access(e,i,t):(e.removeEventListener(n,r,!0),X.remove(e,i))}}});var bt=x.location,wt=Date.now(),Et=/\?/;C.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new x.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||C.error("Invalid XML: "+e),t};var xt=/\[\]$/,Tt=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,i,r){var t;if(Array.isArray(e))C.each(e,function(e,t){i||xt.test(n)?r(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,i,r)});else if(i||"object"!==w(e))r(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],i,r)}C.param=function(e,t){var n,i=[],r=function(e,t){var n=y(t)?t():t;i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!C.isPlainObject(e))C.each(e,function(){r(this.name,this.value)});else for(n in e)Dt(n,e[n],t,r);return i.join("&")},C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=C.prop(this,"elements");return e?C.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!C(this).is(":disabled")&&St.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!ue.test(e))}).map(function(e,t){var n=C(this).val();return null==n?null:Array.isArray(n)?C.map(n,function(e){return{name:t.name,value:e.replace(Tt,"\r\n")}}):{name:t.name,value:n.replace(Tt,"\r\n")}}).get()}});var At=/%20/g,Nt=/#.*$/,kt=/([?&])_=[^&]*/,It=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,jt=/^\/\//,Lt={},Pt={},Ht="*/".concat("*"),qt=T.createElement("a");function Mt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,i=0,r=e.toLowerCase().match(H)||[];if(y(t))for(;n=r[i++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Rt(t,r,o,s){var a={},l=t===Pt;function u(e){var i;return a[e]=!0,C.each(t[e]||[],function(e,t){var n=t(r,o,s);return"string"!=typeof n||l||a[n]?l?!(i=n):void 0:(r.dataTypes.unshift(n),u(n),!1)}),i}return u(r.dataTypes[0])||!a["*"]&&u("*")}function Wt(e,t){var n,i,r=C.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:i||(i={}))[n]=t[n]);return i&&C.extend(!0,e,i),e}qt.href=bt.href,C.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ht,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":C.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Wt(Wt(e,C.ajaxSettings),t):Wt(C.ajaxSettings,e)},ajaxPrefilter:Mt(Lt),ajaxTransport:Mt(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,d,n,h,i,p,g,r,o,m=C.ajaxSetup({},t),v=m.context||m,y=m.context&&(v.nodeType||v.jquery)?C(v):C.event,_=C.Deferred(),b=C.Callbacks("once memory"),w=m.statusCode||{},s={},a={},l="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(p){if(!n)for(n={};t=It.exec(d);)n[t[1].toLowerCase()]=t[2];t=n[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return p?d:null},setRequestHeader:function(e,t){return null==p&&(e=a[e.toLowerCase()]=a[e.toLowerCase()]||e,s[e]=t),this},overrideMimeType:function(e){return null==p&&(m.mimeType=e),this},statusCode:function(e){var t;if(e)if(p)E.always(e[E.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||l;return c&&c.abort(t),u(0,t),this}};if(_.promise(E),m.url=((e||m.url||bt.href)+"").replace(jt,bt.protocol+"//"),m.type=t.method||t.type||m.method||m.type,m.dataTypes=(m.dataType||"*").toLowerCase().match(H)||[""],null==m.crossDomain){i=T.createElement("a");try{i.href=m.url,i.href=i.href,m.crossDomain=qt.protocol+"//"+qt.host!=i.protocol+"//"+i.host}catch(e){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=C.param(m.data,m.traditional)),Rt(Lt,m,t,E),p)return E;for(r in(g=C.event&&m.global)&&0==C.active++&&C.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!Ot.test(m.type),f=m.url.replace(Nt,""),m.hasContent?m.data&&m.processData&&0===(m.contentType||"").indexOf("application/x-www-form-urlencoded")&&(m.data=m.data.replace(At,"+")):(o=m.url.slice(f.length),m.data&&(m.processData||"string"==typeof m.data)&&(f+=(Et.test(f)?"&":"?")+m.data,delete m.data),!1===m.cache&&(f=f.replace(kt,"$1"),o=(Et.test(f)?"&":"?")+"_="+wt+++o),m.url=f+o),m.ifModified&&(C.lastModified[f]&&E.setRequestHeader("If-Modified-Since",C.lastModified[f]),C.etag[f]&&E.setRequestHeader("If-None-Match",C.etag[f])),(m.data&&m.hasContent&&!1!==m.contentType||t.contentType)&&E.setRequestHeader("Content-Type",m.contentType),E.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Ht+"; q=0.01":""):m.accepts["*"]),m.headers)E.setRequestHeader(r,m.headers[r]);if(m.beforeSend&&(!1===m.beforeSend.call(v,E,m)||p))return E.abort();if(l="abort",b.add(m.complete),E.done(m.success),E.fail(m.error),c=Rt(Pt,m,t,E)){if(E.readyState=1,g&&y.trigger("ajaxSend",[E,m]),p)return E;m.async&&0<m.timeout&&(h=x.setTimeout(function(){E.abort("timeout")},m.timeout));try{p=!1,c.send(s,u)}catch(e){if(p)throw e;u(-1,e)}}else u(-1,"No Transport");function u(e,t,n,i){var r,o,s,a,l,u=t;p||(p=!0,h&&x.clearTimeout(h),c=void 0,d=i||"",E.readyState=0<e?4:0,r=200<=e&&e<300||304===e,n&&(a=function(e,t,n){for(var i,r,o,s,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){l.unshift(r);break}if(l[0]in n)o=l[0];else{for(r in n){if(!l[0]||e.converters[r+" "+l[0]]){o=r;break}s||(s=r)}o=o||s}if(o)return o!==l[0]&&l.unshift(o),n[o]}(m,E,n)),a=function(e,t,n,i){var r,o,s,a,l,u={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)u[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(s=u[l+" "+o]||u["* "+o]))for(r in u)if((a=r.split(" "))[1]===o&&(s=u[l+" "+a[0]]||u["* "+a[0]])){!0===s?s=u[r]:!0!==u[r]&&(o=a[0],c.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(m,a,E,r),r?(m.ifModified&&((l=E.getResponseHeader("Last-Modified"))&&(C.lastModified[f]=l),(l=E.getResponseHeader("etag"))&&(C.etag[f]=l)),204===e||"HEAD"===m.type?u="nocontent":304===e?u="notmodified":(u=a.state,o=a.data,r=!(s=a.error))):(s=u,!e&&u||(u="error",e<0&&(e=0))),E.status=e,E.statusText=(t||u)+"",r?_.resolveWith(v,[o,u,E]):_.rejectWith(v,[E,u,s]),E.statusCode(w),w=void 0,g&&y.trigger(r?"ajaxSuccess":"ajaxError",[E,m,r?o:s]),b.fireWith(v,[E,u]),g&&(y.trigger("ajaxComplete",[E,m]),--C.active||C.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return C.get(e,t,n,"json")},getScript:function(e,t){return C.get(e,void 0,t,"script")}}),C.each(["get","post"],function(e,r){C[r]=function(e,t,n,i){return y(t)&&(i=i||n,n=t,t=void 0),C.ajax(C.extend({url:e,type:r,dataType:i,data:t,success:n},C.isPlainObject(e)&&e))}}),C._evalUrl=function(e){return C.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},C.fn.extend({wrapAll:function(e){var t;return this[0]&&(y(e)&&(e=e.call(this[0])),t=C(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return y(n)?this.each(function(e){C(this).wrapInner(n.call(this,e))}):this.each(function(){var e=C(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=y(t);return this.each(function(e){C(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){C(this).replaceWith(this.childNodes)}),this}}),C.expr.pseudos.hidden=function(e){return!C.expr.pseudos.visible(e)},C.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},C.ajaxSettings.xhr=function(){try{return new x.XMLHttpRequest}catch(e){}};var Ft={0:200,1223:204},Bt=C.ajaxSettings.xhr();v.cors=!!Bt&&"withCredentials"in Bt,v.ajax=Bt=!!Bt,C.ajaxTransport(function(r){var o,s;if(v.cors||Bt&&!r.crossDomain)return{send:function(e,t){var n,i=r.xhr();if(i.open(r.type,r.url,r.async,r.username,r.password),r.xhrFields)for(n in r.xhrFields)i[n]=r.xhrFields[n];for(n in r.mimeType&&i.overrideMimeType&&i.overrideMimeType(r.mimeType),r.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)i.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=s=i.onload=i.onerror=i.onabort=i.ontimeout=i.onreadystatechange=null,"abort"===e?i.abort():"error"===e?"number"!=typeof i.status?t(0,"error"):t(i.status,i.statusText):t(Ft[i.status]||i.status,i.statusText,"text"!==(i.responseType||"text")||"string"!=typeof i.responseText?{binary:i.response}:{text:i.responseText},i.getAllResponseHeaders()))}},i.onload=o(),s=i.onerror=i.ontimeout=o("error"),void 0!==i.onabort?i.onabort=s:i.onreadystatechange=function(){4===i.readyState&&x.setTimeout(function(){o&&s()})},o=o("abort");try{i.send(r.hasContent&&r.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),C.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),C.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return C.globalEval(e),e}}}),C.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),C.ajaxTransport("script",function(n){var i,r;if(n.crossDomain)return{send:function(e,t){i=C("<script>
1").prop({charset:n.scriptCharset,src:n.url}).on("load error",r=function(e){i.remove(),r=null,e&&t("error"===e.type?404:200,e.type)}),T.head.appendChild(i[0])},abort:function(){r&&r()}}});var Ut,Kt=[],$t=/(=)\?(?=&|$)|\?\?/;C.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||C.expando+"_"+wt++;return this[e]=!0,e}}),C.ajaxPrefilter("json jsonp",function(e,t,n){var i,r,o,s=!1!==e.jsonp&&($t.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&$t.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return i=e.jsonpCallback=y(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace($t,"$1"+i):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return o||C.error(i+" was not called"),o[0]},e.dataTypes[0]="json",r=x[i],x[i]=function(){o=arguments},n.always(function(){void 0===r?C(x).removeProp(i):x[i]=r,e[i]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(i)),o&&y(r)&&r(o[0]),o=r=void 0}),"script"}),v.createHTMLDocument=((Ut=T.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),C.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((i=(t=T.implementation.createHTMLDocument("")).createElement("base")).href=T.location.href,t.head.appendChild(i)):t=T),o=!n&&[],(r=N.exec(e))?[t.createElement(r[1])]:(r=ye([e],t,o),o&&o.length&&C(o).remove(),C.merge([],r.childNodes)));var i,r,o},C.fn.load=function(e,t,n){var i,r,o,s=this,a=e.indexOf(" ");return-1<a&&(i=pt(e.slice(a)),e=e.slice(0,a)),y(t)?(n=t,t=void 0):t&&"object"==typeof t&&(r="POST"),0<s.length&&C.ajax({url:e,type:r||"GET",dataType:"html",data:t}).done(function(e){o=arguments,s.html(i?C("<div>").append(C.parseHTML(e)).find(i):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},C.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){C.fn[t]=function(e){return this.on(t,e)}}),C.expr.pseudos.animated=function(t){return C.grep(C.timers,function(e){return t===e.elem}).length},C.offset={setOffset:function(e,t,n){var i,r,o,s,a,l,u=C.css(e,"position"),c=C(e),f={};"static"===u&&(e.style.position="relative"),a=c.offset(),o=C.css(e,"top"),l=C.css(e,"left"),("absolute"===u||"fixed"===u)&&-1<(o+l).indexOf("auto")?(s=(i=c.position()).top,r=i.left):(s=parseFloat(o)||0,r=parseFloat(l)||0),y(t)&&(t=t.call(e,n,C.extend({},a))),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+r),"using"in t?t.using.call(e,f):c.css(f)}},C.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){C.offset.setOffset(this,t,e)});var e,n,i=this[0];return i?i.getClientRects().length?(e=i.getBoundingClientRect(),n=i.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,i=this[0],r={top:0,left:0};if("fixed"===C.css(i,"position"))t=i.getBoundingClientRect();else{for(t=this.offset(),n=i.ownerDocument,e=i.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===C.css(e,"position");)e=e.parentNode;e&&e!==i&&1===e.nodeType&&((r=C(e).offset()).top+=C.css(e,"borderTopWidth",!0),r.left+=C.css(e,"borderLeftWidth",!0))}return{top:t.top-r.top-C.css(i,"marginTop",!0),left:t.left-r.left-C.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===C.css(e,"position");)e=e.offsetParent;return e||_e})}}),C.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,r){var o="pageYOffset"===r;C.fn[t]=function(e){return U(this,function(e,t,n){var i;if(_(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===n)return i?i[r]:e[t];i?i.scrollTo(o?i.pageXOffset:n,o?n:i.pageYOffset):e[t]=n},t,e,arguments.length)}}),C.each(["top","left"],function(e,n){C.cssHooks[n]=Fe(v.pixelPosition,function(e,t){if(t)return t=We(e,n),qe.test(t)?C(e).position()[n]+"px":t})}),C.each({Height:"height",Width:"width"},function(s,a){C.each({padding:"inner"+s,content:a,"":"outer"+s},function(i,o){C.fn[o]=function(e,t){var n=arguments.length&&(i||"boolean"!=typeof e),r=i||(!0===e||!0===t?"margin":"border");return U(this,function(e,t,n){var i;return _(e)?0===o.indexOf("outer")?e["inner"+s]:e.document.documentElement["client"+s]:9===e.nodeType?(i=e.documentElement,Math.max(e.body["scroll"+s],i["scroll"+s],e.body["offset"+s],i["offset"+s],i["client"+s])):void 0===n?C.css(e,t,r):C.style(e,t,n,r)},a,n?e:void 0,n)}})}),C.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){C.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),C.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),C.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),C.proxy=function(e,t){var n,i,r;if("string"==typeof t&&(n=e[t],t=e,e=n),y(e))return i=a.call(arguments,2),(r=function(){return e.apply(t||this,i.concat(a.call(arguments)))}).guid=e.guid=e.guid||C.guid++,r},C.holdReady=function(e){e?C.readyWait++:C.ready(!0)},C.isArray=Array.isArray,C.parseJSON=JSON.parse,C.nodeName=A,C.isFunction=y,C.isWindow=_,C.camel
1Case=Y,C.type=w,C.now=Date.now,C.isNumeric=function(e){var t=C.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return C});var Qt=x.jQuery,Yt=x.$;return C.noConflict=function(e){return x.$===C&&(x.$=Yt),e&&x.jQuery===C&&(x.jQuery=Qt),C},e||(x.jQuery=x.$=C),C}),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Popper=t()}(this,function(){"use strict";for(var e="undefined"!=typeof window&&"undefined"!=typeof document,t=["Edge","Trident","Firefox"],n=0,i=0;i<t.length;i+=1)if(e&&0<=navigator.userAgent.indexOf(t[i])){n=1;break}var s=e&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},n))}};function a(e){return e&&"[object Function]"==={}.toString.call(e)}function b(e,t){if(1!==e.nodeType)return[];var n=getComputedStyle(e,null);return t?n[t]:n}function h(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function p(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=b(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/(auto|scroll|overlay)/.test(n+r+i)?e:p(h(e))}var r=e&&!(!window.MSInputMethodContext||!document.documentMode),o=e&&/MSIE 10/.test(navigator.userAgent);function g(e){return 11===e?r:10===e?o:r||o}function _(e){if(!e)return document.documentElement;for(var t=g(10)?document.body:null,n=e.offsetParent;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===b(n,"position")?_(n):n:e?e.ownerDocument.documentElement:document.documentElement}function c(e){return null!==e.parentNode?c(e.parentNode):e}function m(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?e:t,r=n?t:e,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s,a,l=o.commonAncestorContainer;if(e!==l&&t!==l||i.contains(r))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&_(s.firstElementChild)!==s?_(l):l;var u=c(e);return u.host?m(u.host,t):m(e,c(t).host)}function v(e){var t="top"===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var i=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||i)[t]}return e[t]}function f(e,t){var n="x"===t?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+i+"Width"],10)}function l(e,t,n,i){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],g(10)?parseInt(n["offset"+e])+parseInt(i["margin"+("Height"===e?"Top":"Left")])+parseInt(i["margin"+("Height"===e?"Bottom":"Right")]):0)}function y(e){var t=e.body,n=e.documentElement,i=g(10)&&getComputedStyle(n);return{height:l("Height",t,n,i),width:l("Width",t,n,i)}}var u=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}(),w=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},E=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};function x(e){return E({},e,{right:e.left+e.width,bottom:e.top+e.height})}function T(e){var t={};try{if(g(10)){t=e.getBoundingClientRect();var n=v(e,"top"),i=v(e,"left");t.top+=n,t.left+=i,t.bottom+=n,t.right+=i}else t=e.getBoundingClientRect()}catch(e){}var r={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o="HTML"===e.nodeName?y(e.ownerDocument):{},s=o.width||e.clientWidth||r.right-r.left,a=o.height||e.clientHeight||r.bottom-r.top,l=e.offsetWidth-s,u=e.offsetHeight-a;if(l||u){var c=b(e);l-=f(c,"x"),u-=f(c,"y"),r.width-=l,r.height-=u}return x(r)}function C(e,t){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=g(10),r="HTML"===t.nodeName,o=T(e),s=T(t),a=p(e),l=b(t),u=parseFloat(l.borderTopWidth,10),c=parseFloat(l.borderLeftWidth,10);n&&r&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var f=x({top:o.top-s.top-u,left:o.left-s.left-c,width:o.width,height:o.height});
vendor: 9,088 bytes, line 1
1if(f.marginTop=0,f.marginLeft=0,!i&&r){var d=parseFloat(l.marginTop,10),h=parseFloat(l.marginLeft,10);f.top-=u-d,f.bottom-=u-d,f.left-=c-h,f.right-=c-h,f.marginTop=d,f.marginLeft=h}return(i&&!n?t.contains(a):t===a&&"BODY"!==a.nodeName)&&(f=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=v(t,"top"),r=v(t,"left"),o=n?-1:1;return e.top+=i*o,e.bottom+=i*o,e.left+=r*o,e.right+=r*o,e}(f,t)),f}function S(e){if(!e||!e.parentElement||g())return document.documentElement;for(var t=e.parentElement;t&&"none"===b(t,"transform");)t=t.parentElement;return t||document.documentElement}function d(e,t,n,i){var r=4<arguments.length&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=r?S(e):m(e,t);if("viewport"===i)o=function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,i=C(e,n),r=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),s=t?0:v(n),a=t?0:v(n,"left");return x({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:r,height:o})}(s,r);else{var a=void 0;"scrollParent"===i?"BODY"===(a=p(h(t))).nodeName&&(a=e.ownerDocument.documentElement):a="window"===i?e.ownerDocument.documentElement:i;var l=C(a,s,r);if("HTML"!==a.nodeName||function e(t){var n=t.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===b(t,"position")||e(h(t)))}(s))o=l;else{var u=y(e.ownerDocument),c=u.height,f=u.width;o.top+=l.top-l.marginTop,o.bottom=c+l.top,o.left+=l.left-l.marginLeft,o.right=f+l.left}}var d="number"==typeof(n=n||0);return o.left+=d?n:n.left||0,o.top+=d?n:n.top||0,o.right-=d?n:n.right||0,o.bottom-=d?n:n.bottom||0,o}function D(e,t,i,n,r){var o=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var s=d(i,n,o,r),a={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},l=Object.keys(a).map(function(e){return E({key:e},a[e],{area:(t=a[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),u=l.filter(function(e){var t=e.width,n=e.height;return t>=i.clientWidth&&n>=i.clientHeight}),c=0<u.length?u[0].key:l[0].key,f=e.split("-")[1];return c+(f?"-"+f:"")}function A(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return C(n,i?S(t):m(t,n),i)}function N(e){var t=getComputedStyle(e),n=parseFloat(t.marginTop)+parseFloat(t.marginBottom),i=parseFloat(t.marginLeft)+parseFloat(t.marginRight);return{width:e.offsetWidth+i,height:e.offsetHeight+n}}function k(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function I(e,t,n){n=n.split("-")[0];var i=N(e),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",u=o?"width":"height";return r[s]=t[s]+t[l]/2-i[l]/2,r[a]=n===a?t[a]-i[u]:t[k(a)],r}function O(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function j(e,n,t){return(void 0===t?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var i=O(e,function(e){return e[t]===n});return e.indexOf(i)}(e,"name",t))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var t=e.function||e.fn;e.enabled&&a(t)&&(n.offsets.popper=x(n.offsets.popper),n.offsets.reference=x(n.offsets.reference),n=t(n,e))}),n}function L(e,n){return e.some(function(e){var t=e.name;return e.enabled&&t===n})}function P(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),i=0;i<t.length;i++){var r=t[i],o=r?""+r+n:e;if(void 0!==document.body.style[o])return o}return null}function H(e){var t=e.ownerDocument;return t?t.defaultView:window}function q(e,t,n,i){n.updateBound=i,H(e).addEventListener("resize",n.updateBound,{passive:!0});var r=p(e);return function e(t,n,i,r){var o="BODY"===t.nodeName,s=o?t.ownerDocument.defaultView:t;s.addEventListener(n,i,{passive:!0}),o||e(p(s.parentNode),n,i,r),r.push(s)}(r,"scroll",n.updateBound,n.scrollParents),n.scrollElement=r,n.eventsEnabled=!0,n}function M(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,H(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function R(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function W(n,i){Object.keys(i).forEach(function(e){var t="";-1!==["width","height","top","right","bottom","left"].indexOf(e)&&R(i[e])&&(t="px"),n.style[e]=i[e]+t})}function F(e,t,n){var i=O(e,function(e){return e.name===t}),r=!!i&&e.some(function(e){return e.name===n&&e.enabled&&e.order<i.order});if(!r){var o="`"+t+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return r}var B=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],U=B.slice(3);function K(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=U.indexOf(e),i=U.slice(n+1).concat(U.slice(0,n));return t?i.reverse():i}var $="flip",Q="clockwise",Y="counterclockwise";function V(e,r,o,t){var s=[0,0],a=-1!==["right","left"].indexOf(t),n=e.split(/(\+|\-)/).map(function(e){return e.trim()}),i=n.indexOf(O(n,function(e){return-1!==e.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,u=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(u=u.map(function(e,t){var n=(1===t?!a:a)?"height":"width",i=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,i=!0,e):i?(e[e.length-1]+=t,i=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,i){var r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return e;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return x(a)[t]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,n,r,o)})})).forEach(function(n,i){n.forEach(function(e,t){R(e)&&(s[i]+=e*("-"===n[t-1]?-1:1))})}),s}var z={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],i=t.split("-")[1];if(i){var r=e.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",u=a?"width":"height",c={start:w({},l,o[l]),end:w({},l,o[l]+o[u]-s[u])};e.offsets.popper=E({},s,c[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,i=e.placement,r=e.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=R(+n)?[+n,0]:V(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,i){var t=i.boundariesElement||_(e.instance.popper);e.instance.reference===t&&(t=_(t));var n=P("transform"),r=e.instance.popper.style,o=r.top,s=r.left,a=r[n];r.top="",r.left="",r[n]="";var l=d(e.instance.popper,e.instance.reference,i.padding,t,e.positionFixed);r.top=o,r.left=s,r[n]=a,i.boundaries=l;var u=i.priority,c=e.offsets.popper,f={primary:function(e){var t=c[e];return c[e]<l[e]&&!i.escapeWithReference&&(t=Math.max(c[e],l[e])),w({},e,t)},secondary:function(e){var t="right"===e?"left":"top",n=c[t];return c[e]>l[e]&&!i.escapeWithReference&&(n=Math.min(c[t],l[e]-("right"===e?c.width:c.height))),w({},t,n)}};return u.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=E({},c,f[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,r=e.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",u=s?"width":"height";return n[a]<o(i[l])&&(e.offsets.popper[l]=o(i[l])-n[u]),n[l]>o(i[a])&&(e.offsets.popper[l]=o(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!F(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var r=e.placement.split("-")[0],o=e.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),u=l?"height":"width",c=l?"Top":"Left",f=c.toLowerCase(),d=l?"left"
vendor: 4,711 bytes, line 1
1:"top",h=l?"bottom":"right",p=N(i)[u];a[h]-p<s[f]&&(e.offsets.popper[f]-=s[f]-(a[h]-p)),a[f]+p>s[h]&&(e.offsets.popper[f]+=a[f]+p-s[h]),e.offsets.popper=x(e.offsets.popper);var g=a[f]+a[u]/2-p/2,m=b(e.instance.popper),v=parseFloat(m["margin"+c],10),y=parseFloat(m["border"+c+"Width"],10),_=g-e.offsets.popper[f]-v-y;return _=Math.max(Math.min(s[u]-p,_),0),e.arrowElement=i,e.offsets.arrow=(w(n={},f,Math.round(_)),w(n,d,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,g){if(L(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var m=d(p.instance.popper,p.instance.reference,g.padding,g.boundariesElement,p.positionFixed),v=p.placement.split("-")[0],y=k(v),_=p.placement.split("-")[1]||"",b=[];switch(g.behavior){case $:b=[v,y];break;case Q:b=K(v);break;case Y:b=K(v,!0);break;default:b=g.behavior}return b.forEach(function(e,t){if(v!==e||b.length===t+1)return p;v=p.placement.split("-")[0],y=k(v);var n,i=p.offsets.popper,r=p.offsets.reference,o=Math.floor,s="left"===v&&o(i.right)>o(r.left)||"right"===v&&o(i.left)<o(r.right)||"top"===v&&o(i.bottom)>o(r.top)||"bottom"===v&&o(i.top)<o(r.bottom),a=o(i.left)<o(m.left),l=o(i.right)>o(m.right),u=o(i.top)<o(m.top),c=o(i.bottom)>o(m.bottom),f="left"===v&&a||"right"===v&&l||"top"===v&&u||"bottom"===v&&c,d=-1!==["top","bottom"].indexOf(v),h=!!g.flipVariations&&(d&&"start"===_&&a||d&&"end"===_&&l||!d&&"start"===_&&u||!d&&"end"===_&&c);(s||f||h)&&(p.flipped=!0,(s||f)&&(v=b[t+1]),h&&(_="end"===(n=_)?"start":"start"===n?"end":n),p.placement=v+(_?"-"+_:""),p.offsets.popper=E({},p.offsets.popper,I(p.instance.popper,p.offsets.reference,p.placement)),p=j(p.instance.modifiers,p,"flip"))}),p},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),e.placement=k(t),e.offsets.popper=x(r),e}},hide:{order:800,enabled:!0,fn:function(e){if(!F(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=O(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,i=t.y,r=e.offsets.popper,o=O(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:t.gpuAcceleration,a=_(e.instance.popper),l=T(a),u={position:r.position},c={left:Math.floor(r.left),top:Math.round(r.top),bottom:Math.round(r.bottom),right:Math.floor(r.right)},f="bottom"===n?"top":"bottom",d="right"===i?"left":"right",h=P("transform"),p=void 0,g=void 0;if(g="bottom"===f?"HTML"===a.nodeName?-a.clientHeight+c.bottom:-l.height+c.bottom:c.top,p="right"===d?"HTML"===a.nodeName?-a.clientWidth+c.right:-l.width+c.right:c.left,s&&h)u[h]="translate3d("+p+"px, "+g+"px, 0)",u[f]=0,u[d]=0,u.willChange="transform";else{var m="bottom"===f?-1:1,v="right"===d?-1:1;u[f]=g*m,u[d]=p*v,u.willChange=f+", "+d}var y={"x-placement":e.placement};return e.attributes=E({},y,e.attributes),e.styles=E({},u,e.styles),e.arrowStyles=E({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return W(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&W(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,i,r){var o=A(r,t,e,n.positionFixed),s=D(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",s),W(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},X=function(){function o(e,t){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=s(this.update.bind(this)),this.options=E({},o.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(E({}
1,o.Defaults.modifiers,i.modifiers)).forEach(function(e){n.options.modifiers[e]=E({},o.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return E({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&a(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return u(o,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=A(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=D(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=I(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=j(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,L(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[P("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=q(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return M.call(this)}}]),o}();return X.Utils=("undefined"!=typeof window?window:global).PopperUtils,X.placements=B,X.Defaults=z,X}),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],t):t(e.bootstrap={},e.jQuery,e.Popper)}(this,function(e,t,c){"use strict";function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function l(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},t=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.forEach(function(e){var t,n,i;t=r,i=o[n=e],n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i})}return r}t=t&&t.hasOwnProperty("default")?t.default:t,c=c&&c.hasOwnProperty("default")?c.default:c;var r,n,o,a,u,f,d,h,p,g,m,v,y,_,b,w,E,x,T,C,S,D,A,N,k,I,O,j,L,P,H,q,M,R,W,F,B,U,K,$,Q,Y,V,z,X,G,J,Z,ee,te,ne,ie,re,oe,se,ae,le,ue,ce,fe,de,he,pe,ge,me,ve,ye,_e,be,we,Ee,xe,Te,Ce,Se,De,Ae,Ne,ke,Ie,Oe,je,Le,Pe,He,qe,Me,Re,We,Fe,Be,Ue,Ke,$e,Qe,Ye,Ve,ze,Xe,Ge,Je,Ze,et,tt,nt,it,rt,ot,st,at,lt,ut,ct,ft,dt,ht,pt,gt,mt,vt,yt,_t,bt,wt,Et,xt,Tt,Ct,St,Dt,At,Nt,kt,It,Ot,jt,Lt,Pt,Ht,qt,Mt,Rt,Wt,Ft,Bt,Ut,Kt,$t,Qt,Yt,Vt,zt,Xt,Gt,Jt,Zt,en,tn,nn,rn,on,sn,an,ln,un,cn,fn,dn,hn,pn,gn,mn,vn,yn,_n,bn,wn,En,xn,Tn,Cn,Sn,Dn,An,Nn,kn,In,On,jn,Ln,Pn,Hn,qn,Mn,Rn,Wn,Fn=function(i){var t="transitionend";function e(e){var t=this,n=!1;return i(this).one(l.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||l.triggerTransitionEnd(t)},e),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(e){for(;e+=~~(1e6*Math.random()),document.getElementById(e););return e},getSelectorFromElement:function(e){var t=e.getAttribute("data-target");t&&"#"!==t||(t=e.getAttribute("href")||"");try{return document.querySelector(t)?t:null}catch(e){return null}},getTransitionDurationFromElement:function(e){if(!e)return 0;var t=i(e).css("transition-duration");return parseFloat(t)?(t=t.split(",")[0],1e3*parseFloat(t)):0},reflow:function(e){return e.offsetHeight},triggerTransitionEnd:function(e){i(e).trigger(t)},supportsTransitionEnd:function(){return Boolean(t)},isElement:function(e){return(e[0]||e).nodeType},typeCheckConfig:function(e,t,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],o=t[i],s=o&&l.isElement(o)?"element":(a=o,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(s))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+r+'".')}var a}};return i.fn.emulateTransitionEnd=e,i.event.special[l.TRANSITION_END]={bindType:t,delegateType:t,handle:function(e){if(i(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}},l}(t),Bn=(n="alert",a="."+(o="bs.alert"),u=(r=t).fn[n],f={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},d="alert",h="fade",p="show",g=function(){function i(e){this._element=e}var e=i.prototype;return e.close=function(e){var t=this._element;e&&(t=this._getRootElement(e)),this._triggerCloseEvent(t).isDefaultPrevented()||this._removeElement(t)},e.dispose=function(){r.removeData(this._element,o),this._element=null},e._getRootElement=function(e){var t=Fn.getSelectorFromElement(e),n=!1;return t&&(n=document.querySelector(t)),n||(n=r(e).closest("."+d
1)[0]),n},e._triggerCloseEvent=function(e){var t=r.Event(f.CLOSE);return r(e).trigger(t),t},e._removeElement=function(t){var n=this;if(r(t).removeClass(p),r(t).hasClass(h)){var e=Fn.getTransitionDurationFromElement(t);r(t).one(Fn.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(e)}else this._destroyElement(t)},e._destroyElement=function(e){r(e).detach().trigger(f.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var e=r(this),t=e.data(o);t||(t=new i(this),e.data(o,t)),"close"===n&&t[n](this)})},i._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}(),r(document).on(f.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),r.fn[n]=g._jQueryInterface,r.fn[n].Constructor=g,r.fn[n].noConflict=function(){return r.fn[n]=u,g._jQueryInterface},g),Un=(v="button",_="."+(y="bs.button"),b=".data-api",w=(m=t).fn[v],E="active",x="btn",C='[data-toggle^="button"]',S='[data-toggle="buttons"]',D="input",A=".active",N=".btn",k={CLICK_DATA_API:"click"+_+b,FOCUS_BLUR_DATA_API:(T="focus")+_+b+" blur"+_+b},I=function(){function n(e){this._element=e}var e=n.prototype;return e.toggle=function(){var e=!0,t=!0,n=m(this._element).closest(S)[0];if(n){var i=this._element.querySelector(D);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(E))e=!1;else{var r=n.querySelector(A);r&&m(r).removeClass(E)}if(e){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(E),m(i).trigger("change")}i.focus(),t=!1}}t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(E)),e&&m(this._element).toggleClass(E)},e.dispose=function(){m.removeData(this._element,y),this._element=null},n._jQueryInterface=function(t){return this.each(function(){var e=m(this).data(y);e||(e=new n(this),m(this).data(y,e)),"toggle"===t&&e[t]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),n}(),m(document).on(k.CLICK_DATA_API,C,function(e){e.preventDefault();var t=e.target;m(t).hasClass(x)||(t=m(t).closest(N)),I._jQueryInterface.call(m(t),"toggle")}).on(k.FOCUS_BLUR_DATA_API,C,function(e){var t=m(e.target).closest(N)[0];m(t).toggleClass(T,/^focus(in)?$/.test(e.type))}),m.fn[v]=I._jQueryInterface,m.fn[v].Constructor=I,m.fn[v].noConflict=function(){return m.fn[v]=w,I._jQueryInterface},I),Kn=(j="carousel",P="."+(L="bs.carousel"),H=".data-api",q=(O=t).fn[j],M={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},R={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},W="next",F="prev",B="left",U="right",K={SLIDE:"slide"+P,SLID:"slid"+P,KEYDOWN:"keydown"+P,MOUSEENTER:"mouseenter"+P,MOUSELEAVE:"mouseleave"+P,TOUCHEND:"touchend"+P,LOAD_DATA_API:"load"+P+H,CLICK_DATA_API:"click"+P+H},$="carousel",Q="active",Y="slide",V="carousel-item-right",z="carousel-item-left",X="carousel-item-next",G="carousel-item-prev",J=".active",Z=".active.carousel-item",ee=".carousel-item",te=".carousel-item-next, .carousel-item-prev",ne=".carousel-indicators",ie="[data-slide], [data-slide-to]",re='[data-ride="carousel"]',oe=function(){function o(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(t),this._element=O(e)[0],this._indicatorsElement=this._element.querySelector(ne),this._addEventListeners()}var e=o.prototype;return e.next=function(){this._isSliding||this._slide(W)},e.nextWhenVisible=function(){!document.hidden&&O(this._element).is(":visible")&&"hidden"!==O(this._element).css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide(F)},e.pause=function(e){e||(this._isPaused=!0),this._element.querySelector(te)&&(Fn.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(e){var t=this;this._activeElement=this._element.querySelector(Z);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)O(this._element).one(K.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=n<e?W:F;this._slide(i,this._items[e])}},e.dispose=function(){O(this._element).off(P),O.removeData(this._element,L),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(e){return e=l({},M,e),Fn.typeCheckConfig(j,e,R),e},e._addEventListeners=function(){var t=this;this._config.keyboard&&O(this._element).on(K.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(O(this._element).on(K.MOUSEENTER,function(e){return t.pause(e)}).on(K.MOUSELEAVE,function(e){return t.cycle(e)}),"ontouchstart"in document.documentElement&&O(this._element).on(K.TOUCHEND,function(){t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval)}))},e._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case 37:e.preventDefault(),this.prev();break;case 39:e.preventDefault(),this.next()}},e._getItemIndex=function(e){return this._items=e&&e.parentNode?[].slice.call(e.parentNode.querySelectorAll(ee)):[],this._items.indexOf(e)},e._getItemByDirection=function(e,t){var n=e===W,i=e===F,r=this._getItemIndex(t),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return t;var s=(r+(e===F?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(this._element.querySelector(Z)),r=O.Event(K.SLIDE,{relatedTarget:e,direction:t,from:i,to:n});return O(this._element).trigger(r),r},e._setActiveIndicatorElement=function(e){if(this._indicatorsElement){var t=[].slice.call(this._indicatorsElement.querySelectorAll(J));O(t).removeClass(Q);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&O(n).addClass(Q)}},e._slide=function(e,t){var n,i,r,o=this,s=this._element.querySelector(Z),a=this._getItemIndex(s),l=t||s&&this._getItemByDirection(e,s),u=this._getItemIndex(l),c=Boolean(this._interval);if(e===W?(n=z,i=X,r=B):(n=V,i=G,r=U),l&&O(l).hasClass(Q))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&s&&l){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(l);var f=O.Event(K.SLID,{relatedTarget:l,direction:r,from:a,to:u});if(O(this._element).hasClass(Y)){O(l).addClass(i),Fn.reflow(l),O(s).addClass(n),O(l).addClass(n);var d=Fn.getTransitionDurationFromElement(s);O(s).one(Fn.TRANSITION_END,function(){O(l).removeClass(n+" "+i).addClass(Q),O(s).removeClass(Q+" "+i+" "+n),o._isSliding=!1,setTimeout(function(){return O(o._element).trigger(f)},0)}).emulateTransitionEnd(d)}else O(s).removeClass(Q),O(l).addClass(Q),this._isSliding=!1,O(this._element).trigger(f);c&&this.cycle()}},o._jQueryInterface=function(i){return this.each(function(){var e=O(this).data(L),t=l({},M,O(this).data());"object"==typeof i&&(t=l({}
1,t,i));var n="string"==typeof i?i:t.slide;if(e||(e=new o(this,t),O(this).data(L,e)),"number"==typeof i)e.to(i);else if("string"==typeof n){if(void 0===e[n])throw new TypeError('No method named "'+n+'"');e[n]()}else t.interval&&(e.pause(),e.cycle())})},o._dataApiClickHandler=function(e){var t=Fn.getSelectorFromElement(this);if(t){var n=O(t)[0];if(n&&O(n).hasClass($)){var i=l({},O(n).data(),O(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),o._jQueryInterface.call(O(n),i),r&&O(n).data(L).to(r),e.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return M}}]),o}(),O(document).on(K.CLICK_DATA_API,ie,oe._dataApiClickHandler),O(window).on(K.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(re)),t=0,n=e.length;t<n;t++){var i=O(e[t]);oe._jQueryInterface.call(i,i.data())}}),O.fn[j]=oe._jQueryInterface,O.fn[j].Constructor=oe,O.fn[j].noConflict=function(){return O.fn[j]=q,oe._jQueryInterface},oe),$n=(ae="collapse",ue="."+(le="bs.collapse"),ce=(se=t).fn[ae],fe={toggle:!0,parent:""},de={toggle:"boolean",parent:"(string|element)"},he={SHOW:"show"+ue,SHOWN:"shown"+ue,HIDE:"hide"+ue,HIDDEN:"hidden"+ue,CLICK_DATA_API:"click"+ue+".data-api"},pe="show",ge="collapse",me="collapsing",ve="collapsed",ye="width",_e="height",be=".show, .collapsing",we='[data-toggle="collapse"]',Ee=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=se.makeArray(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(we)),i=0,r=n.length;i<r;i++){var o=n[i],s=Fn.getSelectorFromElement(o),a=[].slice.call(document.querySelectorAll(s)).filter(function(e){return e===t});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=a.prototype;return e.toggle=function(){se(this._element).hasClass(pe)?this.hide():this.show()},e.show=function(){var e,t,n=this;if(!this._isTransitioning&&!se(this._element).hasClass(pe)&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(be)).filter(function(e){return e.getAttribute("data-parent")===n._config.parent})).length&&(e=null),!(e&&(t=se(e).not(this._selector).data(le))&&t._isTransitioning))){var i=se.Event(he.SHOW);if(se(this._element).trigger(i),!i.isDefaultPrevented()){e&&(a._jQueryInterface.call(se(e).not(this._selector),"hide"),t||se(e).data(le,null));var r=this._getDimension();se(this._element).removeClass(ge).addClass(me),this._element.style[r]=0,this._triggerArray.length&&se(this._triggerArray).removeClass(ve).attr("aria-expanded",!0),this.setTransitioning(!0);var o="scroll"+(r[0].toUpperCase()+r.slice(1)),s=Fn.getTransitionDurationFromElement(this._element);se(this._element).one(Fn.TRANSITION_END,function(){se(n._element).removeClass(me).addClass(ge).addClass(pe),n._element.style[r]="",n.setTransitioning(!1),se(n._element).trigger(he.SHOWN)}).emulateTransitionEnd(s),this._element.style[r]=this._element[o]+"px"}}},e.hide=function(){var e=this;if(!this._isTransitioning&&se(this._element).hasClass(pe)){var t=se.Event(he.HIDE);if(se(this._element).trigger(t),!t.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",Fn.reflow(this._element),se(this._element).addClass(me).removeClass(ge).removeClass(pe);var i=this._triggerArray.length;if(0<i)for(var r=0;r<i;r++){var o=this._triggerArray[r],s=Fn.getSelectorFromElement(o);if(null!==s)se([].slice.call(document.querySelectorAll(s))).hasClass(pe)||se(o).addClass(ve).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=Fn.getTransitionDurationFromElement(this._element);se(this._element).one(Fn.TRANSITION_END,function(){e.setTransitioning(!1),se(e._element).removeClass(me).addClass(ge).trigger(he.HIDDEN)}).emulateTransitionEnd(a)}}},e.setTransitioning=function(e){this._isTransitioning=e},e.dispose=function(){se.removeData(this._element,le),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(e){return(e=l({},fe,e)).toggle=Boolean(e.toggle),Fn.typeCheckConfig(ae,e,de),e},e._getDimension=function(){return se(this._element).hasClass(ye)?ye:_e},e._getParent=function(){var n=this,e=null;Fn.isElement(this._config.parent)?(e=this._config.parent,void 0!==this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var t='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(e.querySelectorAll(t));return se(i).each(function(e,t){n._addAriaAndCollapsedClass(a._getTargetFromElement(t),[t])}),e},e._addAriaAndCollapsedClass=function(e,t){if(e){var n=se(e).hasClass(pe);t.length&&se(t).toggleClass(ve,!n).attr("aria-expanded",n)}},a._getTargetFromElement=function(e){var t=Fn.getSelectorFromElement(e);return t?document.querySelector(t):null},a._jQueryInterface=function(i){return this.each(function(){var e=se(this),t=e.data(le),n=l({},fe,e.data(),"object"==typeof i&&i?i:{});if(!t&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),t||(t=new a(this,n),e.data(le,t)),"string"==typeof i){if(void 0===t[i])throw new TypeError('No method n
1amed "'+i+'"');t[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return fe}}]),a}(),se(document).on(he.CLICK_DATA_API,we,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var n=se(this),t=Fn.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(t));se(i).each(function(){var e=se(this),t=e.data(le)?"toggle":n.data();Ee._jQueryInterface.call(e,t)})}),se.fn[ae]=Ee._jQueryInterface,se.fn[ae].Constructor=Ee,se.fn[ae].noConflict=function(){return se.fn[ae]=ce,Ee._jQueryInterface},Ee),Qn=(Te="dropdown",Se="."+(Ce="bs.dropdown"),De=".data-api",Ae=(xe=t).fn[Te],Ne=new RegExp("38|40|27"),ke={HIDE:"hide"+Se,HIDDEN:"hidden"+Se,SHOW:"show"+Se,SHOWN:"shown"+Se,CLICK:"click"+Se,CLICK_DATA_API:"click"+Se+De,KEYDOWN_DATA_API:"keydown"+Se+De,KEYUP_DATA_API:"keyup"+Se+De},Ie="disabled",Oe="show",je="dropup",Le="dropright",Pe="dropleft",He="dropdown-menu-right",qe="position-static",Me='[data-toggle="dropdown"]',Re=".dropdown form",We=".dropdown-menu",Fe=".navbar-nav",Be=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Ue="top-start",Ke="top-end",$e="bottom-start",Qe="bottom-end",Ye="right-start",Ve="left-start",ze={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Xe={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Ge=function(){function u(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=u.prototype;return e.toggle=function(){if(!this._element.disabled&&!xe(this._element).hasClass(Ie)){var e=u._getParentFromElement(this._element),t=xe(this._menu).hasClass(Oe);if(u._clearMenus(),!t){var n={relatedTarget:this._element},i=xe.Event(ke.SHOW,n);if(xe(e).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if(void 0===c)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var r=this._element;"parent"===this._config.reference?r=e:Fn.isElement(this._config.reference)&&(r=this._config.reference,void 0!==this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&xe(e).addClass(qe),this._popper=new c(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===xe(e).closest(Fe).length&&xe(document.body).children().on("mouseover",null,xe.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),xe(this._menu).toggleClass(Oe),xe(e).toggleClass(Oe).trigger(xe.Event(ke.SHOWN,n))}}}},e.dispose=function(){xe.removeData(this._element,Ce),xe(this._element).off(Se),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;xe(this._element).on(ke.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},e._getConfig=function(e){return e=l({},this.constructor.Default,xe(this._element).data(),e),Fn.typeCheckConfig(Te,e,this.constructor.DefaultType),e},e._getMenuElement=function(){if(!this._menu){var e=u._getParentFromElement(this._element);e&&(this._menu=e.querySelector(We))}return this._menu},e._getPlacement=function(){var e=xe(this._element.parentNode),t=$e;return e.hasClass(je)?(t=Ue,xe(this._menu).hasClass(He)&&(t=Ke)):e.hasClass(Le)?t=Ye:e.hasClass(Pe)?t=Ve:xe(this._menu).hasClass(He)&&(t=Qe),t},e._detectNavbar=function(){return 0<xe(this._element).closest(".navbar").length},e._getPopperConfig=function(){var t=this,e={};"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},u._jQueryInterface=function(t){return this.each(function(){var e=xe(this).data(Ce);if(e||(e=new u(this,"object"==typeof t?t:null),xe(this).data(Ce,e)),"string"==typeof t){if(void 0===e[t])throw new TypeError('No method n
1amed "'+t+'"');e[t]()}})},u._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var t=[].slice.call(document.querySelectorAll(Me)),n=0,i=t.length;n<i;n++){var r=u._getParentFromElement(t[n]),o=xe(t[n]).data(Ce),s={relatedTarget:t[n]};if(e&&"click"===e.type&&(s.clickEvent=e),o){var a=o._menu;if(xe(r).hasClass(Oe)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&xe.contains(r,e.target))){var l=xe.Event(ke.HIDE,s);xe(r).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&xe(document.body).children().off("mouseover",null,xe.noop),t[n].setAttribute("aria-expanded","false"),xe(a).removeClass(Oe),xe(r).removeClass(Oe).trigger(xe.Event(ke.HIDDEN,s)))}}}},u._getParentFromElement=function(e){var t,n=Fn.getSelectorFromElement(e);return n&&(t=document.querySelector(n)),t||e.parentNode},u._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||xe(e.target).closest(We).length)):Ne.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!xe(this).hasClass(Ie))){var t=u._getParentFromElement(this),n=xe(t).hasClass(Oe);if((n||27===e.which&&32===e.which)&&(!n||27!==e.which&&32!==e.which)){var i=[].slice.call(t.querySelectorAll(Be));if(0!==i.length){var r=i.indexOf(e.target);38===e.which&&0<r&&r--,40===e.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===e.which){var o=t.querySelector(Me);xe(o).trigger("focus")}xe(this).trigger("click")}}},s(u,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ze}},{key:"DefaultType",get:function(){return Xe}}]),u}(),xe(document).on(ke.KEYDOWN_DATA_API,Me,Ge._dataApiKeydownHandler).on(ke.KEYDOWN_DATA_API,We,Ge._dataApiKeydownHandler).on(ke.CLICK_DATA_API+" "+ke.KEYUP_DATA_API,Ge._clearMenus).on(ke.CLICK_DATA_API,Me,function(e){e.preventDefault(),e.stopPropagation(),Ge._jQueryInterface.call(xe(this),"toggle")}).on(ke.CLICK_DATA_API,Re,function(e){e.stopPropagation()}),xe.fn[Te]=Ge._jQueryInterface,xe.fn[Te].Constructor=Ge,xe.fn[Te].noConflict=function(){return xe.fn[Te]=Ae,Ge._jQueryInterface},Ge),Yn=(Ze="modal",tt="."+(et="bs.modal"),nt=(Je=t).fn[Ze],it={backdrop:!0,keyboard:!0,focus:!0,show:!0},rt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},ot={HIDE:"hide"+tt,HIDDEN:"hidden"+tt,SHOW:"show"+tt,SHOWN:"shown"+tt,FOCUSIN:"focusin"+tt,RESIZE:"resize"+tt,CLICK_DISMISS:"click.dismiss"+tt,KEYDOWN_DISMISS:"keydown.dismiss"+tt,MOUSEUP_DISMISS:"mouseup.dismiss"+tt,MOUSEDOWN_DISMISS:"mousedown.dismiss"+tt,CLICK_DATA_API:"click"+tt+".data-api"},st="modal-scrollbar-measure",at="modal-backdrop",lt="modal-open",ut="fade",ct="show",ft=".modal-dialog",dt='[data-toggle="modal"]',ht='[data-dismiss="modal"]',pt=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",gt=".sticky-top",mt=function(){function r(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=e.querySelector(ft),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._scrollbarWidth=0}var e=r.prototype;return e.toggle=function(e){return this._isShown?this.hide():this.show(e)},e.show=function(e){var t=this;if(!this._isTransitioning&&!this._isShown){Je(this._element).hasClass(ut)&&(this._isTransitioning=!0);var n=Je.Event(ot.SHOW,{relatedTarget:e});Je(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),Je(document.body).addClass(lt),this._setEscapeEvent(),this._setResizeEvent(),Je(this._element).on(ot.CLICK_DISMISS,ht,function(e){return t.hide(e)}),Je(this._dialog).on(ot.MOUSEDOWN_DISMISS,function(){Je(t._element).one(ot.MOUSEUP_DISMISS,function(e){Je(e.target).is(t._element)&&(t._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return t._showElement(e)}))}},e.hide=function(e){var t=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var n=Je.Event(ot.HIDE);if(Je(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=Je(this._element).hasClass(ut);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Je(document).off(ot.FOCUSIN),Je(this._element).removeClass(ct),Je(this._element).off(ot.CLICK_DISMISS),Je(this._dialog).off(ot.MOUSEDOWN_DISMISS),i){var r=Fn.getTransitionDurationFromElement(this._element);Je(this._element).one(Fn.TRANSITION_END,function(e){return t._hideModal(e)}).emulateTransitionEnd(r)}else this._hideModal()}}},e.dispose=function(){Je.removeData(this._element,et),Je(window,document,this._element,this._backdrop).off(tt),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(e){return e=l({},it,e),Fn.typeCheckConfig(Ze,e,rt),e},e._showElement=function(e){var t=this,n=Je(this._element).hasClass(ut);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&Fn.reflow(this._element),Je(this._element).addClass(ct),this._config.focus&&this._enforceFocus();var i=Je.Event(ot.SHOWN,{relatedTarget:e}),r=function(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,Je(t._element).trigger(i)};if(n){var o=Fn.getTransitionDurationFromElement(this._element);Je(this._dialog).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r()},e._enforceFocus=function(){var t=this;Je(document).off(ot.FOCUSIN).on(ot.FOCUSIN,function(e){document!==e.target&&t._element!==e.target&&0===Je(t._element).has(e.target).length&&t._element.focus()})},e._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?Je(this._element).on(ot.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):this._isShown||Je(this._element).off(ot.KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?Je(window).on(ot.RESIZE,function(e){return t.handleUpdate(e)}):Je(window).off(ot.RESIZE)},e._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){Je(document.body).removeClass(lt),e._resetAdjustments(),e._resetScrollbar(),Je(e._element).trigger(ot.HIDDEN)})},e._removeBackdrop=function(){this._backdrop&&(Je(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(e){var t=this,n=Je(this._element).hasClass(ut)?ut:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=at,n&&this._backdrop.classList.add(n),Je(this._backdrop).appendTo(document.body),Je(this._element).on(ot.CLICK_DISMISS,function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&("static"===t._config.backdrop?t._element.focus():t.hide())}),n&&Fn.reflow(this._backdrop),Je(this._backdrop).addClass(ct),!e)return;if(!n)return void e();var i=Fn.getTransitionDurationFromElement(this._backdrop);Je(this._backdrop).one(Fn.TRANSITION_END,e).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){Je(this._backdrop).removeClass(ct);var r=function(){t._removeBackdrop(),e&&e()};if(Je(this._element).hasClass(ut)){var o=Fn.getTransitionDurationFromElement(this._backdrop);Je(this._backdrop).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r()}else e&&e()},e._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(pt)),t=[].slice.call(document.querySelectorAll(gt));Je(e).each(function(e,t){var n=t.style.paddingRight,i=Je(t).css("padding-right");Je(t).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),Je(t).each(function(e,t){var n=t.style.marginRight,i=Je(t).css("margin-right");Je(t).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=Je(document.body).css("padding-right");Je(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},e._resetScrollbar=function(){var e=[].slice.call(document.querySelectorAll(pt));Je(e).each(function(e,t){var n=Je(t).data("padding-right");Je(t).removeData("padding-right"),t.style.paddingRight=n||""});var t=[].slice.call(document.querySelectorAll(""+gt));Je(t).each(function(e,t){var n=Je(t).data("margin-right");void 0!==n&&Je(t).css("margin-right",n).removeData("margin-right")});var n=Je(document.body).data("padding-right");Je(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var e=document.createElement("div");e.className=st,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},r._jQueryInterface=function(n,i){return this.each(function(){var e=Je(this).data(et),t=l({},it,Je(this).data(),"object"==typeof n&&n?n:{});if(e||(e=new r(this,t),Je(this).data(et,e)),"string"==typeof n){if(void 0===e[n])throw new TypeError('No method n
1amed "'+n+'"');e[n](i)}else t.show&&e.show(i)})},s(r,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return it}}]),r}(),Je(document).on(ot.CLICK_DATA_API,dt,function(e){var t,n=this,i=Fn.getSelectorFromElement(this);i&&(t=document.querySelector(i));var r=Je(t).data(et)?"toggle":l({},Je(t).data(),Je(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var o=Je(t).one(ot.SHOW,function(e){e.isDefaultPrevented()||o.one(ot.HIDDEN,function(){Je(n).is(":visible")&&n.focus()})});mt._jQueryInterface.call(Je(t),r,this)}),Je.fn[Ze]=mt._jQueryInterface,Je.fn[Ze].Constructor=mt,Je.fn[Ze].noConflict=function(){return Je.fn[Ze]=nt,mt._jQueryInterface},mt),Vn=(yt="tooltip",bt="."+(_t="bs.tooltip"),wt=(vt=t).fn[yt],Et="bs-tooltip",xt=new RegExp("(^|\\s)"+Et+"\\S+","g"),St={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!(Ct={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Tt={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},At="out",Nt={HIDE:"hide"+bt,HIDDEN:"hidden"+bt,SHOW:(Dt="show")+bt,SHOWN:"shown"+bt,INSERTED:"inserted"+bt,CLICK:"click"+bt,FOCUSIN:"focusin"+bt,FOCUSOUT:"focusout"+bt,MOUSEENTER:"mouseenter"+bt,MOUSELEAVE:"mouseleave"+bt},kt="fade",It="show",Ot=".tooltip-inner",jt=".arrow",Lt="hover",Pt="focus",Ht="click",qt="manual",Mt=function(){function i(e,t){if(void 0===c)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=vt(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),vt(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(vt(this.getTipElement()).hasClass(It))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),vt.removeData(this.element,this.constructor.DATA_KEY),vt(this.element).off(this.constructor.EVENT_KEY),vt(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&vt(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===vt(this.element).css("display"))throw new Error("Please use show on visible elements");var e=vt.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){vt(this.element).trigger(e);var n=vt.contains(this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&vt(i).addClass(kt);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:vt(document).find(this.config.container);vt(i).data(this.constructor.DATA_KEY,this),vt.contains(this.element.ownerDocument.documentElement,this.tip)||vt(i).appendTo(a),vt(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new c(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:jt}
1,preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),vt(i).addClass(It),"ontouchstart"in document.documentElement&&vt(document.body).children().on("mouseover",null,vt.noop);var l=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,vt(t.element).trigger(t.constructor.Event.SHOWN),e===At&&t._leave(null,t)};if(vt(this.tip).hasClass(kt)){var u=Fn.getTransitionDurationFromElement(this.tip);vt(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(u)}else l()}},e.hide=function(e){var t=this,n=this.getTipElement(),i=vt.Event(this.constructor.Event.HIDE),r=function(){t._hoverState!==Dt&&n.parentNode&&n.parentNode.removeChild(n),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),vt(t.element).trigger(t.constructor.Event.HIDDEN),null!==t._popper&&t._popper.destroy(),e&&e()};if(vt(this.element).trigger(i),!i.isDefaultPrevented()){if(vt(n).removeClass(It),"ontouchstart"in document.documentElement&&vt(document.body).children().off("mouseover",null,vt.noop),this._activeTrigger[Ht]=!1,this._activeTrigger[Pt]=!1,this._activeTrigger[Lt]=!1,vt(this.tip).hasClass(kt)){var o=Fn.getTransitionDurationFromElement(n);vt(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){vt(this.getTipElement()).addClass(Et+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||vt(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(vt(e.querySelectorAll(Ot)),this.getTitle()),vt(e).removeClass(kt+" "+It)},e.setElementContent=function(e,t){var n=this.config.html;"object"==typeof t&&(t.nodeType||t.jquery)?n?vt(t).parent().is(e)||e.empty().append(t):e.text(vt(t).text()):e[n?"html":"text"](t)},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},e._getAttachment=function(e){return Ct[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)vt(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if(e!==qt){var t=e===Lt?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===Lt?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;vt(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}vt(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||vt(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),vt(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?Pt:Lt]=!0),vt(t.getTipElement()).hasClass(It)||t._hoverState===Dt?t._hoverState=Dt:(clearTimeout(t._timeout),t._hoverState=Dt,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===Dt&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||vt(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),vt(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?Pt:Lt]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=At,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===At&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){return"number"==typeof(e=l({},this.constructor.Default,vt(this.element).data(),"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),Fn.typeCheckConfig(yt,e,this.constructor.DefaultType),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=vt(this.getTipElement()),t=e.attr("class").match(xt);null!==t&&t.length&&e.removeClass(t.join(""))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(vt(e).removeClass(kt),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},i._jQueryInterface=function(n){return this.each(function(){var e=vt(this).data(_t),t="object"==typeof n&&n;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),vt(this).data(_t,e)),"string"==typeof n)){if(void 0===e[n])throw new TypeError('No method n
1amed "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return St}},{key:"NAME",get:function(){return yt}},{key:"DATA_KEY",get:function(){return _t}},{key:"Event",get:function(){return Nt}},{key:"EVENT_KEY",get:function(){return bt}},{key:"DefaultType",get:function(){return Tt}}]),i}(),vt.fn[yt]=Mt._jQueryInterface,vt.fn[yt].Constructor=Mt,vt.fn[yt].noConflict=function(){return vt.fn[yt]=wt,Mt._jQueryInterface},Mt),zn=(Wt="popover",Bt="."+(Ft="bs.popover"),Ut=(Rt=t).fn[Wt],Kt="bs-popover",$t=new RegExp("(^|\\s)"+Kt+"\\S+","g"),Qt=l({},Vn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Yt=l({},Vn.DefaultType,{content:"(string|element|function)"}),Vt="fade",Xt=".popover-header",Gt=".popover-body",Jt={HIDE:"hide"+Bt,HIDDEN:"hidden"+Bt,SHOW:(zt="show")+Bt,SHOWN:"shown"+Bt,INSERTED:"inserted"+Bt,CLICK:"click"+Bt,FOCUSIN:"focusin"+Bt,FOCUSOUT:"focusout"+Bt,MOUSEENTER:"mouseenter"+Bt,MOUSELEAVE:"mouseleave"+Bt},Zt=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(e){Rt(this.getTipElement()).addClass(Kt+"-"+e)},r.getTipElement=function(){return this.tip=this.tip||Rt(this.config.template)[0],this.tip},r.setContent=function(){var e=Rt(this.getTipElement());this.setElementContent(e.find(Xt),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(Gt),t),e.removeClass(Vt+" "+zt)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var e=Rt(this.getTipElement()),t=e.attr("class").match($t);null!==t&&0<t.length&&e.removeClass(t.join(""))},i._jQueryInterface=function(n){return this.each(function(){var e=Rt(this).data(Ft),t="object"==typeof n?n:null;if((e||!/destroy|hide/.test(n))&&(e||(e=new i(this,t),Rt(this).data(Ft,e)),"string"==typeof n)){if(void 0===e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Qt}},{key:"NAME",get:function(){return Wt}},{key:"DATA_KEY",get:function(){return Ft}},{key:"Event",get:function(){return Jt}},{key:"EVENT_KEY",get:function(){return Bt}},{key:"DefaultType",get:function(){return Yt}}]),i}(Vn),Rt.fn[Wt]=Zt._jQueryInterface,Rt.fn[Wt].Constructor=Zt,Rt.fn[Wt].noConflict=function(){return Rt.fn[Wt]=Ut,Zt._jQueryInterface},Zt),Xn=(tn="scrollspy",rn="."+(nn="bs.scrollspy"),on=(en=t).fn[tn],sn={offset:10,method:"auto",target:""},an={offset:"number",method:"string",target:"(string|element)"},ln={ACTIVATE:"activate"+rn,SCROLL:"scroll"+rn,LOAD_DATA_API:"load"+rn+".data-api"},un="dropdown-item",cn="active",fn='[data-spy="scroll"]',dn=".active",hn=".nav, .list-group",pn=".nav-link",gn=".nav-item",mn=".list-group-item",vn=".dropdown",yn=".dropdown-item",_n=".dropdown-toggle",bn="offset",wn="position",En=function(){function n(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+pn+","+this._config.target+" "+mn+","+this._config.target+" "+yn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,en(this._scrollElement).on(ln.SCROLL,function(e){return n._process(e)}),this.refresh(),this._process()}var e=n.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?bn:wn,r="auto"===this._config.method?e:this._config.method,o=r===wn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(e){var t,n=Fn.getSelectorFromElement(e);if(n&&(t=document.querySelector(n)),t){var i=t.getBoundingClientRect();if(i.width||i.height)return[en(t)[r]().top+o,n]}return null}).filter(function(e){return e}).sort(function(e,t){return e[0]-t[0]}
1).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},e.dispose=function(){en.removeData(this._element,nn),en(this._scrollElement).off(rn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(e){if("string"!=typeof(e=l({},sn,"object"==typeof e&&e?e:{})).target){var t=en(e.target).attr("id");t||(t=Fn.getUID(tn),en(e.target).attr("id",t)),e.target="#"+t}return Fn.typeCheckConfig(tn,e,an),e},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),n<=e){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&e>=this._offsets[r]&&(void 0===this._offsets[r+1]||e<this._offsets[r+1])&&this._activate(this._targets[r])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",");e=e.map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'});var n=en([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass(un)?(n.closest(vn).find(_n).addClass(cn),n.addClass(cn)):(n.addClass(cn),n.parents(hn).prev(pn+", "+mn).addClass(cn),n.parents(hn).prev(gn).children(pn).addClass(cn)),en(this._scrollElement).trigger(ln.ACTIVATE,{relatedTarget:t})},e._clear=function(){var e=[].slice.call(document.querySelectorAll(this._selector));en(e).filter(dn).removeClass(cn)},n._jQueryInterface=function(t){return this.each(function(){var e=en(this).data(nn);if(e||(e=new n(this,"object"==typeof t&&t),en(this).data(nn,e)),"string"==typeof t){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return sn}}]),n}(),en(window).on(ln.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(fn)),t=e.length;t--;){var n=en(e[t]);En._jQueryInterface.call(n,n.data())}}),en.fn[tn]=En._jQueryInterface,en.fn[tn].Constructor=En,en.fn[tn].noConflict=function(){return en.fn[tn]=on,En._jQueryInterface},En),Gn=(Cn="."+(Tn="bs.tab"),Sn=(xn=t).fn.tab,Dn={HIDE:"hide"+Cn,HIDDEN:"hidden"+Cn,SHOW:"show"+Cn,SHOWN:"shown"+Cn,CLICK_DATA_API:"click"+Cn+".data-api"},An="dropdown-menu",Nn="active",kn="disabled",In="fade",On="show",jn=".dropdown",Ln=".nav, .list-group",Pn=".active",Hn="> li > .active",qn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Mn=".dropdown-toggle",Rn="> .dropdown-menu .active",Wn=function(){function i(e){this._element=e}var e=i.prototype;return e.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&xn(this._element).hasClass(Nn)||xn(this._element).hasClass(kn))){var e,i,t=xn(this._element).closest(Ln)[0],r=Fn.getSelectorFromElement(this._element);if(t){var o="UL"===t.nodeName?Hn:Pn;i=(i=xn.makeArray(xn(t).find(o)))[i.length-1]}var s=xn.Event(Dn.HIDE,{relatedTarget:this._element}),a=xn.Event(Dn.SHOW,{relatedTarget:i});if(i&&xn(i).trigger(s),xn(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,t);var l=function(){var e=xn.Event(Dn.HIDDEN,{relatedTarget:n._element}),t=xn.Event(Dn.SHOWN,{relatedTarget:i});xn(i).trigger(e),xn(n._element).trigger(t)};e?this._activate(e,e.parentNode,l):l()}}},e.dispose=function(){xn.removeData(this._element,Tn),this._element=null},e._activate=function(e,t,n){var i=this,r=("UL"===t.nodeName?xn(t).find(Hn):xn(t).children(Pn))[0],o=n&&r&&xn(r).hasClass(In),s=function(){return i._transitionComplete(e,r,n)};if(r&&o){var a=Fn.getTransitionDurationFromElement(r);xn(r).one(Fn.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},e._transitionComplete=function(e,t,n){if(t){xn(t).removeClass(On+" "+Nn);var i=xn(t.parentNode).find(Rn)[0];i&&xn(i).removeClass(Nn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}if(xn(e).addClass(Nn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),Fn.reflow(e),xn(e).addClass(On),e.parentNode&&xn(e.parentNode).hasClass(An)){var r=xn(e).closest(jn)[0];if(r){var o=[].slice.call(r.querySelectorAll(Mn));xn(o).addClass(Nn)}e.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var e=xn(this),t=e.data(Tn);if(t||(t=new i(this),e.data(Tn,t)),"string"==typeof n){if(void 0===t[n])throw new TypeError('No method n
1amed "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}(),xn(document).on(Dn.CLICK_DATA_API,qn,function(e){e.preventDefault(),Wn._jQueryInterface.call(xn(this),"show")}),xn.fn.tab=Wn._jQueryInterface,xn.fn.tab.Constructor=Wn,xn.fn.tab.noConflict=function(){return xn.fn.tab=Sn,Wn._jQueryInterface},Wn);!function(e){if(void 0===e)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(t),e.Util=Fn,e.Alert=Bn,e.Button=Un,e.Carousel=Kn,e.Collapse=$n,e.Dropdown=Qn,e.Modal=Yn,e.Popover=zn,e.Scrollspy=Xn,e.Tab=Gn,e.Tooltip=Vn,Object.defineProperty(e,"__esModule",{value:!0})}); 2/** 3* jquery.matchHeight-min.js master 4* http://brm.io/jquery-match-height/ 5* License: MIT 6*/ 7(function(c){var n=-1,f=-1,g=function(a){return parseFloat(a)||0},r=function(a){var b=null,d=[];c(a).each(function(){var a=c(this),k=a.offset().top-g(a.css("margin-top")),l=0<d.length?d[d.length-1]:null;null===l?d.push(a):1>=Math.floor(Math.abs(b-k))?d[d.length-1]=l.add(a):d.push(a);b=k});return d},p=function(a){var b={byRow:!0,property:"height",target:null,remove:!1};if("object"===typeof a)return c.extend(b,a);"boolean"===typeof a?b.byRow=a:"remove"===a&&(b.remove=!0);return b},b=c.fn.matchHeight= 8function(a){a=p(a);if(a.remove){var e=this;this.css(a.property,"");c.each(b._groups,function(a,b){b.elements=b.elements.not(e)});return this}if(1>=this.length&&!a.target)return this;b._groups.push({elements:this,options:a});b._apply(this,a);return this};b._groups=[];b._throttle=80;b._maintainScroll=!1;b._beforeUpdate=null;b._afterUpdate=null;b._apply=function(a,e){var d=p(e),h=c(a),k=[h],l=c(window).scrollTop(),f=c("html").outerHeight(!0),m=h.parents().filter(":hidden");m.each(function(){var a=c(this); 9a.data("style-cache",a.attr("style"))});m.css("display","block");d.byRow&&!d.target&&(h.each(function(){var a=c(this),b="inline-block"===a.css("display")?"inline-block":"block";a.data("style-cache",a.attr("style"));a.css({display:b,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px"})}),k=r(h),h.each(function(){var a=c(this);a.attr("style",a.data("style-cache")||"")}));c.each(k,function(a,b){var e=c(b),f=0;if(d.target)f= 10d.target.outerHeight(!1);else{if(d.byRow&&1>=e.length){e.css(d.property,"");return}e.each(function(){var a=c(this),b={display:"inline-block"===a.css("display")?"inline-block":"block"};b[d.property]="";a.css(b);a.outerHeight(!1)>f&&(f=a.outerHeight(!1));a.css("display","")})}e.each(function(){var a=c(this),b=0;d.target&&a.is(d.target)||("border-box"!==a.css("box-sizing")&&(b+=g(a.css("border-top-width"))+g(a.css("border-bottom-width")),b+=g(a.css("padding-top"))+g(a.css("padding-bottom"))),a.css(d.property, 11f-b))})});m.each(function(){var a=c(this);a.attr("style",a.data("style-cache")||null)});b._maintainScroll&&c(window).scrollTop(l/f*c("html").outerHeight(!0));return this};b._applyDataApi=function(){var a={};c("[data-match-height], [data-mh]").each(function(){var b=c(this),d=b.attr("data-mh")||b.attr("data-match-height");a[d]=d in a?a[d].add(b):b});c.each(a,function(){this.matchHeight(!0)})};var q=function(a){b._beforeUpdate&&b._beforeUpdate(a,b._groups);c.each(b._groups,function(){b._apply(this.elements, 12this.options)});b._afterUpdate&&b._afterUpdate(a,b._groups)};b._update=function(a,e){if(e&&"resize"===e.type){var d=c(window).width();if(d===n)return;n=d}a?-1===f&&(f=setTimeout(function(){q(e);f=-1},b._throttle)):q(e)};c(b._applyDataApi);c(window).bind("load",function(a){b._update(!1,a)});c(window).bind("resize orientationchange",function(a){b._update(!0,a)})})(jQuery); 13/*! 14 * Isotope PACKAGED v3.0.4 15 * 16 * Licensed GPLv3 for open source use 17 * or Isotope Commercial License for commercial use 18 * 19 * http://isotope.metafizzy.co 20 * Copyright 2017 Metafizzy 21 */ 22 23!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function u(t,e,o){var n,s="$()."+i+'("'+e+'")';return t.each(function(t,u){var h=a.data(u,i);if(!h)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var d=h[e];if(!d||"_"==e.charAt(0))return void r(s+" is not a valid method");var l=d.apply(h,o);n=void 0===n?l:n}),void 0!==n?n:t}function h(t,e){t.each(function(t,o){var n=a.data(o,i);n?(n.option(e),n._init()):(n=new s(o,e),a.data(o,i,n))})}a=a||e||t.jQuery,a&&(s.prototype.option||(s.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=n.call(arguments,1
vendor: 3,663 bytes, line 23
23);return u(this,t,e)}return h(this,t),this},o(a))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var n=Array.prototype.slice,s=t.console,r="undefined"==typeof s?function(){}:function(t){s.error(t)};return o(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return o.indexOf(e)==-1&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},o=i[t]=i[t]||{};return o[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return o!=-1&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=0,n=i[o];e=e||[];for(var s=this._onceEvents&&this._onceEvents[t];n;){var r=s&&s[n];r&&(this.off(t,n),delete s[n]),n.apply(this,e),o+=r?0:1,n=i[o]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=t.indexOf("%")==-1&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<h;e++){var i=u[e];t[i]=0}return t}function o(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function n(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var n=o(e);s.isBoxSizeOuter=r=200==t(n.width),i.removeChild(e)}}function s(e){if(n(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var s=o(e);if("none"==s.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==s.boxSizing,l=0;l<h;l++){var f=u[l],c=s[f],m=parseFloat(c);a[f]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,y=a.paddingTop+a.paddingBottom,g=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,I=a.borderTopWidth+a.borderBottomWidth,z=d&&r,x=t(s.width);x!==!1&&(a.width=x+(z?0:p+_));var S=t(s.height);return S!==!1&&(a.height=S+(z?0:y+I)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(y+I),a.outerWidth=a.width+g,a.outerHeight=a.height+v,a}}var r,a="undefined"==typeof console?e:function(t){console.error(t)},u=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],h=u.length,d=!1;return s}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var o=e[i],n=o+"MatchesSelector";if(t[n])return n}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["de
23sandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"object"==typeof t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);i!=-1&&t.splice(i,1)},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,o){t=i.makeArray(t);var n=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!o)return void n.push(t);e(t,o)&&n.push(t);for(var i=t.querySelectorAll(o),s=0;s<i.length;s++)n.push(i[s])}}),n},i.debounceMethod=function(t,e,i){var o=t.prototype[e],n=e+"Timeout";t.prototype[e]=function(){var t=this[n];t&&clearTimeout(t);var e=arguments,s=this;this[n]=setTimeout(function(){o.apply(s,e),delete s[n]},i||100)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var o=t.console;return i.htmlInit=function(e,n){i.docReady(function(){var s=i.toDashed(n),r="data-"+s,a=document.querySelectorAll("["+r+"]"),u=document.querySelectorAll(".js-"+s),h=i.makeArray(a).concat(i.makeArray(u)),d=r+"-options",l=t.jQuery;h.forEach(function(t){var i,s=t.getAttribute(r)||t.getAttribute(d);try{i=s&&JSON.parse(s)}catch(a){return void(o&&o.error("Error parsing "+r+" on "+t.className+": "+a))}var u=new e(t,i);l&&l.data(t,n,u)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function o(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function n(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var s=document.documentElement.style,r="string"==typeof s.transition?"transition":"WebkitTransition",a="string"==typeof s.transform?"transform":"WebkitTransform",u={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[r],h={transform:a,transition:r,transitionDuration:r+"Duration",transitionProperty:r+"Property",transitionDelay:r+"Delay"},d=o.prototype=Object.create(t.prototype);d.constructor=o,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var o=h[i]||i;e[o]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),o=t[e?"left":"right"],n=t[i?"top":"bottom"],s=this.layout.size,r=o.indexOf("%")!=-1?parseFloat(o)/100*s.width:parseInt(o,10),a=n.indexOf("%")!=-1?parseFloat(n)/100*s.height:parseInt(n,10);r=isNaN(r)?0:r,a=isNaN(a)?0:a,r-=e?s.paddingLeft:s.paddingRight,a-=i?s.paddingTop:s.paddingBottom,this.position.x=r,this.position.y=a},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),o=this.layout._getOption("originTop"),n=i?"paddingLeft":"paddingRight",s=i?"left":"right",r=i?"right":"left",a=this.position.x+t[n];e[s]=this.getXValue(a),e[r]="";var u=o?"paddingTop":"paddingBottom",h=o?"top":"bottom",d=o?"bottom":"top",l=this.position.y+t[u];e[h]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=parseInt(t,10),s=parseInt(e,10),r=n===this.position.x&&s===this.position.y;if(this.setPosition(t,e),r&&!this.isTransitioning)return void this.layoutPosition();var a=t-i,u=e-o,h={};
23h.transform=this.getTranslate(a,u),this.transition({to:h,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),o=this.layout._getOption("originTop");return t=i?t:-t,e=o?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10
vendor: 11,351 bytes, line 23
23)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var o=this.element.offsetHeight;o=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+n(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(u,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var f={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,o=f[t.propertyName]||t.propertyName;if(delete e.ingProperties[o],i(e.ingProperties)&&this.disableTransition(),o in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[o]),o in e.onEnd){var n=e.onEnd[o];n.call(this),delete e.onEnd[o]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(u,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var c={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(c)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return r&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},o}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,o,n,s){return e(t,i,o,n,s)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,o,n){"use strict";function s(t,e){var i=o.getQueryElement(t);if(!i)return void(u&&u.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,h&&(this.$element=h(this.element)),this.options=o.extend({},this.constructor.defaults),this.option(e);var n=++l;this.element.outlayerGUID=n,f[n]=this,this._create();var s=this._getOption("initLayout");s&&this.layout()}function r(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],o=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var n=m[o]||1;return i*n}var u=t.console,h=t.jQuery,d=function(){},l=0,f={};s.namespace="outlayer",s.Item=n,s.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var c=s.prototype;o.extend(c,e.prototype),c.option=function(t){o.extend(this.options,t)},c._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},s.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},c._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),o.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},c.reloadItems=function(){this.items=this._itemize(this.element.children)},c._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0;n<e.length;n++){var s=e[n],r=new i(s,this);o.push(r)}return o},c._filterFindItemElements=function(t){return o.filterFindElements(t,this.options.itemSelector)},c.getItemElements=function(){return this.items.map(function(t){return t.element})},c.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},c._init=c.layout,c._resetLayout=function(){this.getSize()},c.getSize=function(){this.size=i(this.element)},c._getMeasurement=function(t,e){var o,n=this.options[t];n?("string"==typeof n?o=this.element.querySelector(n):n instanceof HTMLElement&&(o=n),this[t]=o?i(o)[e]:n):this[t]=0},c.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},c._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},c._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var o=this._getItemLayoutPosition(t);o.item=t,o.isInstant=e||t.isLayoutInstant,i.push(o)},this),this._processLayoutQueue(i)}},c._getItemLayoutPosition=function(){return{x:0,y:0}},c._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},c.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},c._positionItem=function(t,e,i,o,n){o?t.goTo(e,i):(t.stagger(n*this.stagger),t.moveTo(e,i))},c._postLayout=function(){this.resizeContainer()},c.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},c._getContainerSize=d,c._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},c._emitCompleteOnItems=function(t,e){function i(){n.dispatchEvent(t+"Complete",null,[e])}function o(){r++,r==s&&i()}var n=this,s=e.length;if(!e||!s)return void i();var r=0;e.forEach(function(e){e.once(t,o)})},c.dispatchEvent=function(t,e,i){var o=e?[e].concat(i):i;if(this.emitEvent(t,o),h)if(this.$element=this.$element||h(this.element),e){var n=h.Event(e);n.type=t,this.$element.trigger(n,i)}else this.$element.trigger(t,i)},c.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},c.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},c.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},c.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){o.removeFrom(this.stamps,t),this.unignore(t)},this)},c._find=function(t){if(t)return"string"==typeof t&&(t=this.element.querySelectorAll(t)),t=o.makeArray(t)},c._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},c._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},c._manageStamp=d,c._getElementOffset=function(t){var e=t.getBoundingClientRect(),o=this._boundingRect,n=i(t),s={left:e.left-o.left-n.marginLeft,top:e.top-o.top-n.marginTop,right:o.right-e.right-n.marginRight,bottom:o.bottom-e.bottom-n.marginBottom};return s},c.handleEvent=o.handleEvent,c.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},c.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},c.onresize=function(){this.resize()},o.debounceMethod(s,"onresize",100),c.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},c.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},c.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},c.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},c.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},c.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},c.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},c.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},c.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},c.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},c.getItems=function(t){t=o.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},c.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),o.removeFrom(this.items,t)},this)},c.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete f[e],delete this.element.outlayerGUID,h&&h.removeData(this.element,this.constructor.namespace)},s.data=function(t){t=o.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&f[e]},s.create=function(t,e){var i=r(s);return i.defaults=o.extend({},s.defaults),o.extend(i.defaults,e),i.compatOptions=o.extend({},s.compatOptions),i.namespace=t,i.data=s.data,i.Item=r(n),o.htmlInit(i,t),h&&h.bridget&&h.bridget(t,i),i};var m={ms:1,s:1e3};return s.Item=n,s}),function(t,e){"function"==typeof define&&define.amd?define("isotope
23/js/item",["outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window,function(t){"use strict";function e(){t.Item.apply(this,arguments)}var i=e.prototype=Object.create(t.Item.prototype),o=i._create;i._create=function(){this.id=this.layout.itemGUID++,o.call(this),this.sortData={}},i.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}};var n=i.destroy;return i.destroy=function(){n.apply(this,arguments),this.css({display:""})},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window,function(t,e){"use strict";function i(t){this.isotope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}var o=i.prototype,n=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"];
vendor: 12,466 bytes, lines 23-24
23return n.forEach(function(t){o[t]=function(){return e.prototype[t].apply(this.isotope,arguments)}}),o.needsVerticalResizeLayout=function(){var e=t(this.isotope.element),i=this.isotope.size&&e;return i&&e.innerHeight!=this.isotope.size.innerHeight},o._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},o.getColumnWidth=function(){this.getSegmentSize("column","Width")},o.getRowHeight=function(){this.getSegmentSize("row","Height")},o.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},o.getFirstItemSize=function(){var e=this.isotope.filteredItems[0];return e&&e.element&&t(e.element)},o.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},o.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},i.modes={},i.create=function(t,e){function n(){i.apply(this,arguments)}return n.prototype=Object.create(o),n.prototype.constructor=n,e&&(n.options=e),n.prototype.namespace=t,i.modes[t]=n,n},i}),function(t,e){"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var o=i.prototype;return o._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},o.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var o=this.columnWidth+=this.gutter,n=this.containerWidth+this.gutter,s=n/o,r=o-n%o,a=r&&r<1?"round":"floor";s=Math[a](s),this.cols=Math.max(s,1)},o.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,o=e(i);this.containerWidth=o&&o.innerWidth},o._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&e<1?"round":"ceil",o=Math[i](t.size.outerWidth/this.columnWidth);o=Math.min(o,this.cols);for(var n=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",s=this[n](o,t),r={x:this.columnWidth*s.col,y:s.y},a=s.y+t.size.outerHeight,u=o+s.col,h=s.col;h<u;h++)this.colYs[h]=a;return r},o._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},o._getTopColGroup=function(t){if(t<2)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;o<i;o++)e[o]=this._getColGroupY(o,t);return e},o._getColGroupY=function(t,e){if(e<2)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},o._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,o=t>1&&i+t>this.cols;i=o?0:i;var n=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=n?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},o._manageStamp=function(t){var i=e(t),o=this._getElementOffset(t),n=this._getOption("originLeft"),s=n?o.left:o.right,r=s+i.outerWidth,a=Math.floor(s/this.columnWidth);a=Math.max(0,a);var u=Math.floor(r/this.columnWidth);u-=r%this.columnWidth?0:1,u=Math.min(this.cols-1,u);for(var h=this._getOption("originTop"),d=(h?o.top:o.bottom)+i.outerHeight,l=a;l<=u;l++)this.colYs[l]=Math.max(d,this.colYs[l])},o._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},o._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},o.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Isotope.LayoutMode,t.Masonry)}(window,function(t,e){"use strict";var i=t.create("masonry"),o=i.prototype,n={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var s in e.prototype)n[s]||(o[s]=e.prototype[s]);var r=o.measureColumns;o.measureColumns=function(){this.items=this.isotope.filteredItems,r.call(this)};var a=o._getOption;return o._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.isotope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.isotope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var o={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,o},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],function(i,o,n,s,r,a){return e(t,i,o,n,s,r,a)}):"object"==typeof module&&module.exports?module.exports=e(t,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope/js/item"),require("isotope/js/layout-mode"),require("isotope/js/layout-modes/masonry"),require("isotope/js/layout-modes/fit-rows"),require("isotope/js/layout-modes/vertical")):t.Isotope=e(t,t.Outlayer,t.getSize,t.matchesSelector,t.fizzyUIUtils,t.Isotope.Item,t.Isotope.LayoutMode)}(window,function(t,e,i,o,n,s,r){function a(t,e){return function(i,o){for(var n=0;n<t.length;n++){var s=t[n],r=i.sortData[s],a=o.sortData[s];if(r>a||r<a){var u=void 0!==e[s]?e[s]:e,h=u?1:-1;return(r>a?1:-1)*h}}return 0}}var u=t.jQuery,h=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},d=e.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});d.Item=s,d.LayoutMode=r;var l=d.prototype;l._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),e.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var t in r.modes)this._initLayoutMode(t)},l.reloadItems=function(){this.itemGUID=0,e.prototype.reloadItems.call(this)},l._itemize=function(){for(var t=e.prototype._itemize.apply(this,arguments),i=0;i<t.length;i++){var o=t[i];o.id=this.itemGUID++}return this._updateItemsSortData(t),t},l._initLayoutMode=function(t){var e=r.modes[t],i=this.options[t]||{};this.options[t]=e.options?n.extend(e.options,i):i,this.modes[t]=new e(this)},l.layout=function(){return!this._isLayoutInited&&this._getOption("initLayout")?void this.arrange():void this._layout()},l._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},l.arrange=function(t){this.option(t),this._getIsInstant();var e=this._filter(this.items);this.filteredItems=e.matches,this._bindArrangeComplete(),this._isInstant?this._noTransition(this._hideReveal,[e]):this._hideReveal(e),this._sort(),this._layout()},l._init=l.arrange,l._hideReveal=function(t){this.reveal(t.needReveal),this.hide(t.needHide)},l._getIsInstant=function(){var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;return this._isInstant=e,e},l._bindArrangeComplete=function(){function t(){e&&i&&o&&n.dispatchEvent("arrangeComplete",null,[n.filteredItems])}var e,i,o,n=this;this.once("layoutComplete",function(){e=!0,t()}),this.once("hideComplete",function(){i=!0,t()}),this.once("revealComplete",function(){o=!0,t()})},l._filter=function(t){var e=this.options.filter;e=e||"*";for(var i=[],o=[],n=[],s=this._getFilterTest(e),r=0;r<t.length;r++){var a=t[r];if(!a.isIgnored){var u=s(a);u&&i.push(a),u&&a.isHidden?o.push(a):u||a.isHidden||n.push(a)}}return{matches:i,needReveal:o,needHide:n}},l._getFilterTest=function(t){return u&&this.options.isJQueryFiltering?function(e){return u(e.element).is(t)}:"function"==typeof t?function(e){return t(e.element)}:function(e){return o(e.element,t)}},l.updateSortData=function(t){ 24var e;t?(t=n.makeArray(t),e=this.getItems(t)):e=this.items,this._getSorters(),this._updateItemsSortData(e)},l._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=f(i)}},l._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&i<e;i++){var o=t[i];o.updateSortData()}};var f=function(){function t(t){if("string"!=typeof t)return t;var i=h(t).split(" "),o=i[0],n=o.match(/^\[(.+)\]$/),s=n&&n[1],r=e(s,o),a=d.sortDataParsers[i[1]];return t=a?function(t){return t&&a(r(t))}:function(t){return t&&r(t)}}function e(t,e){return t?function(e){return e.getAttribute(t)}:function(t){var i=t.querySelector(e);return i&&i.textContent}}return t}();d.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},l._sort=function(){if(this.options.sortBy){var t=n.makeArray(this.options.sortBy);this._getIsSameSortBy(t)||(this.sortHistory=t.concat(this.sortHistory));var e=a(this.sortHistory,this.options.sortAscending);this.filteredItems.sort(e)}},l._getIsSameSortBy=function(t){for(var e=0;e<t.length;e++)if(t[e]!=this.sortHistory[e])return!1;return!0},l._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw new Error("No layout mode: "+t);return e.options=this.options[t],e},l._resetLayout=function(){e.prototype._resetLayout.call(this),this._mode()._resetLayout()},l._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},l._manageStamp=function(t){this._mode()._manageStamp(t)},l._getContainerSize=function(){return this._mode()._getContainerSize()},l.needsResizeLayout=function(){return this._mode().needsResizeLayout()},l.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},l.prepended=function(t){var e=this._itemize(t);if(e.length){this._resetLayout(),this._manageStamps();var i=this._filterRevealAdded(e);this.layoutItems(this.filteredItems),this.filteredItems=i.concat(this.filteredItems),this.items=e.concat(this.items)}},l._filterRevealAdded=function(t){var e=this._filter(t);return this.hide(e.needHide),this.reveal(e.matches),this.layoutItems(e.matches,!0),e.matches},l.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;i<n;i++)o=e[i],this.element.appendChild(o.element);var s=this._filter(e).matches;for(i=0;i<n;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;i<n;i++)delete e[i].isLayoutInstant;this.reveal(s)}};var c=l.remove;return l.remove=function(t){t=n.makeArray(t);var e=this.getItems(t);c.call(this,t);for(var i=e&&e.length,o=0;i&&o<i;o++){var s=e[o];n.removeFrom(this.filteredItems,s)}},l.shuffle=function(){for(var t=0;t<this.items.length;t++){var e=this.items[t];e.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},l._noTransition=function(t,e){var i=this.options.transitionDuration;this.options.transitionDuration=0;
vendor: 4,140 bytes, lines 24-31
24var o=t.apply(this,e);return this.options.transitionDuration=i,o},l.getFilteredItemElements=function(){return this.filteredItems.map(function(t){return t.element})},d}); 25/*! 26 * imagesLoaded PACKAGED v4.1.4 27 * JavaScript is all like "You images are done yet or what?" 28 * MIT License 29 */ 30 31!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(e,r),delete n[r]),r.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return t(e,i)}):"object"==typeof module&&module.exports?module.exports=t(e,require("ev-emitter")):e.imagesLoaded=t(e,e.EvEmitter)}("undefined"!=typeof window?window:this,function(e,t){function i(e,t){for(var i in t)e[i]=t[i];return e}function n(e){if(Array.isArray(e))return e;var t="object"==typeof e&&"number"==typeof e.length;return t?d.call(e):[e]}function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var s=e;return"string"==typeof e&&(s=document.querySelectorAll(e)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof t?r=t:i(this.options,t),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||e))}function r(e){this.img=e}function s(e,t){this.url=e,this.element=t,this.img=new Image}var h=e.jQuery,a=e.console,d=Array.prototype.slice;o.prototype=Object.create(t.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},o.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),this.options.background===!0&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&u[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=e.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},o.prototype.addImage=function(e){var t=new r(e);this.images.push(t)},o.prototype.addBackground=function(e,t){var i=new s(e,t);this.images.push(i)},o.prototype.check=function(){function e(e,i,n){setTimeout(function(){t.progress(e,i,n)})}var t=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(t){t.once("progress",e),t.check()}):void this.complete()},o.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,e,t)},o.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},r.prototype=Object.create(t.prototype),r.prototype.check=function(){var e=this.getIsImageComplete();
31return e?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},r.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},r.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var e=this.getIsImageComplete();e&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},o.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&(h=t,h.fn.imagesLoaded=function(e,t){var i=new o(this,e,t);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o}); 32/* 33 Sticky-kit v1.1.2 | WTFPL | Leaf Corcoran 2015 | http://leafo.net 34*/ 35(function(){var b,f;b=this.jQuery||window.jQuery;f=b(window);b.fn.stick_in_parent=function(d){var A,w,J,n,B,K,p,q,k,E,t;null==d&&(d={});t=d.sticky_class;B=d.inner_scrolling;E=d.recalc_every;k=d.parent;q=d.offset_top;p=d.spacer;w=d.bottoming;null==q&&(q=0);null==k&&(k=void 0);null==B&&(B=!0);null==t&&(t="is_stuck");A=b(document);null==w&&(w=!0);J=function(a,d,n,C,F,u,r,G){var v,H,m,D,I,c,g,x,y,z,h,l;if(!a.data("sticky_kit")){a.data("sticky_kit",!0);I=A.height();g=a.parent();null!=k&&(g=g.closest(k)); 36if(!g.length)throw"failed to find stick parent";v=m=!1;(h=null!=p?p&&a.closest(p):b("<div />"))&&h.css("position",a.css("position"));x=function(){var c,f,e;if(!G&&(I=A.height(),c=parseInt(g.css("border-top-width"),10),f=parseInt(g.css("padding-top"),10),d=parseInt(g.css("padding-bottom"),10),n=g.offset().top+c+f,C=g.height(),m&&(v=m=!1,null==p&&(a.insertAfter(h),h.detach()),a.css({position:"",top:"",width:"",bottom:""}).removeClass(t),e=!0),F=a.offset().top-(parseInt(a.css("margin-top"),10)||0)-q, 37u=a.outerHeight(!0),r=a.css("float"),h&&h.css({width:a.outerWidth(!0),height:u,display:a.css("display"),"vertical-align":a.css("vertical-align"),"float":r}),e))return l()};x();if(u!==C)return D=void 0,c=q,z=E,l=function(){var b,l,e,k;if(!G&&(e=!1,null!=z&&(--z,0>=z&&(z=E,x(),e=!0)),e||A.height()===I||x(),e=f.scrollTop(),null!=D&&(l=e-D),D=e,m?(w&&(k=e+u+c>C+n,v&&!k&&(v=!1,a.css({position:"fixed",bottom:"",top:c}).trigger("sticky_kit:unbottom"))),e<F&&(m=!1,c=q,null==p&&("left"!==r&&"right"!==r||a.insertAfter(h), 38h.detach()),b={position:"",width:"",top:""},a.css(b).removeClass(t).trigger("sticky_kit:unstick")),B&&(b=f.height(),u+q>b&&!v&&(c-=l,c=Math.max(b-u,c),c=Math.min(q,c),m&&a.css({top:c+"px"})))):e>F&&(m=!0,b={position:"fixed",top:c},b.width="border-box"===a.css("box-sizing")?a.outerWidth()+"px":a.width()+"px",a.css(b).addClass(t),null==p&&(a.after(h),"left"!==r&&"right"!==r||h.append(a)),a.trigger("sticky_kit:stick")),m&&w&&(null==k&&(k=e+u+c>C+n),!v&&k)))return v=!0,"static"===g.css("position")&&g.css({position:"relative"}), 39a.css({position:"absolute",bottom:d,top:"auto"}).trigger("sticky_kit:bottom")},y=function(){x();return l()},H=function(){G=!0;f.off("touchmove",l);f.off("scroll",l);f.off("resize",y);b(document.body).off("sticky_kit:recalc",y);a.off("sticky_kit:detach",H);a.removeData("sticky_kit");a.css({position:"",bottom:"",top:"",width:""});g.position("position","");if(m)return null==p&&("left"!==r&&"right"!==r||a.insertAfter(h),h.remove()),a.removeClass(t)},f.on("touchmove",l),f.on("scroll",l),f.on("resize", 40y),b(document.body).on("sticky_kit:recalc",y),a.on("sticky_kit:detach",H),setTimeout(l,0)}};n=0;for(K=this.length;n<K;n++)d=this[n],J(b(d));return this}}).call(this); 41
vendor: 51,351 bytes, lines 42-1447
42/*! 43 * Modernizr v2.8.3 44 * www.modernizr.com 45 * 46 * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton 47 * Available under the BSD and MIT licenses: www.modernizr.com/license/ 48 */ 49 50/* 51 * Modernizr tests which native CSS3 and HTML5 features are available in 52 * the current UA and makes the results available to you in two ways: 53 * as properties on a global Modernizr object, and as classes on the 54 * <html> element. This information allows you to progressively enhance 55 * your pages with a granular level of control over the experience. 56 * 57 * Modernizr has an optional (not included) conditional resource loader 58 * called Modernizr.load(), based on Yepnope.js (yepnopejs.com). 59 * To get a build that includes Modernizr.load(), as well as choosing 60 * which tests to include, go to www.modernizr.com/download/ 61 * 62 * Authors Faruk Ates, Paul Irish, Alex Sexton 63 * Contributors Ryan Seddon, Ben Alman 64 */ 65 66window.Modernizr = (function( window, document, undefined ) { 67 68 var version = '2.8.3', 69 70 Modernizr = {}, 71 72 /*>>cssclasses*/ 73 // option for enabling the HTML classes to be added 74 enableClasses = true, 75 /*>>cssclasses*/ 76 77 docElement = document.documentElement, 78 79 /** 80 * Create our "modernizr" element that we do most feature tests on. 81 */ 82 mod = 'modernizr', 83 modElem = document.createElement(mod), 84 mStyle = modElem.style, 85 86 /** 87 * Create the input element for various Web Forms feature tests. 88 */ 89 inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ , 90 91 /*>>smile*/ 92 smile = ':)', 93 /*>>smile*/ 94 95 toString = {}.toString, 96 97 // TODO :: make the prefixes more granular 98 /*>>prefixes*/ 99 // List of property values to set for css tests. See ticket #21 100 prefixes = ' -webkit- -moz- -o- -ms- '.split(' '), 101 /*>>prefixes*/ 102 103 /*>>domprefixes*/ 104 // Following spec is to expose vendor-specific style properties as: 105 // elem.style.WebkitBorderRadius 106 // and the following would be incorrect: 107 // elem.style.webkitBorderRadius 108 109 // Webkit ghosts their properties in lowercase but Opera & Moz do not. 110 // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+ 111 // erik.eae.net/archives/2008/03/10/21.48.10/ 112 113 // More here: github.com/Modernizr/Modernizr/issues/issue/21 114 omPrefixes = 'Webkit Moz O ms', 115 116 cssomPrefixes = omPrefixes.split(' '), 117 118 domPrefixes = omPrefixes.toLowerCase().split(' '), 119 /*>>domprefixes*/ 120 121 /*>>ns*/ 122 ns = {'svg': 'http://www.w3.org/2000/svg'}, 123 /*>>ns*/ 124 125 tests = {}, 126 inputs = {}, 127 attrs = {}, 128 129 classes = [], 130 131 slice = classes.slice, 132 133 featureName, // used in testing loop 134 135 136 /*>>teststyles*/ 137 // Inject element with style element and some CSS rules 138 injectElementWithStyles = function( rule, callback, nodes, testnames ) { 139 140 var style, ret, node, docOverflow, 141 div = document.createElement('div'), 142 // After page load injecting a fake body doesn't work so check if body exists 143 body = document.body, 144 // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it. 145 fakeBody = body || document.createElement('body'); 146 147 if ( parseInt(nodes, 10) ) { 148 // In order not to give false positives we create a node for each test 149 // This also allows the method to scale for unspecified uses 150 while ( nodes-- ) { 151 node = document.createElement('div'); 152 node.id = testnames ? testnames[nodes] : mod + (nodes + 1); 153 div.appendChild(node); 154 } 155 } 156 157 // <style> elements in IE6-9 are considered 'NoScope' elements and therefore will be removed 158 // when injected with innerHTML. To get around this you need to prepend the 'NoScope' element 159 // with a 'scoped' element, in our case the soft-hyphen entity as it won't mess with our measurements. 160 // msdn.microsoft.com/en-us/library/ms533897%28VS.85%29.aspx 161 // Documents served as xml will throw if using ­ so use xml friendly encoded version. See issue #277 162 style = ['­','<style id="s', mod, '">', rule, '</style>'].join(''); 163 div.id = mod; 164 // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody. 165 // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270 166 (body ? div : fakeBody).innerHTML += style; 167 fakeBody.appendChild(div); 168 if ( !body ) { 169 //avoid crashing IE8, if background image is used 170 fakeBody.style.background = ''; 171 //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible 172 fakeBody.style.overflow = 'hidden'; 173 docOverflow = docElement.style.overflow; 174 docElement.style.overflow = 'hidden'; 175 docElement.appendChild(fakeBody); 176 } 177 178 ret = callback(div, rule); 179 // If this is done after page load we don't want to remove the body so check if body exists 180 if ( !body ) { 181 fakeBody.parentNode.removeChild(fakeBody); 182 docElement.style.overflow = docOverflow; 183 } else { 184 div.parentNode.removeChild(div); 185 } 186 187 return !!ret; 188 189 }, 190 /*>>teststyles*/ 191 192 /*>>mq*/ 193 // adapted from matchMedia polyfill 194 // by Scott Jehl and Paul Irish 195 // gist.github.com/786768 196 testMediaQuery = function( mq ) { 197 198 var matchMedia = window.matchMedia || window.msMatchMedia; 199 if ( matchMedia ) { 200 return matchMedia(mq) && matchMedia(mq).matches || false; 201 } 202 203 var bool; 204 205 injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) { 206 bool = (window.getComputedStyle ? 207 getComputedStyle(node, null) : 208 node.currentStyle)['position'] == 'absolute'; 209 }); 210 211 return bool; 212 213 }, 214 /*>>mq*/ 215 216 217 /*>>hasevent*/ 218 // 219 // isEventSupported determines if a given element supports the given event 220 // kangax.github.com/iseventsupported/ 221 // 222 // The following results are known incorrects: 223 // Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative 224 // Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333 225 // ... 226 isEventSupported = (function() { 227 228 var TAGNAMES = { 229 'select': 'input', 'change': 'input', 230 'submit': 'form', 'reset': 'form', 231 'error': 'img', 'load': 'img', 'abort': 'img' 232 }; 233 234 function isEventSupported( eventName, element ) { 235 236 element = element || document.createElement(TAGNAMES[eventName] || 'div'); 237 eventName = 'on' + eventName; 238 239 // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those 240 var isSupported = eventName in element; 241 242 if ( !isSupported ) { 243 // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element 244 if ( !element.setAttribute ) { 245 element = document.createElement('div'); 246 } 247 if ( element.setAttribute && element.removeAttribute ) { 248 element.setAttribute(eventName, ''); 249 isSupported = is(element[eventName], 'function'); 250 251 // If property was created, "remove it" (by setting value to `undefined`) 252 if ( !is(element[eventName], 'undefined') ) { 253 element[eventName] = undefined; 254 } 255 element.removeAttribute(eventName); 256 } 257 } 258 259 element = null; 260 return isSupported; 261 } 262 return isEventSupported; 263 })(), 264 /*>>hasevent*/ 265 266 // TODO :: Add flag for hasownprop ? didn't last time 267 268 // hasOwnProperty shim by kangax needed for Safari 2.0 support 269 _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp; 270 271 if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) { 272 hasOwnProp = function (object, property) { 273 return _hasOwnProperty.call(object, property); 274 }; 275 } 276 else { 277 hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ 278 return ((property in object) && is(object.constructor.prototype[property], 'undefined')); 279 }; 280 } 281 282 // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js 283 // es5.github.com/#x15.3.4.5 284 285 if (!Function.prototype.bind) { 286 Function.prototype.bind = function bind(that) { 287 288 var target = this; 289 290 if (typeof target != "function") { 291 throw new TypeError(); 292 } 293 294 var args = slice.call(arguments, 1), 295 bound = function () { 296 297 if (this instanceof bound) { 298 299 var F = function(){}; 300 F.prototype = target.prototype; 301 var self = new F(); 302 303 var result = target.apply( 304 self, 305 args.concat(slice.call(arguments)) 306 ); 307 if (Object(result) === result) { 308 return result; 309 } 310 return self; 311 312 } else { 313 314 return target.apply( 315 that, 316 args.concat(slice.call(arguments)) 317 ); 318 319 } 320 321 }; 322 323 return bound; 324 }; 325 } 326 327 /** 328 * setCss applies given styles to the Modernizr DOM node. 329 */ 330 function setCss( str ) { 331 mStyle.cssText = str; 332 } 333 334 /** 335 * setCssAll extrapolates all vendor-specific css strings. 336 */ 337 function setCssAll( str1, str2 ) { 338 return setCss(prefixes.join(str1 + ';') + ( str2 || '' )); 339 } 340 341 /** 342 * is returns a boolean for if typeof obj is exactly type. 343 */ 344 function is( obj, type ) { 345 return typeof obj === type; 346 } 347 348 /** 349 * contains returns a boolean for if substr is found within str. 350 */ 351 function contains( str, substr ) { 352 return !!~('' + str).indexOf(substr); 353 } 354 355 /*>>testprop*/ 356 357 // testProps is a generic CSS / DOM property test. 358 359 // In testing support for a given CSS property, it's legit to test: 360 // `elem.style[styleName] !== undefined` 361 // If the property is supported it will return an empty string, 362 // if unsupported it will return undefined. 363 364 // We'll take advantage of this quick test and skip setting a style 365 // on our modernizr element, but instead just testing undefined vs 366 // empty string. 367 368 // Because the testing of the CSS property names (with "-", as 369 // opposed to the camelCase DOM properties) is non-portable and 370 // non-standard but works in WebKit and IE (but not Gecko or Opera), 371 // we explicitly reject properties with dashes so that authors 372 // developing in WebKit or IE first don't end up with 373 // browser-specific content by accident. 374 375 function testProps( props, prefixed ) { 376 for ( var i in props ) { 377 var prop = props[i]; 378 if ( !contains(prop, "-") && mStyle[prop] !== undefined ) { 379 return prefixed == 'pfx' ? prop : true; 380 } 381 } 382 return false; 383 } 384 /*>>testprop*/ 385 386 // TODO :: add testDOMProps 387 /** 388 * testDOMProps is a generic DOM property test; if a browser supports 389 * a certain property, it won't return undefined for it. 390 */ 391 function testDOMProps( props, obj, elem ) { 392 for ( var i in props ) { 393 var item = obj[props[i]]; 394 if ( item !== undefined) { 395 396 // return the property name as a string 397 if (elem === false) return props[i]; 398 399 // let's bind a function 400 if (is(item, 'function')){ 401 // default to autobind unless override 402 return item.bind(elem || obj); 403 } 404 405 // return the unbound function or obj or value 406 return item; 407 } 408 } 409 return false; 410 } 411 412 /*>>testallprops*/ 413 /** 414 * testPropsAll tests a list of DOM properties we want to check against. 415 * We specify literally ALL possible (known and/or likely) properties on 416 * the element including the non-vendor prefixed one, for forward- 417 * compatibility. 418 */ 419 function testPropsAll( prop, prefixed, elem ) { 420 421 var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1), 422 props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' '); 423 424 // did they call .prefixed('boxSizing') or are we just testing a prop? 425 if(is(prefixed, "string") || is(prefixed, "undefined")) { 426 return testProps(props, prefixed); 427 428 // otherwise, they called .prefixed('requestAnimationFrame', window[, elem]) 429 } else { 430 props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' '); 431 return testDOMProps(props, prefixed, elem); 432 } 433 } 434 /*>>testallprops*/ 435 436 437 /** 438 * Tests 439 * ----- 440 */ 441 442 // The *new* flexbox 443 // dev.w3.org/csswg/css3-flexbox 444 445 tests['flexbox'] = function() { 446 return testPropsAll('flexWrap'); 447 }; 448 449 // The *old* flexbox 450 // www.w3.org/TR/2009/WD-css3-flexbox-20090723/ 451 452 tests['flexboxlegacy'] = function() { 453 return testPropsAll('boxDirection'); 454 }; 455 456 // On the S60 and BB Storm, getContext exists, but always returns undefined 457 // so we actually have to call getContext() to verify 458 // github.com/Modernizr/Modernizr/issues/issue/97/ 459 460 tests['canvas'] = function() { 461 var elem = document.createElement('canvas'); 462 return !!(elem.getContext && elem.getContext('2d')); 463 }; 464 465 tests['canvastext'] = function() { 466 return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function')); 467 }; 468 469 // webk.it/70117 is tracking a legit WebGL feature detect proposal 470 471 // We do a soft detect which may false positive in order to avoid 472 // an expensive context creation: bugzil.la/732441 473 474 tests['webgl'] = function() { 475 return !!window.WebGLRenderingContext; 476 }; 477 478 /* 479 * The Modernizr.touch test only indicates if the browser supports 480 * touch events, which does not necessarily reflect a touchscreen 481 * device, as evidenced by tablets running Windows 7 or, alas, 482 * the Palm Pre / WebOS (touch) phones. 483 * 484 * Additionally, Chrome (desktop) used to lie about its support on this, 485 * but that has since been rectified: crbug.com/36415 486 * 487 * We also test for Firefox 4 Multitouch Support. 488 * 489 * For more info, see: modernizr.github.com/Modernizr/touch.html 490 */ 491 492 tests['touch'] = function() { 493 var bool; 494 495 if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) { 496 bool = true; 497 } else { 498 injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) { 499 bool = node.offsetTop === 9; 500 }); 501 } 502 503 return bool; 504 }; 505 506 507 // geolocation is often considered a trivial feature detect... 508 // Turns out, it's quite tricky to get right: 509 // 510 // Using !!navigator.geolocation does two things we don't want. It: 511 // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513 512 // 2. Disables page caching in WebKit: webk.it/43956 513 // 514 // Meanwhile, in Firefox < 8, an about:config setting could expose 515 // a false positive that would throw an exception: bugzil.la/688158 516 517 tests['geolocation'] = function() { 518 return 'geolocation' in navigator; 519 }; 520 521 522 tests['postmessage'] = function() { 523 return !!window.postMessage; 524 }; 525 526 527 // Chrome incognito mode used to throw an exception when using openDatabase 528 // It doesn't anymore. 529 tests['websqldatabase'] = function() { 530 return !!window.openDatabase; 531 }; 532 533 // Vendors had inconsistent prefixing with the experimental Indexed DB: 534 // - Webkit's implementation is accessible through webkitIndexedDB 535 // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB 536 // For speed, we don't test the legacy (and beta-only) indexedDB 537 tests['indexedDB'] = function() { 538 return !!testPropsAll("indexedDB", window); 539 }; 540 541 // documentMode logic from YUI to filter out IE8 Compat Mode 542 // which false positives. 543 tests['hashchange'] = function() { 544 return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7); 545 }; 546 547 // Per 1.6: 548 // This used to be Modernizr.historymanagement but the longer 549 // name has been deprecated in favor of a shorter and property-matching one. 550 // The old API is still available in 1.6, but as of 2.0 will throw a warning, 551 // and in the first release thereafter disappear entirely. 552 tests['history'] = function() { 553 return !!(window.history && history.pushState); 554 }; 555 556 tests['draganddrop'] = function() { 557 var div = document.createElement('div'); 558 return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div); 559 }; 560 561 // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10 562 // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17. 563 // FF10 still uses prefixes, so check for it until then. 564 // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/ 565 tests['websockets'] = function() { 566 return 'WebSocket' in window || 'MozWebSocket' in window; 567 }; 568 569 570 // css-tricks.com/rgba-browser-support/ 571 tests['rgba'] = function() { 572 // Set an rgba() color and check the returned value 573 574 setCss('background-color:rgba(150,255,150,.5)'); 575 576 return contains(mStyle.backgroundColor, 'rgba'); 577 }; 578 579 tests['hsla'] = function() { 580 // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, 581 // except IE9 who retains it as hsla 582 583 setCss('background-color:hsla(120,40%,100%,.5)'); 584 585 return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla'); 586 }; 587 588 tests['multiplebgs'] = function() { 589 // Setting multiple images AND a color on the background shorthand property 590 // and then querying the style.background property value for the number of 591 // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! 592 593 setCss('background:url(https://),url(https://),red url(https://)'); 594 595 // If the UA supports multiple backgrounds, there should be three occurrences 596 // of the string "url(" in the return value for elemStyle.background 597 598 return (/(url\s*\(.*?){3}/).test(mStyle.background); 599 }; 600 601 602 603 // this will false positive in Opera Mini 604 // github.com/Modernizr/Modernizr/issues/396 605 606 tests['backgroundsize'] = function() { 607 return testPropsAll('backgroundSize'); 608 }; 609 610 tests['borderimage'] = function() { 611 return testPropsAll('borderImage'); 612 }; 613 614 615 // Super comprehensive table about all the unique implementations of 616 // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance 617 618 tests['borderradius'] = function() { 619 return testPropsAll('borderRadius'); 620 }; 621 622 // WebOS unfortunately false positives on this test. 623 tests['boxshadow'] = function() { 624 return testPropsAll('boxShadow'); 625 }; 626 627 // FF3.0 will false positive on this test 628 tests['textshadow'] = function() { 629 return document.createElement('div').style.textShadow === ''; 630 }; 631 632 633 tests['opacity'] = function() { 634 // Browsers that actually have CSS Opacity implemented have done so 635 // according to spec, which means their return values are within the 636 // range of [0.0,1.0] - including the leading zero. 637 638 setCssAll('opacity:.55'); 639 640 // The non-literal . in this regex is intentional: 641 // German Chrome returns this value as 0,55 642 // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 643 return (/^0.55$/).test(mStyle.opacity); 644 }; 645 646 647 // Note, Android < 4 will pass this test, but can only animate 648 // a single property at a time 649 // goo.gl/v3V4Gp 650 tests['cssanimations'] = function() { 651 return testPropsAll('animationName'); 652 }; 653 654 655 tests['csscolumns'] = function() { 656 return testPropsAll('columnCount'); 657 }; 658 659 660 tests['cssgradients'] = function() { 661 /** 662 * For CSS Gradients syntax, please see: 663 * webkit.org/blog/175/introducing-css-gradients/ 664 * developer.mozilla.org/en/CSS/-moz-linear-gradient 665 * developer.mozilla.org/en/CSS/-moz-radial-gradient 666 * dev.w3.org/csswg/css3-images/#gradients- 667 */ 668 669 var str1 = 'background-image:', 670 str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', 671 str3 = 'linear-gradient(left top,#9f9, white);'; 672 673 setCss( 674 // legacy webkit syntax (FIXME: remove when syntax not in use anymore) 675 (str1 + '-webkit- '.split(' ').join(str2 + str1) + 676 // standard syntax // trailing 'background-image:' 677 prefixes.join(str3 + str1)).slice(0, -str1.length) 678 ); 679 680 return contains(mStyle.backgroundImage, 'gradient'); 681 }; 682 683 684 tests['cssreflections'] = function() { 685 return testPropsAll('boxReflect'); 686 }; 687 688 689 tests['csstransforms'] = function() { 690 return !!testPropsAll('transform'); 691 }; 692 693 694 tests['csstransforms3d'] = function() { 695 696 var ret = !!testPropsAll('perspective'); 697 698 // Webkit's 3D transforms are passed off to the browser's own graphics renderer. 699 // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in 700 // some conditions. As a result, Webkit typically recognizes the syntax but 701 // will sometimes throw a false positive, thus we must do a more thorough check: 702 if ( ret && 'webkitPerspective' in docElement.style ) { 703 704 // Webkit allows this media query to succeed only if the feature is enabled. 705 // `@media (transform-3d),(-webkit-transform-3d){ ... }` 706 injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) { 707 ret = node.offsetLeft === 9 && node.offsetHeight === 3; 708 }); 709 } 710 return ret; 711 }; 712 713 714 tests['csstransitions'] = function() { 715 return testPropsAll('transition'); 716 }; 717 718 719 /*>>fontface*/ 720 // @font-face detection routine by Diego Perini 721 // javascript.nwbox.com/CSSSupport/ 722 723 // false positives: 724 // WebOS github.com/Modernizr/Modernizr/issues/342 725 // WP7 github.com/Modernizr/Modernizr/issues/538 726 tests['fontface'] = function() { 727 var bool; 728 729 injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) { 730 var style = document.getElementById('smodernizr'), 731 sheet = style.sheet || style.styleSheet, 732 cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : ''; 733 734 bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0; 735 }); 736 737 return bool; 738 }; 739 /*>>fontface*/ 740 741 // CSS generated content detection 742 tests['generatedcontent'] = function() { 743 var bool; 744 745 injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) { 746 bool = node.offsetHeight >= 3; 747 }); 748 749 return bool; 750 }; 751 752 753 754 // These tests evaluate support of the video/audio elements, as well as 755 // testing what types of content they support. 756 // 757 // We're using the Boolean constructor here, so that we can extend the value 758 // e.g. Modernizr.video // true 759 // Modernizr.video.ogg // 'probably' 760 // 761 // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 762 // thx to NielsLeenheer and zcorpan 763 764 // Note: in some older browsers, "no" was a return value instead of empty string. 765 // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2 766 // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5 767 768 tests['video'] = function() { 769 var elem = document.createElement('video'), 770 bool = false; 771 772 // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224 773 try { 774 if ( bool = !!elem.canPlayType ) { 775 bool = new Boolean(bool); 776 bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,''); 777 778 // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546 779 bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,''); 780 781 bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,''); 782 } 783 784 } catch(e) { } 785 786 return bool; 787 }; 788 789 tests['audio'] = function() { 790 var elem = document.createElement('audio'), 791 bool = false; 792 793 try { 794 if ( bool = !!elem.canPlayType ) { 795 bool = new Boolean(bool); 796 bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,''); 797 bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,''); 798 799 // Mimetypes accepted: 800 // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements 801 // bit.ly/iphoneoscodecs 802 bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,''); 803 bool.m4a = ( elem.canPlayType('audio/x-m4a;') || 804 elem.canPlayType('audio/aac;')) .replace(/^no$/,''); 805 } 806 } catch(e) { } 807 808 return bool; 809 }; 810 811 812 // In FF4, if disabled, window.localStorage should === null. 813 814 // Normally, we could not test that directly and need to do a 815 // `('localStorage' in window) && ` test first because otherwise Firefox will 816 // throw bugzil.la/365772 if cookies are disabled 817 818 // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem 819 // will throw the exception: 820 // QUOTA_EXCEEDED_ERRROR DOM Exception 22. 821 // Peculiarly, getItem and removeItem calls do not throw. 822 823 // Because we are forced to try/catch this, we'll go aggressive. 824 825 // Just FWIW: IE8 Compat mode supports these features completely: 826 // www.quirksmode.org/dom/html5.html 827 // But IE8 doesn't support either with local files 828 829 tests['localstorage'] = function() { 830 try { 831 localStorage.setItem(mod, mod); 832 localStorage.removeItem(mod); 833 return true; 834 } catch(e) { 835 return false; 836 } 837 }; 838 839 tests['sessionstorage'] = function() { 840 try { 841 sessionStorage.setItem(mod, mod); 842 sessionStorage.removeItem(mod); 843 return true; 844 } catch(e) { 845 return false; 846 } 847 }; 848 849 850 tests['webworkers'] = function() { 851 return !!window.Worker; 852 }; 853 854 855 tests['applicationcache'] = function() { 856 return !!window.applicationCache; 857 }; 858 859 860 // Thanks to Erik Dahlstrom 861 tests['svg'] = function() { 862 return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect; 863 }; 864 865 // specifically for SVG inline in HTML, not within XHTML 866 // test page: paulirish.com/demo/inline-svg 867 tests['inlinesvg'] = function() { 868 var div = document.createElement('div'); 869 div.innerHTML = '<svg/>'; 870 return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; 871 }; 872 873 // SVG SMIL animation 874 tests['smil'] = function() { 875 return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate'))); 876 }; 877 878 // This test is only for clip paths in SVG proper, not clip paths on HTML content 879 // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg 880 881 // However read the comments to dig into applying SVG clippaths to HTML content here: 882 // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491 883 tests['svgclippaths'] = function() { 884 return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath'))); 885 }; 886 887 /*>>webforms*/ 888 // input features and input types go directly onto the ret object, bypassing the tests loop. 889 // Hold this guy to execute in a moment. 890 function webforms() { 891 /*>>input*/ 892 // Run through HTML5's new input attributes to see if the UA understands any. 893 // We're using f which is the <input> element created early on 894 // Mike Taylr has created a comprehensive resource for testing these attributes 895 // when applied to all input types: 896 // miketaylr.com/code/input-type-attr.html 897 // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary 898 899 // Only input placeholder is tested while textarea's placeholder is not. 900 // Currently Safari 4 and Opera 11 have support only for the input placeholder 901 // Both tests are available in feature-detects/forms-placeholder.js 902 Modernizr['input'] = (function( props ) { 903 for ( var i = 0, len = props.length; i < len; i++ ) { 904 attrs[ props[i] ] = !!(props[i] in inputElem); 905 } 906 if (attrs.list){ 907 // safari false positive's on datalist: webk.it/74252 908 // see also github.com/Modernizr/Modernizr/issues/146 909 attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement); 910 } 911 return attrs; 912 })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' ')); 913 /*>>input*/ 914 915 /*>>inputtypes*/ 916 // Run through HTML5's new input types to see if the UA understands any. 917 // This is put behind the tests runloop because it doesn't return a 918 // true/false like all the other tests; instead, it returns an object 919 // containing each input type with its corresponding true/false value 920 921 // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/ 922 Modernizr['inputtypes'] = (function(props) { 923 924 for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) { 925 926 inputElem.setAttribute('type', inputElemType = props[i]); 927 bool = inputElem.type !== 'text'; 928 929 // We first check to see if the type we give it sticks.. 930 // If the type does, we feed it a textual value, which shouldn't be valid. 931 // If the value doesn't stick, we know there's input sanitization which infers a custom UI 932 if ( bool ) { 933 934 inputElem.value = smile; 935 inputElem.style.cssText = 'position:absolute;visibility:hidden;'; 936 937 if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) { 938 939 docElement.appendChild(inputElem); 940 defaultView = document.defaultView; 941 942 // Safari 2-4 allows the smiley as a value, despite making a slider 943 bool = defaultView.getComputedStyle && 944 defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' && 945 // Mobile android web browser has false positive, so must 946 // check the height to see if the widget is actually there. 947 (inputElem.offsetHeight !== 0); 948 949 docElement.removeChild(inputElem); 950 951 } else if ( /^(search|tel)$/.test(inputElemType) ){ 952 // Spec doesn't define any special parsing or detectable UI 953 // behaviors so we pass these through as true 954 955 // Interestingly, opera fails the earlier test, so it doesn't 956 // even make it here. 957 958 } else if ( /^(url|email)$/.test(inputElemType) ) { 959 // Real url and email support comes with prebaked validation. 960 bool = inputElem.checkValidity && inputElem.checkValidity() === false; 961 962 } else { 963 // If the upgraded input compontent rejects the :) text, we got a winner 964 bool = inputElem.value != smile; 965 } 966 } 967 968 inputs[ props[i] ] = !!bool; 969 } 970 return inputs; 971 })('search tel url email datetime date month week time datetime-local number range color'.split(' ')); 972 /*>>inputtypes*/ 973 } 974 /*>>webforms*/ 975 976 977 // End of test definitions 978 // ----------------------- 979 980 981 982 // Run through all tests and detect their support in the current UA. 983 // todo: hypothetically we could be doing an array of tests and use a basic loop here. 984 for ( var feature in tests ) { 985 if ( hasOwnProp(tests, feature) ) { 986 // run the test, throw the return value into the Modernizr, 987 // then based on that boolean, define an appropriate className 988 // and push it into an array of classes we'll join later. 989 featureName = feature.toLowerCase(); 990 Modernizr[featureName] = tests[feature](); 991 992 classes.push((Modernizr[featureName] ? '' : 'no-') + featureName); 993 } 994 } 995 996 /*>>webforms*/ 997 // input tests need to run. 998 Modernizr.input || webforms(); 999 /*>>webforms*/ 1000 1001 1002 /** 1003 * addTest allows the user to define their own feature tests 1004 * the result will be added onto the Modernizr object, 1005 * as well as an appropriate className set on the html element 1006 * 1007 * @param feature - String naming the feature 1008 * @param test - Function returning true if feature is supported, false if not 1009 */ 1010 Modernizr.addTest = function ( feature, test ) { 1011 if ( typeof feature == 'object' ) { 1012 for ( var key in feature ) { 1013 if ( hasOwnProp( feature, key ) ) { 1014 Modernizr.addTest( key, feature[ key ] ); 1015 } 1016 } 1017 } else { 1018 1019 feature = feature.toLowerCase(); 1020 1021 if ( Modernizr[feature] !== undefined ) { 1022 // we're going to quit if you're trying to overwrite an existing test 1023 // if we were to allow it, we'd do this: 1024 // var re = new RegExp("\\b(no-)?" + feature + "\\b"); 1025 // docElement.className = docElement.className.replace( re, '' ); 1026 // but, no rly, stuff 'em. 1027 return Modernizr; 1028 } 1029 1030 test = typeof test == 'function' ? test() : test; 1031 1032 if (typeof enableClasses !== "undefined" && enableClasses) { 1033 docElement.className += ' ' + (test ? '' : 'no-') + feature; 1034 } 1035 Modernizr[feature] = test; 1036 1037 } 1038 1039 return Modernizr; // allow chaining. 1040 }; 1041 1042 1043 // Reset modElem.cssText to nothing to reduce memory footprint. 1044 setCss(''); 1045 modElem = inputElem = null; 1046 1047 /*>>shiv*/ 1048 /** 1049 * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 1050 */ 1051 ;(function(window, document) { 1052 /*jshint evil:true */ 1053 /** version */ 1054 var version = '3.7.0'; 1055 1056 /** Preset options */ 1057 var options = window.html5 || {}; 1058 1059 /** Used to skip problem elements */ 1060 var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; 1061 1062 /** Not all elements can be cloned in IE **/ 1063 var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; 1064 1065 /** Detect whether the browser supports default html5 styles */ 1066 var supportsHtml5Styles; 1067 1068 /** Name of the expando, to work with multiple documents or to re-shiv one document */ 1069 var expando = '_html5shiv'; 1070 1071 /** The id for the the documents expando */ 1072 var expanID = 0; 1073 1074 /** Cached data for each document */ 1075 var expandoData = {}; 1076 1077 /** Detect whether the browser supports unknown elements */ 1078 var supportsUnknownElements; 1079 1080 (function() { 1081 try { 1082 var a = document.createElement('a'); 1083 a.innerHTML = '<xyz></xyz>'; 1084 //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles 1085 supportsHtml5Styles = ('hidden' in a); 1086 1087 supportsUnknownElements = a.childNodes.length == 1 || (function() { 1088 // assign a false positive if unable to shiv 1089 (document.createElement)('a'); 1090 var frag = document.createDocumentFragment(); 1091 return ( 1092 typeof frag.cloneNode == 'undefined' || 1093 typeof frag.createDocumentFragment == 'undefined' || 1094 typeof frag.createElement == 'undefined' 1095 ); 1096 }()); 1097 } catch(e) { 1098 // assign a false positive if detection fails => unable to shiv 1099 supportsHtml5Styles = true; 1100 supportsUnknownElements = true; 1101 } 1102 1103 }()); 1104 1105 /*--------------------------------------------------------------------------*/ 1106 1107 /** 1108 * Creates a style sheet with the given CSS text and adds it to the document. 1109 * @private 1110 * @param {Document} ownerDocument The document. 1111 * @param {String} cssText The CSS text. 1112 * @returns {StyleSheet} The style element. 1113 */ 1114 function addStyleSheet(ownerDocument, cssText) { 1115 var p = ownerDocument.createElement('p'), 1116 parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; 1117 1118 p.innerHTML = 'x<style>' + cssText + '</style>'; 1119 return parent.insertBefore(p.lastChild, parent.firstChild); 1120 } 1121 1122 /** 1123 * Returns the value of `html5.elements` as an array. 1124 * @private 1125 * @returns {Array} An array of shived element node names. 1126 */ 1127 function getElements() { 1128 var elements = html5.elements; 1129 return typeof elements == 'string' ? elements.split(' ') : elements; 1130 } 1131 1132 /** 1133 * Returns the data associated to the given document 1134 * @private 1135 * @param {Document} ownerDocument The document. 1136 * @returns {Object} An object of data. 1137 */ 1138 function getExpandoData(ownerDocument) { 1139 var data = expandoData[ownerDocument[expando]]; 1140 if (!data) { 1141 data = {}; 1142 expanID++; 1143 ownerDocument[expando] = expanID; 1144 expandoData[expanID] = data; 1145 } 1146 return data; 1147 } 1148 1149 /** 1150 * returns a shived element for the given nodeName and document 1151 * @memberOf html5 1152 * @param {String} nodeName name of the element 1153 * @param {Document} ownerDocument The context document. 1154 * @returns {Object} The shived element. 1155 */ 1156 function createElement(nodeName, ownerDocument, data){ 1157 if (!ownerDocument) { 1158 ownerDocument = document; 1159 } 1160 if(supportsUnknownElements){ 1161 return ownerDocument.createElement(nodeName); 1162 } 1163 if (!data) { 1164 data = getExpandoData(ownerDocument); 1165 } 1166 var node; 1167 1168 if (data.cache[nodeName]) { 1169 node = data.cache[nodeName].cloneNode(); 1170 } else if (saveClones.test(nodeName)) { 1171 node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); 1172 } else { 1173 node = data.createElem(nodeName); 1174 } 1175 1176 // Avoid adding some elements to fragments in IE < 9 because 1177 // * Attributes like `name` or `type` cannot be set/changed once an element 1178 // is inserted into a document/fragment 1179 // * Link elements with `src` attributes that are inaccessible, as with 1180 // a 403 response, will cause the tab/window to crash 1181 // * Script elements appended to fragments will execute when their `src` 1182 // or `text` property is set 1183 return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; 1184 } 1185 1186 /** 1187 * returns a shived DocumentFragment for the given document 1188 * @memberOf html5 1189 * @param {Document} ownerDocument The context document. 1190 * @returns {Object} The shived DocumentFragment. 1191 */ 1192 function createDocumentFragment(ownerDocument, data){ 1193 if (!ownerDocument) { 1194 ownerDocument = document; 1195 } 1196 if(supportsUnknownElements){ 1197 return ownerDocument.createDocumentFragment(); 1198 } 1199 data = data || getExpandoData(ownerDocument); 1200 var clone = data.frag.cloneNode(), 1201 i = 0, 1202 elems = getElements(), 1203 l = elems.length; 1204 for(;i<l;i++){ 1205 clone.createElement(elems[i]); 1206 } 1207 return clone; 1208 } 1209 1210 /** 1211 * Shivs the `createElement` and `createDocumentFragment` methods of the document. 1212 * @private 1213 * @param {Document|DocumentFragment} ownerDocument The document. 1214 * @param {Object} data of the document. 1215 */ 1216 function shivMethods(ownerDocument, data) { 1217 if (!data.cache) { 1218 data.cache = {}; 1219 data.createElem = ownerDocument.createElement; 1220 data.createFrag = ownerDocument.createDocumentFragment; 1221 data.frag = data.createFrag(); 1222 } 1223 1224 1225 ownerDocument.createElement = function(nodeName) { 1226 //abort shiv 1227 if (!html5.shivMethods) { 1228 return data.createElem(nodeName); 1229 } 1230 return createElement(nodeName, ownerDocument, data); 1231 }; 1232 1233 ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' + 1234 'var n=f.cloneNode(),c=n.createElement;' + 1235 'h.shivMethods&&(' + 1236 // unroll the `createElement` calls 1237 getElements().join().replace(/[\w\-]+/g, function(nodeName) { 1238 data.createElem(nodeName); 1239 data.frag.createElement(nodeName); 1240 return 'c("' + nodeName + '")'; 1241 }) + 1242 ');return n}' 1243 )(html5, data.frag); 1244 } 1245 1246 /*--------------------------------------------------------------------------*/ 1247 1248 /** 1249 * Shivs the given document. 1250 * @memberOf html5 1251 * @param {Document} ownerDocument The document to shiv. 1252 * @returns {Document} The shived document. 1253 */ 1254 function shivDocument(ownerDocument) { 1255 if (!ownerDocument) { 1256 ownerDocument = document; 1257 } 1258 var data = getExpandoData(ownerDocument); 1259 1260 if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) { 1261 data.hasCSS = !!addStyleSheet(ownerDocument, 1262 // corrects block display not defined in IE6/7/8/9 1263 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' + 1264 // adds styling not present in IE6/7/8/9 1265 'mark{background:#FF0;color:#000}' + 1266 // hides non-rendered elements 1267 'template{display:none}' 1268 ); 1269 } 1270 if (!supportsUnknownElements) { 1271 shivMethods(ownerDocument, data); 1272 } 1273 return ownerDocument; 1274 } 1275 1276 /*--------------------------------------------------------------------------*/ 1277 1278 /** 1279 * The `html5` object is exposed so that more elements can be shived and 1280 * existing shiving can be detected on iframes. 1281 * @type Object 1282 * @example 1283 * 1284 * // options can be changed before the script is included 1285 * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false }; 1286 */ 1287 var html5 = { 1288 1289 /** 1290 * An array or space separated string of node names of the elements to shiv. 1291 * @memberOf html5 1292 * @type Array|String 1293 */ 1294 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video', 1295 1296 /** 1297 * current version of html5shiv 1298 */ 1299 'version': version, 1300 1301 /** 1302 * A flag to indicate that the HTML5 style sheet should be inserted. 1303 * @memberOf html5 1304 * @type Boolean 1305 */ 1306 'shivCSS': (options.shivCSS !== false), 1307 1308 /** 1309 * Is equal to true if a browser supports creating unknown/HTML5 elements 1310 * @memberOf html5 1311 * @type boolean 1312 */ 1313 'supportsUnknownElements': supportsUnknownElements, 1314 1315 /** 1316 * A flag to indicate that the document's `createElement` and `createDocumentFragment` 1317 * methods should be overwritten. 1318 * @memberOf html5 1319 * @type Boolean 1320 */ 1321 'shivMethods': (options.shivMethods !== false), 1322 1323 /** 1324 * A string to describe the type of `html5` object ("default" or "default print"). 1325 * @memberOf html5 1326 * @type String 1327 */ 1328 'type': 'default', 1329 1330 // shivs the document according to the specified `html5` object options 1331 'shivDocument': shivDocument, 1332 1333 //creates a shived element 1334 createElement: createElement, 1335 1336 //creates a shived documentFragment 1337 createDocumentFragment: createDocumentFragment 1338 }; 1339 1340 /*--------------------------------------------------------------------------*/ 1341 1342 // expose html5 1343 window.html5 = html5; 1344 1345 // shiv the document 1346 shivDocument(document); 1347 1348 }(this, document)); 1349 /*>>shiv*/ 1350 1351 // Assign private properties to the return object with prefix 1352 Modernizr._version = version; 1353 1354 // expose these for the plugin API. Look in the source for how to join() them against your input 1355 /*>>prefixes*/ 1356 Modernizr._prefixes = prefixes; 1357 /*>>prefixes*/ 1358 /*>>domprefixes*/ 1359 Modernizr._domPrefixes = domPrefixes; 1360 Modernizr._cssomPrefixes = cssomPrefixes; 1361 /*>>domprefixes*/ 1362 1363 /*>>mq*/ 1364 // Modernizr.mq tests a given media query, live against the current state of the window 1365 // A few important notes: 1366 // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false 1367 // * A max-width or orientation query will be evaluated against the current state, which may change later. 1368 // * You must specify values. Eg. If you are testing support for the min-width media query use: 1369 // Modernizr.mq('(min-width:0)') 1370 // usage: 1371 // Modernizr.mq('only screen and (max-width:768)') 1372 Modernizr.mq = testMediaQuery; 1373 /*>>mq*/ 1374 1375 /*>>hasevent*/ 1376 // Modernizr.hasEvent() detects support for a given event, with an optional element to test on 1377 // Modernizr.hasEvent('gesturestart', elem) 1378 Modernizr.hasEvent = isEventSupported; 1379 /*>>hasevent*/ 1380 1381 /*>>testprop*/ 1382 // Modernizr.testProp() investigates whether a given style property is recognized 1383 // Note that the property names must be provided in the camelCase variant. 1384 // Modernizr.testProp('pointerEvents') 1385 Modernizr.testProp = function(prop){ 1386 return testProps([prop]); 1387 }; 1388 /*>>testprop*/ 1389 1390 /*>>testallprops*/ 1391 // Modernizr.testAllProps() investigates whether a given style property, 1392 // or any of its vendor-prefixed variants, is recognized 1393 // Note that the property names must be provided in the camelCase variant. 1394 // Modernizr.testAllProps('boxSizing') 1395 Modernizr.testAllProps = testPropsAll; 1396 /*>>testallprops*/ 1397 1398 1399 /*>>teststyles*/ 1400 // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards 1401 // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... }) 1402 Modernizr.testStyles = injectElementWithStyles; 1403 /*>>teststyles*/ 1404 1405 1406 /*>>prefixed*/ 1407 // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input 1408 // Modernizr.prefixed('boxSizing') // 'MozBoxSizing' 1409 1410 // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style. 1411 // Return values will also be the camelCase variant, if you need to translate that to hypenated style use: 1412 // 1413 // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-'); 1414 1415 // If you're trying to ascertain which transition end event to bind to, you might do something like... 1416 // 1417 // var transEndEventNames = { 1418 // 'WebkitTransition' : 'webkitTransitionEnd', 1419 // 'MozTransition' : 'transitionend', 1420 // 'OTransition' : 'oTransitionEnd', 1421 // 'msTransition' : 'MSTransitionEnd', 1422 // 'transition' : 'transitionend' 1423 // }, 1424 // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ]; 1425 1426 Modernizr.prefixed = function(prop, obj, elem){ 1427 if(!obj) { 1428 return testPropsAll(prop, 'pfx'); 1429 } else { 1430 // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame' 1431 return testPropsAll(prop, obj, elem); 1432 } 1433 }; 1434 /*>>prefixed*/ 1435 1436 1437 /*>>cssclasses*/ 1438 // Remove "no-js" class from <html> element, if it exists: 1439 docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') + 1440 1441 // Add the new classes to the <html> element. 1442 (enableClasses ? ' js ' + classes.join(' ') : ''); 1443 /*>>cssclasses*/ 1444 1445 return Modernizr; 1446 1447})(this, this.document);
1448 1449/** 1450 * Swiper 3.1.7 1451 * Most modern mobile touch slider and framework with hardware accelerated transitions 1452 * 1453 * http://www.idangero.us/swiper/ 1454 * 1455 * Copyright 2015, Vladimir Kharlampidi 1456 * The iDangero.us 1457 * http://www.idangero.us/ 1458 * 1459 * Licensed under MIT 1460 * 1461 * Released on: October 10, 2015 1462 */ 1463!function(){"use strict";function e(e){e.fn.swiper=function(a){var s;return e(this).each(function(){var e=new t(this,a);
vendor: 55,802 bytes, lines 1463-1464
1463s||(s=e)}),s}}var a,t=function(e,s){function r(){return"horizontal"===v.params.direction}function i(e){return Math.floor(e)}function n(){v.autoplayTimeoutId=setTimeout(function(){v.params.loop?(v.fixLoop(),v._slideNext()):v.isEnd?s.autoplayStopOnLast?v.stopAutoplay():v._slideTo(0):v._slideNext()},v.params.autoplay)}function o(e,t){var s=a(e.target);if(!s.is(t))if("string"==typeof t)s=s.parents(t);else if(t.nodeType){var r;return s.parents().each(function(e,a){a===t&&(r=t)}),r?t:void 0}return 0===s.length?void 0:s[0]}function l(e,a){a=a||{};var t=window.MutationObserver||window.WebkitMutationObserver,s=new t(function(e){e.forEach(function(e){v.onResize(!0),v.emit("onObserverUpdate",v,e)})});s.observe(e,{attributes:"undefined"==typeof a.attributes?!0:a.attributes,childList:"undefined"==typeof a.childList?!0:a.childList,characterData:"undefined"==typeof a.characterData?!0:a.characterData}),v.observers.push(s)}function p(e){e.originalEvent&&(e=e.originalEvent);var a=e.keyCode||e.charCode;if(!v.params.allowSwipeToNext&&(r()&&39===a||!r()&&40===a))return!1;if(!v.params.allowSwipeToPrev&&(r()&&37===a||!r()&&38===a))return!1;if(!(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey||document.activeElement&&document.activeElement.nodeName&&("input"===document.activeElement.nodeName.toLowerCase()||"textarea"===document.activeElement.nodeName.toLowerCase()))){if(37===a||39===a||38===a||40===a){var t=!1;if(v.container.parents(".swiper-slide").length>0&&0===v.container.parents(".swiper-slide-active").length)return;var s={left:window.pageXOffset,top:window.pageYOffset},i=window.innerWidth,n=window.innerHeight,o=v.container.offset();v.rtl&&(o.left=o.left-v.container[0].scrollLeft);for(var l=[[o.left,o.top],[o.left+v.width,o.top],[o.left,o.top+v.height],[o.left+v.width,o.top+v.height]],p=0;p<l.length;p++){var d=l[p];d[0]>=s.left&&d[0]<=s.left+i&&d[1]>=s.top&&d[1]<=s.top+n&&(t=!0)}if(!t)return}r()?((37===a||39===a)&&(e.preventDefault?e.preventDefault():e.returnValue=!1),(39===a&&!v.rtl||37===a&&v.rtl)&&v.slideNext(),(37===a&&!v.rtl||39===a&&v.rtl)&&v.slidePrev()):((38===a||40===a)&&(e.preventDefault?e.preventDefault():e.returnValue=!1),40===a&&v.slideNext(),38===a&&v.slidePrev())}}function d(e){e.originalEvent&&(e=e.originalEvent);var a=v.mousewheel.event,t=0;if(e.detail)t=-e.detail;else if("mousewheel"===a)if(v.params.mousewheelForceToAxis)if(r()){if(!(Math.abs(e.wheelDeltaX)>Math.abs(e.wheelDeltaY)))return;t=e.wheelDeltaX}else{if(!(Math.abs(e.wheelDeltaY)>Math.abs(e.wheelDeltaX)))return;t=e.wheelDeltaY}else t=e.wheelDelta;else if("DOMMouseScroll"===a)t=-e.detail;else if("wheel"===a)if(v.params.mousewheelForceToAxis)if(r()){if(!(Math.abs(e.deltaX)>Math.abs(e.deltaY)))return;t=-e.deltaX}else{if(!(Math.abs(e.deltaY)>Math.abs(e.deltaX)))return;t=-e.deltaY}else t=Math.abs(e.deltaX)>Math.abs(e.deltaY)?-e.deltaX:-e.deltaY;if(v.params.mousewheelInvert&&(t=-t),v.params.freeMode){var s=v.getWrapperTranslate()+t*v.params.mousewheelSensitivity;if(s>v.minTranslate()&&(s=v.minTranslate()),s<v.maxTranslate()&&(s=v.maxTranslate()),v.setWrapperTransition(0),v.setWrapperTranslate(s),v.updateProgress(),v.updateActiveIndex(),v.params.freeModeSticky&&(clearTimeout(v.mousewheel.timeout),v.mousewheel.timeout=setTimeout(function(){v.slideReset()},300)),0===s||s===v.maxTranslate())return}else{if((new window.Date).getTime()-v.mousewheel.lastScrollTime>60)if(0>t)if(v.isEnd&&!v.params.loop||v.animating){if(v.params.mousewheelReleaseOnEdges)return!0}else v.slideNext();else if(v.isBeginning&&!v.params.loop||v.animating){if(v.params.mousewheelReleaseOnEdges)return!0}else v.slidePrev();v.mousewheel.lastScrollTime=(new window.Date).getTime()}return v.params.autoplay&&v.stopAutoplay(),e.preventDefault?e.preventDefault():e.returnValue=!1,!1}function c(e,t){e=a(e);var s,i,n;s=e.attr("data-swiper-parallax")||"0",i=e.attr("data-swiper-parallax-x"),n=e.attr("data-swiper-parallax-y"),i||n?(i=i||"0",n=n||"0"):r()?(i=s,n="0"):(n=s,i="0"),i=i.indexOf("%")>=0?parseInt(i,10)*t+"%":i*t+"px",n=n.indexOf("%")>=0?parseInt(n,10)*t+"%":n*t+"px",e.transform("translate3d("+i+", "+n+",0px)")}function u(e){return 0!==e.indexOf("on")&&(e=e[0]!==e[0].toUpperCase()?"on"+e[0].toUpperCase()+e.substring(1):"on"+e),e}if(!(this instanceof t))return new t(e,s);var m={direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,autoplay:!1,autoplayDisableOnInteraction:!0,iOSEdgeSwipeDetection:!1,iOSEdgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",coverflow:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},cube:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fade:{crossFade:!1},parallax:!1,scrollbar:null,scrollbarHide:!0,scrollbarDraggable:!1,scrollbarSnapOnRelease:!1,keyboardControl:!1,mousewheelControl:!1,mousewheelReleaseOnEdges:!1,mousewheelInvert:!1,mousewheelForceToAxis:!1,mousewheelSensitivity:1,hashnav:!1,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,onlyExternal:!1,threshold:0,touchMoveStopPropagation:!0,pagination:null,paginationElement:"span",paginationClickable:!1,paginationHide:!1,paginationBulletRender:null,resistance:!0,resistanceRatio:.85,nextButton:null,prevButton:null,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,lazyLoading:!1,lazyLoadingInPrevNext:!1,lazyLoadingOnTransitionStart:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,control:void 0,controlInverse:!1,controlBy:"slide",allowSwipeToPrev:!0,allowSwipeToNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",buttonDisabledClass:"swiper-button-disabled",paginationHiddenClass:"swiper-pagination-hidden",observer:!1,observeParents:!1,a11y:!1,prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",runCallbacksOnInit:!0},f=s&&s.virtualTranslate;s=s||{};for(var h in m)if("undefined"==typeof s[h])s[h]=m[h];else if("object"==typeof s[h])for(var g in m[h])"undefined"==typeof s[h][g]&&(s[h][g]=m[h][g]);var v=this;if(v.params=s,v.classNames=[],"undefined"!=typeof a&&"undefined"!=typeof Dom7&&(a=Dom7),("undefined"!=typeof a||(a="undefined"==typeof Dom7?window.Dom7||window.Zepto||window.jQuery:Dom7))&&(v.$=a,v.container=a(e),0!==v.container.length)){if(v.container.length>1)return void v.container.each(function(){new t(this,s)});v.container[0].swiper=v,v.container.data("swiper",v),v.classNames.push("swiper-container-"+v.params.direction),v.params.freeMode&&v.classNames.push("swiper-container-free-mode"),v.support.flexbox||(v.classNames.push("swiper-container-no-flexbox"),v.params.slidesPerColumn=1),(v.params.parallax||v.params.watchSlidesVisibility)&&(v.params.watchSlidesProgress=!0),["cube","coverflow"].indexOf(v.params.effect)>=0&&(v.support.transforms3d?(v.params.watchSlidesProgress=!0,v.classNames.push("swiper-container-3d")):v.params.effect="slide"),"slide"!==v.params.effect&&v.classNames.push("swiper-container-"+v.params.effect),"cube"===v.params.effect&&(v.params.resistanceRatio=0,v.params.slidesPerView=1,v.params.slidesPerColumn=1,v.params.slidesPerGroup=1,v.params.centeredSlides=!1,v.params.spaceBetween=0,v.params.virtualTranslate=!0,v.params.setWrapperSize=!1),"fade"===v.params.effect&&(v.params.slidesPerView=1,v.params.slidesPerColumn=1,v.params.slidesPerGroup=1,v.params.watchSlidesProgress=!0,v.params.spaceBetween=0,"undefined"==typeof f&&(v.params.virtualTranslate=!0)),v.params.grabCursor&&v.support.touch&&(v.params.grabCursor=!1),v.wrapper=v.container.children("."+v.params.wrapperClass),v.params.pagination&&(v.paginationContainer=a(v.params.pagination),v.params.paginationClickable&&v.paginationContainer.addClass("swiper-pagination-clickable")),v.rtl=r()&&("rtl"===v.container[0].dir.toLowerCase()||"rtl"===v.container.css("direction")),v.rtl&&v.classNames.push("swiper-container-rtl"),v.rtl&&(v.wrongRTL="-webkit-box"===v.wrapper.css("display")),v.params.slidesPerColumn>1&&v.classNames.push("swiper-container-multirow"),v.device.android&&v.classNames.push("swiper-container-android"),v.container.addClass(v.classNames.join(" ")),v.translate=0,v.progress=0,v.velocity=0,v.lockSwipeToNext=function(){v.params.allowSwipeToNext=!1},v.lockSwipeToPrev=function(){v.params.allowSwipeToPrev=!1},v.lockSwipes=function(){v.params.allowSwipeToNext=v.params.allowSwipeToPrev=!1},v.unlockSwipeToNext=function(){v.params.allowSwipeToNext=!0},v.unlockSwipeToPrev=function(){v.params.allowSwipeToPrev=!0},v.unlockSwipes=function(){v.params.allowSwipeToNext=v.params.allowSwipeToPrev=!0},v.params.grabCursor&&(v.container[0].style.cursor="move",v.container[0].style.cursor="-webkit-grab",v.container[0].style.cursor="-moz-grab",v.container[0].style.cursor="grab"),v.imagesToLoad=[],v.imagesLoaded=0,v.loadImage=function(e,a,t,s,r){function i(){r&&r()}var n;e.complete&&s?i():a?(n=new window.Image,n.onload=i,n.onerror=i,t&&(n.srcset=t),a&&(n.src=a)):i()},v.preloadImages=function(){function e(){"undefined"!=typeof v&&null!==v&&(void 0!==v.imagesLoaded&&v.imagesLoaded++,v.imagesLoaded===v.imagesToLoad.length&&(v.params.updateOnImagesReady&&v.update(),v.emit("onImagesReady",v)))}v.imagesToLoad=v.container.find("img");for(var a=0;a<v.imagesToLoad.length;a++)v.loadImage(v.imagesToLoad[a],v.imagesToLoad[a].currentSrc||v.imagesToLoad[a].getAttribute("src"),v.imagesToLoad[a].srcset||v.imagesToLoad[a].getAttribute("srcset"),!0,e)},v.autoplayTimeoutId=void 0,v.autoplaying=!1,v.autoplayPaused=!1,v.startAutoplay=function(){return"undefined"!=typeof v.autoplayTimeoutId?!1:v.params.autoplay?v.autoplaying?!1:(v.autoplaying=!0,v.emit("onAutoplayStart",v),void n()):!1},v.stopAutoplay=function(e){v.autoplayTimeoutId&&(v.autoplayTimeoutId&&clearTimeout(v.autoplayTimeoutId),v.autoplaying=!1,v.autoplayTimeoutId=void 0,v.emit("onAutoplayStop",v))},v.pauseAutoplay=function(e){v.autoplayPaused||(v.autoplayTimeoutId&&clearTimeout(v.autoplayTimeoutId),v.autoplayPaused=!0,0===e?(v.autoplayPaused=!1,n()):v.wrapper.transitionEnd(function(){v&&(v.autoplayPaused=!1,v.autoplaying?n():v.stopAutoplay())}))},v.minTranslate=function(){return-v.snapGrid[0]},v.maxTranslate=function(){return-v.snapGrid[v.snapGrid.length-1]},v.updateContainerSize=function(){var e,a;e="undefined"!=typeof v.params.width?v.params.width:v.container[0].clientWidth,a="undefined"!=typeof v.params.height?v.params.height:v.container[0].clientHeight,0===e&&r()||0===a&&!r()||(e=e-parseInt(v.container.css("padding-left"),10)-parseInt(v.container.css("padding-right"),10),a=a-parseInt(v.container.css("padding-top"),10)-parseInt(v.container.css("padding-bottom"),10),v.width=e,v.height=a,v.size=r()?v.width:v.height)},v.updateSlidesSize=function(){v.slides=v.wrapper.children("."+v.params.slideClass),v.snapGrid=[],v.slidesGrid=[],v.slidesSizesGrid=[];var e,a=v.params.spaceBetween,t=-v.params.slidesOffsetBefore,s=0,n=0;"string"==typeof a&&a.indexOf("%")>=0&&(a=parseFloat(a.replace("%",""))/100*v.size),v.virtualSize=-a,v.rtl?v.slides.css({marginLeft:"",marginTop:""}):v.slides.css({marginRight:"",marginBottom:""});var o;v.params.slidesPerColumn>1&&(o=Math.floor(v.slides.length/v.params.slidesPerColumn)===v.slides.length/v.params.slidesPerColumn?v.slides.length:Math.ceil(v.slides.length/v.params.slidesPerColumn)*v.params.slidesPerColumn,"auto"!==v.params.slidesPerView&&"row"===v.params.slidesPerColumnFill&&(o=Math.max(o,v.params.slidesPerView*v.params.slidesPerColumn)));var l,p=v.params.slidesPerColumn,d=o/p,c=d-(v.params.slidesPerColumn*d-v.slides.length);for(e=0;e<v.slides.length;e++){l=0;var u=v.slides.eq(e);if(v.params.slidesPerColumn>1){var m,f,h;"column"===v.params.slidesPerColumnFill?(f=Math.floor(e/p),h=e-f*p,(f>c||f===c&&h===p-1)&&++h>=p&&(h=0,f++),m=f+h*o/p,u.css({"-webkit-box-ordinal-group":m,"-moz-box-ordinal-group":m,"-ms-flex-order":m,"-webkit-order":m,order:m})):(h=Math.floor(e/d),f=e-h*d),u.css({"margin-top":0!==h&&v.params.spaceBetween&&v.params.spaceBetween+"px"}).attr("data-swiper-column",f).attr("data-swiper-row",h)}"none"!==u.css("display")&&("auto"===v.params.slidesPerView?(l=r()?u.outerWidth(!0):u.outerHeight(!0),v.params.roundLengths&&(l=i(l))):(l=(v.size-(v.params.slidesPerView-1)*a)/v.params.slidesPerView,v.params.roundLengths&&(l=i(l)),r()?v.slides[e].style.width=l+"px":v.slides[e].style.height=l+"px"),v.slides[e].swiperSlideSize=l,v.slidesSizesGrid.push(l),v.params.centeredSlides?(t=t+l/2+s/2+a,0===e&&(t=t-v.size/2-a),Math.abs(t)<.001&&(t=0),n%v.params.slidesPerGroup===0&&v.snapGrid.push(t),v.slidesGrid.push(t)):(n%v.params.slidesPerGroup===0&&v.snapGrid.push(t),v.slidesGrid.push(t),t=t+l+a),v.virtualSize+=l+a,s=l,n++)}v.virtualSize=Math.max(v.virtualSize,v.size)+v.params.slidesOffsetAfter;var g;if(v.rtl&&v.wrongRTL&&("slide"===v.params.effect||"coverflow"===v.params.effect)&&v.wrapper.css({width:v.virtualSize+v.params.spaceBetween+"px"}),(!v.support.flexbox||v.params.setWrapperSize)&&(r()?v.wrapper.css({width:v.virtualSize+v.params.spaceBetween+"px"}):v.wrapper.css({height:v.virtualSize+v.params.spaceBetween+"px"})),v.params.slidesPerColumn>1&&(v.virtualSize=(l+v.params.spaceBetween)*o,v.virtualSize=Math.ceil(v.virtualSize/v.params.slidesPerColumn)-v.params.spaceBetween,v.wrapper.css({width:v.virtualSize+v.params.spaceBetween+"px"}),v.params.centeredSlides)){for(g=[],e=0;e<v.snapGrid.length;e++)v.snapGrid[e]<v.virtualSize+v.snapGrid[0]&&g.push(v.snapGrid[e]);v.snapGrid=g}if(!v.params.centeredSlides){for(g=[],e=0;e<v.snapGrid.length;e++)v.snapGrid[e]<=v.virtualSize-v.size&&g.push(v.snapGrid[e]);v.snapGrid=g,Math.floor(v.virtualSize-v.size)>Math.floor(v.snapGrid[v.snapGrid.length-1])&&v.snapGrid.push(v.virtualSize-v.size)}0===v.snapGrid.length&&(v.snapGrid=[0]),0!==v.params.spaceBetween&&(r()?v.rtl?v.slides.css({marginLeft:a+"px"}):v.slides.css({marginRight:a+"px"}):v.slides.css({marginBottom:a+"px"})),v.params.watchSlidesProgress&&v.updateSlidesOffset()},v.updateSlidesOffset=function(){for(var e=0;e<v.slides.length;e++)v.slides[e].swiperSlideOffset=r()?v.slides[e].offsetLeft:v.slides[e].offsetTop},v.updateSlidesProgress=function(e){if("undefined"==typeof e&&(e=v.translate||0),0!==v.slides.length){"undefined"==typeof v.slides[0].swiperSlideOffset&&v.updateSlidesOffset();var a=-e;v.rtl&&(a=e);v.container[0].getBoundingClientRect(),r()?"left":"top",r()?"right":"bottom";v.slides.removeClass(v.params.slideVisibleClass);for(var t=0;t<v.slides.length;t++){var s=v.slides[t],i=(a-s.swiperSlideOffset)/(s.swiperSlideSize+v.params.spaceBetween);if(v.params.watchSlidesVisibility){var n=-(a-s.swiperSlideOffset),o=n+v.slidesSizesGrid[t],l=n>=0&&n<v.size||o>0&&o<=v.size||0>=n&&o>=v.size;l&&v.slides.eq(t).addClass(v.params.slideVisibleClass)}s.progress=v.rtl?-i:i}}},v.updateProgress=function(e){"undefined"==typeof e&&(e=v.translate||0);var a=v.maxTranslate()-v.minTranslate();0===a?(v.progress=0,v.isBeginning=v.isEnd=!0):(v.progress=(e-v.minTranslate())/a,v.isBeginning=v.progress<=0,v.isEnd=v.progress>=1),v.isBeginning&&v.emit("onReachBeginning",v),v.isEnd&&v.emit("onReachEnd",v),v.params.watchSlidesProgress&&v.updateSlidesProgress(e),v.emit("onProgress",v,v.progress)},v.updateActiveIndex=function(){var e,a,t,s=v.rtl?v.translate:-v.translate;for(a=0;a<v.slidesGrid.length;a++)"undefined"!=typeof v.slidesGrid[a+1]?s>=v.slidesGrid[a]&&s<v.slidesGrid[a+1]-(v.slidesGrid[a+1]-v.slidesGrid[a])/2?e=a:s>=v.slidesGrid[a]&&s<v.slidesGrid[a+1]&&(e=a+1):s>=v.slidesGrid[a]&&(e=a);(0>e||"undefined"==typeof e)&&(e=0),t=Math.floor(e/v.params.slidesPerGroup),t>=v.snapGrid.length&&(t=v.snapGrid.length-1),e!==v.activeIndex&&(v.snapIndex=t,v.previousIndex=v.activeIndex,v.activeIndex=e,v.updateClasses())},v.updateClasses=function(){v.slides.removeClass(v.params.slideActiveClass+" "+v.params.slideNextClass+" "+v.params.slidePrevClass);var e=v.slides.eq(v.activeIndex);if(e.addClass(v.params.slideActiveClass),e.next("."+v.params.slideClass).addClass(v.params.slideNextClass),e.prev("."+v.params.slideClass).addClass(v.params.slidePrevClass),v.bullets&&v.bullets.length>0){v.bullets.removeClass(v.params.bulletActiveClass);var t;v.params.loop?(t=Math.ceil(v.activeIndex-v.loopedSlides)/v.params.slidesPerGroup,t>v.slides.length-1-2*v.loopedSlides&&(t-=v.slides.length-2*v.loopedSlides),t>v.bullets.length-1&&(t-=v.bullets.length)):t="undefined"!=typeof v.snapIndex?v.snapIndex:v.activeIndex||0,v.paginationContainer.length>1?v.bullets.each(function(){a(this).index()===t&&a(this).addClass(v.params.bulletActiveClass)}):v.bullets.eq(t).addClass(v.params.bulletActiveClass)}v.params.loop||(v.params.prevButton&&(v.isBeginning?(a(v.params.prevButton).addClass(v.params.buttonDisabledClass),v.params.a11y&&v.a11y&&v.a11y.disable(a(v.params.prevButton))):(a(v.params.prevButton).removeClass(v.params.buttonDisabledClass),v.params.a11y&&v.a11y&&v.a11y.enable(a(v.params.prevButton)))),v.params.nextButton&&(v.isEnd?(a(v.params.nextButton).addClass(v.params.buttonDisabledClass),v.params.a11y&&v.a11y&&v.a11y.disable(a(v.params.nextButton))):(a(v.params.nextButton).removeClass(v.params.buttonDisabledClass),v.params.a11y&&v.a11y&&v.a11y.enable(a(v.params.nextButton)))))},v.updatePagination=function(){if(v.params.pagination&&v.paginationContainer&&v.paginationContainer.length>0){for(var e="",a=v.params.loop?Math.ceil((v.slides.length-2*v.loopedSlides)/v.params.slidesPerGroup):v.snapGrid.length,t=0;a>t;t++)e+=v.params.paginationBulletRender?v.params.paginationBulletRender(t,v.params.bulletClass):"<"+v.params.paginationElement+' class="'+v.params.bulletClass+'"></'+v.params.paginationElement+">";v.paginationContainer.html(e),v.bullets=v.paginationContainer.find("."+v.params.bulletClass),v.params.paginationClickable&&v.params.a11y&&v.a11y&&v.a11y.initPagination()}},v.update=function(e){function a(){s=Math.min(Math.max(v.translate,v.maxTranslate()),v.minTranslate()),v.setWrapperTranslate(s),v.updateActiveIndex(),v.updateClasses()}if(v.updateContainerSize(),v.updateSlidesSize(),v.updateProgress(),v.updatePagination(),v.updateClasses(),v.params.scrollbar&&v.scrollbar&&v.scrollbar.set(),e){var t,s;v.controller&&v.controller.spline&&(v.controller.spline=void 0),v.params.freeMode?a():(t=("auto"===v.params.slidesPerView||v.params.slidesPerView>1)&&v.isEnd&&!v.params.centeredSlides?v.slideTo(v.slides.length-1,0,!1,!0):v.slideTo(v.activeIndex,0,!1,!0),t||a())}},v.onResize=function(e){var a=v.params.allowSwipeToPrev,t=v.params.allowSwipeToNext;if(v.params.allowSwipeToPrev=v.params.allowSwipeToNext=!0,v.updateContainerSize(),v.updateSlidesSize(),("auto"===v.params.slidesPerView||v.params.freeMode||e)&&v.updatePagination(),v.params.scrollbar&&v.scrollbar&&v.scrollbar.set(),v.controller&&v.controller.spline&&(v.controller.spline=void 0),v.params.freeMode){var s=Math.min(Math.max(v.translate,v.maxTranslate()),v.minTranslate());v.setWrapperTranslate(s),v.updateActiveIndex(),v.updateClasses()}else v.updateClasses(),("auto"===v.params.slidesPerView||v.params.slidesPerView>1)&&v.isEnd&&!v.params.centeredSlides?v.slideTo(v.slides.length-1,0,!1,!0):v.slideTo(v.activeIndex,0,!1,!0);v.params.allowSwipeToPrev=a,v.params.allowSwipeToNext=t};var w=["mousedown","mousemove","mouseup"];window.navigator.pointerEnabled?w=["pointerdown","pointermove","pointerup"]:window.navigator.msPointerEnabled&&(w=["MSPointerDown","MSPointerMove","MSPointerUp"]),v.touchEvents={start:v.support.touch||!v.params.simulateTouch?"touchstart":w[0],move:v.support.touch||!v.params.simulateTouch?"touchmove":w[1],end:v.support.touch||!v.params.simulateTouch?"touchend":w[2]},(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&("container"===v.params.touchEventsTarget?v.container:v.wrapper).addClass("swiper-wp8-"+v.params.direction),v.initEvents=function(e){var t=e?"off":"on",r=e?"removeEventListener":"addEventListener",i="container"===v.params.touchEventsTarget?v.container[0]:v.wrapper[0],n=v.support.touch?i:document,o=v.params.nested?!0:!1;v.browser.ie?(i[r](v.touchEvents.start,v.onTouchStart,!1),n[r](v.touchEvents.move,v.onTouchMove,o),n[r](v.touchEvents.end,v.onTouchEnd,!1)):(v.support.touch&&(i[r](v.touchEvents.start,v.onTouchStart,!1),i[r](v.touchEvents.move,v.onTouchMove,o),i[r](v.touchEvents.end,v.onTouchEnd,!1)),!s.simulateTouch||v.device.ios||v.device.android||(i[r]("mousedown",v.onTouchStart,!1),document[r]("mousemove",v.onTouchMove,o),document[r]("mouseup",v.onTouchEnd,!1))),window[r]("resize",v.onResize),v.params.nextButton&&(a(v.params.nextButton)[t]("click",v.onClickNext),v.params.a11y&&v.a11y&&a(v.params.nextButton)[t]("keydown",v.a11y.onEnterKey)),v.params.prevButton&&(a(v.params.prevButton)[t]("click",v.onClickPrev),v.params.a11y&&v.a11y&&a(v.params.prevButton)[t]("keydown",v.a11y.onEnterKey)),v.params.pagination&&v.params.paginationClickable&&(a(v.paginationContainer)[t]("click","."+v.params.bulletClass,v.onClickIndex),v.params.a11y&&v.a11y&&a(v.paginationContainer)[t]("keydown","."+v.params.bulletClass,v.a11y.onEnterKey)),(v.params.preventClicks||v.params.preventClicksPropagation)&&i[r]("click",v.preventClicks,!0)},v.attachEvents=function(e){v.initEvents()},v.detachEvents=function(){v.initEvents(!0)},v.allowClick=!0,v.preventClicks=function(e){v.allowClick||(v.params.preventClicks&&e.preventDefault(),v.params.preventClicksPropagation&&v.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))},v.onClickNext=function(e){e.preventDefault(),(!v.isEnd||v.params.loop)&&v.slideNext()},v.onClickPrev=function(e){e.preventDefault(),(!v.isBeginning||v.params.loop)&&v.slidePrev()},v.onClickIndex=function(e){e.preventDefault();var t=a(this).index()*v.params.slidesPerGroup;v.params.loop&&(t+=v.loopedSlides),v.slideTo(t)},v.updateClickedSlide=function(e){var t=o(e,"."+v.params.slideClass),s=!1;if(t)for(var r=0;r<v.slides.length;r++)v.slides[r]===t&&(s=!0);if(!t||!s)return v.clickedSlide=void 0,void(v.clickedIndex=void 0);if(v.clickedSlide=t,v.clickedIndex=a(t).index(),v.params.slideToClickedSlide&&void 0!==v.clickedIndex&&v.clickedIndex!==v.activeIndex){var i,n=v.clickedIndex;if(v.params.loop){if(v.animating)return;i=a(v.clickedSlide).attr("data-swiper-slide-index"),v.params.centeredSlides?n<v.loopedSlides-v.params.slidesPerView/2||n>v.slides.length-v.loopedSlides+v.params.slidesPerView/2?(v.fixLoop(),n=v.wrapper.children("."+v.params.slideClass+'[data-swiper-slide-index="'+i+'"]:not(.swiper-slide-duplicate)').eq(0).index(),setTimeout(function(){v.slideTo(n)},0)):v.slideTo(n):n>v.slides.length-v.params.slidesPerView?(v.fixLoop(),n=v.wrapper.children("."+v.params.slideClass+'[data-swiper-slide-index="'+i+'"]:not(.swiper-slide-duplicate)').eq(0).index(),setTimeout(function(){v.slideTo(n)},0)):v.slideTo(n)}else v.slideTo(n)}};var y,b,T,x,S,C,M,P,z,I="input, select, textarea, button",E=Date.now(),k=[];v.animating=!1,v.touches={startX:0,startY:0,currentX:0,currentY:0,diff:0};var D,L;if(v.onTouchStart=function(e){if(e.originalEvent&&(e=e.originalEvent),D="touchstart"===e.type,D||!("which"in e)||3!==e.which){if(v.params.noSwiping&&o(e,"."+v.params.noSwipingClass))return void(v.allowClick=!0);if(!v.params.swipeHandler||o(e,v.params.swipeHandler)){var t=v.touches.currentX="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s=v.touches.currentY="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY;if(!(v.device.ios&&v.params.iOSEdgeSwipeDetection&&t<=v.params.iOSEdgeSwipeThreshold)){if(y=!0,b=!1,x=void 0,L=void 0,v.touches.startX=t,v.touches.startY=s,T=Date.now(),v.allowClick=!0,v.updateContainerSize(),v.swipeDirection=void 0,v.params.threshold>0&&(M=!1),"touchstart"!==e.type){var r=!0;a(e.target).is(I)&&(r=!1),document.activeElement&&a(document.activeElement).is(I)&&document.activeElement.blur(),r&&e.preventDefault()}v.emit("onTouchStart",v,e)}}}},v.onTouchMove=function(e){if(e.originalEvent&&(e=e.originalEvent),!(D&&"mousemove"===e.type||e.preventedByNestedSwiper)){if(v.params.onlyExternal)return v.allowClick=!1,void(y&&(v.touches.startX=v.touches.currentX="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,v.touches.startY=v.touches.currentY="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,T=Date.now()));if(D&&document.activeElement&&e.target===document.activeElement&&a(e.target).is(I))return b=!0,void(v.allowClick=!1);if(v.emit("onTouchMove",v,e),!(e.targetTouches&&e.targetTouches.length>1)){if(v.touches.currentX="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,v.touches.currentY="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,"undefined"==typeof x){var t=180*Math.atan2(Math.abs(v.touches.currentY-v.touches.startY),Math.abs(v.touches.currentX-v.touches.startX))/Math.PI;x=r()?t>v.params.touchAngle:90-t>v.params.touchAngle}if(x&&v.emit("onTouchMoveOpposite",v,e),"undefined"==typeof L&&v.browser.ieTouch&&(v.touches.currentX!==v.touches.startX||v.touches.currentY!==v.touches.startY)&&(L=!0),y){if(x)return void(y=!1);if(L||!v.browser.ieTouch){v.allowClick=!1,v.emit("onSliderMove",v,e),e.preventDefault(),v.params.touchMoveStopPropagation&&!v.params.nested&&e.stopPropagation(),b||(s.loop&&v.fixLoop(),C=v.getWrapperTranslate(),v.setWrapperTransition(0),v.animating&&v.wrapper.trigger("webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"),v.params.autoplay&&v.autoplaying&&(v.params.autoplayDisableOnInteraction?v.stopAutoplay():v.pauseAutoplay()),z=!1,v.params.grabCursor&&(v.container[0].style.cursor="move",v.container[0].style.cursor="-webkit-grabbing",v.container[0].style.cursor="-moz-grabbin",v.container[0].style.cursor="grabbing")),b=!0;var i=v.touches.diff=r()?v.touches.currentX-v.touches.startX:v.touches.currentY-v.touches.startY;i*=v.params.touchRatio,v.rtl&&(i=-i),v.swipeDirection=i>0?"prev":"next",S=i+C;var n=!0;if(i>0&&S>v.minTranslate()?(n=!1,v.params.resistance&&(S=v.minTranslate()-1+Math.pow(-v.minTranslate()+C+i,v.params.resistanceRatio))):0>i&&S<v.maxTranslate()&&(n=!1,v.params.resistance&&(S=v.maxTranslate()+1-Math.pow(v.maxTranslate()-C-i,v.params.resistanceRatio))),n&&(e.preventedByNestedSwiper=!0),!v.params.allowSwipeToNext&&"next"===v.swipeDirection&&C>S&&(S=C),!v.params.allowSwipeToPrev&&"prev"===v.swipeDirection&&S>C&&(S=C),v.params.followFinger){if(v.params.threshold>0){if(!(Math.abs(i)>v.params.threshold||M))return void(S=C);if(!M)return M=!0,v.touches.startX=v.touches.currentX,v.touches.startY=v.touches.currentY,S=C,void(v.touches.diff=r()?v.touches.currentX-v.touches.startX:v.touches.currentY-v.touches.startY)}(v.params.freeMode||v.params.watchSlidesProgress)&&v.updateActiveIndex(),v.params.freeMode&&(0===k.length&&k.push({position:v.touches[r()?"startX":"startY"],time:T}),k.push({position:v.touches[r()?"currentX":"currentY"],time:(new window.Date).getTime()})),v.updateProgress(S),v.setWrapperTranslate(S)}}}}}},v.onTouchEnd=function(e){if(e.originalEvent&&(e=e.originalEvent),v.emit("onTouchEnd",v,e),y){v.params.grabCursor&&b&&y&&(v.container[0].style.cursor="move",v.container[0].style.cursor="-webkit-grab",v.container[0].style.cursor="-moz-grab",v.container[0].style.cursor="grab");var t=Date.now(),s=t-T;if(v.allowClick&&(v.updateClickedSlide(e),v.emit("onTap",v,e),300>s&&t-E>300&&(P&&clearTimeout(P),P=setTimeout(function(){v&&(v.params.paginationHide&&v.paginationContainer.length>0&&!a(e.target).hasClass(v.params.bulletClass)&&v.paginationContainer.toggleClass(v.params.paginationHiddenClass),v.emit("onClick",v,e))},300)),300>s&&300>t-E&&(P&&clearTimeout(P),v.emit("onDoubleTap",v,e))),E=Date.now(),setTimeout(function(){v&&(v.allowClick=!0)},0),!y||!b||!v.swipeDirection||0===v.touches.diff||S===C)return void(y=b=!1);y=b=!1;var r;if(r=v.params.followFinger?v.rtl?v.translate:-v.translate:-S,v.params.freeMode){if(r<-v.minTranslate())return void v.slideTo(v.activeIndex);if(r>-v.maxTranslate())return void(v.slides.length<v.snapGrid.length?v.slideTo(v.snapGrid.length-1):v.slideTo(v.slides.length-1));if(v.params.freeModeMomentum){if(k.length>1){var i=k.pop(),n=k.pop(),o=i.position-n.position,l=i.time-n.time;v.velocity=o/l,v.velocity=v.velocity/2,Math.abs(v.velocity)<v.params.freeModeMinimumVelocity&&(v.velocity=0),(l>150||(new window.Date).getTime()-i.time>300)&&(v.velocity=0)}else v.velocity=0;k.length=0;var p=1e3*v.params.freeModeMomentumRatio,d=v.velocity*p,c=v.translate+d;v.rtl&&(c=-c);var u,m=!1,f=20*Math.abs(v.velocity)*v.params.freeModeMomentumBounceRatio;if(c<v.maxTranslate())v.params.freeModeMomentumBounce?(c+v.maxTranslate()<-f&&(c=v.maxTranslate()-f),u=v.maxTranslate(),m=!0,z=!0):c=v.maxTranslate();else if(c>v.minTranslate())v.params.freeModeMomentumBounce?(c-v.minTranslate()>f&&(c=v.minTranslate()+f),u=v.minTranslate(),m=!0,z=!0):c=v.minTranslate();else if(v.params.freeModeSticky){var h,g=0;for(g=0;g<v.snapGrid.length;g+=1)if(v.snapGrid[g]>-c){h=g;break}c=Math.abs(v.snapGrid[h]-c)<Math.abs(v.snapGrid[h-1]-c)||"next"===v.swipeDirection?v.snapGrid[h]:v.snapGrid[h-1],v.rtl||(c=-c)}if(0!==v.velocity)p=v.rtl?Math.abs((-c-v.translate)/v.velocity):Math.abs((c-v.translate)/v.velocity);else if(v.params.freeModeSticky)return void v.slideReset();v.params.freeModeMomentumBounce&&m?(v.updateProgress(u),v.setWrapperTransition(p),v.setWrapperTranslate(c),v.onTransitionStart(),v.animating=!0,v.wrapper.transitionEnd(function(){v&&z&&(v.emit("onMomentumBounce",v),v.setWrapperTransition(v.params.speed),v.setWrapperTranslate(u),v.wrapper.transitionEnd(function(){v&&v.onTransitionEnd()}))})):v.velocity?(v.updateProgress(c),v.setWrapperTransition(p),v.setWrapperTranslate(c),v.onTransitionStart(),v.animating||(v.animating=!0,v.wrapper.transitionEnd(function(){v&&v.onTransitionEnd()}))):v.updateProgress(c),v.updateActiveIndex()}return void((!v.params.freeModeMomentum||s>=v.params.longSwipesMs)&&(v.updateProgress(),v.updateActiveIndex()))}var w,x=0,M=v.slidesSizesGrid[0];for(w=0;w<v.slidesGrid.length;w+=v.params.slidesPerGroup)"undefined"!=typeof v.slidesGrid[w+v.params.slidesPerGroup]?r>=v.slidesGrid[w]&&r<v.slidesGrid[w+v.params.slidesPerGroup]&&(x=w,M=v.slidesGrid[w+v.params.slidesPerGroup]-v.slidesGrid[w]):r>=v.slidesGrid[w]&&(x=w,M=v.slidesGrid[v.slidesGrid.length-1]-v.slidesGrid[v.slidesGrid.length-2]);var I=(r-v.slidesGrid[x])/M;if(s>v.params.longSwipesMs){if(!v.params.longSwipes)return void v.slideTo(v.activeIndex);"next"===v.swipeDirection&&(I>=v.params.longSwipesRatio?v.slideTo(x+v.params.slidesPerGroup):v.slideTo(x)),"prev"===v.swipeDirection&&(I>1-v.params.longSwipesRatio?v.slideTo(x+v.params.slidesPerGroup):v.slideTo(x))}else{if(!v.params.shortSwipes)return void v.slideTo(v.activeIndex);"next"===v.swipeDirection&&v.slideTo(x+v.params.slidesPerGroup),"prev"===v.swipeDirection&&v.slideTo(x)}}},v._slideTo=function(e,a){return v.slideTo(e,a,!0,!0)},v.slideTo=function(e,a,t,s){"undefined"==typeof t&&(t=!0),"undefined"==typeof e&&(e=0),0>e&&(e=0),v.snapIndex=Math.floor(e/v.params.slidesPerGroup),v.snapIndex>=v.snapGrid.length&&(v.snapIndex=v.snapGrid.length-1);var i=-v.snapGrid[v.snapIndex];v.params.autoplay&&v.autoplaying&&(s||!v.params.autoplayDisableOnInteraction?v.pauseAutoplay(a):v.stopAutoplay()),v.updateProgress(i);for(var n=0;n<v.slidesGrid.length;n++)-Math.floor(100*i)>=Math.floor(100*v.slidesGrid[n])&&(e=n);if(!v.params.allowSwipeToNext&&i<v.translate&&i<v.minTranslate())return!1; 1464if(!v.params.allowSwipeToPrev&&i>v.translate&&i>v.maxTranslate()&&(v.activeIndex||0)!==e)return!1;if("undefined"==typeof a&&(a=v.params.speed),v.previousIndex=v.activeIndex||0,v.activeIndex=e,i===v.translate)return v.updateClasses(),!1;v.updateClasses(),v.onTransitionStart(t);r()?i:0,r()?0:i;return 0===a?(v.setWrapperTransition(0),v.setWrapperTranslate(i),v.onTransitionEnd(t)):(v.setWrapperTransition(a),v.setWrapperTranslate(i),v.animating||(v.animating=!0,v.wrapper.transitionEnd(function(){v&&v.onTransitionEnd(t)}))),!0},v.onTransitionStart=function(e){"undefined"==typeof e&&(e=!0),v.lazy&&v.lazy.onTransitionStart(),e&&(v.emit("onTransitionStart",v),v.activeIndex!==v.previousIndex&&v.emit("onSlideChangeStart",v))},v.onTransitionEnd=function(e){v.animating=!1,v.setWrapperTransition(0),"undefined"==typeof e&&(e=!0),v.lazy&&v.lazy.onTransitionEnd(),e&&(v.emit("onTransitionEnd",v),v.activeIndex!==v.previousIndex&&v.emit("onSlideChangeEnd",v)),v.params.hashnav&&v.hashnav&&v.hashnav.setHash()},v.slideNext=function(e,a,t){if(v.params.loop){if(v.animating)return!1;v.fixLoop();v.container[0].clientLeft;return v.slideTo(v.activeIndex+v.params.slidesPerGroup,a,e,t)}return v.slideTo(v.activeIndex+v.params.slidesPerGroup,a,e,t)},v._slideNext=function(e){return v.slideNext(!0,e,!0)},v.slidePrev=function(e,a,t){if(v.params.loop){if(v.animating)return!1;v.fixLoop();v.container[0].clientLeft;return v.slideTo(v.activeIndex-1,a,e,t)}return v.slideTo(v.activeIndex-1,a,e,t)},v._slidePrev=function(e){return v.slidePrev(!0,e,!0)},v.slideReset=function(e,a,t){return v.slideTo(v.activeIndex,a,e)},v.setWrapperTransition=function(e,a){v.wrapper.transition(e),"slide"!==v.params.effect&&v.effects[v.params.effect]&&v.effects[v.params.effect].setTransition(e),v.params.parallax&&v.parallax&&v.parallax.setTransition(e),v.params.scrollbar&&v.scrollbar&&v.scrollbar.setTransition(e),v.params.control&&v.controller&&v.controller.setTransition(e,a),v.emit("onSetTransition",v,e)},v.setWrapperTranslate=function(e,a,t){var s=0,n=0,o=0;r()?s=v.rtl?-e:e:n=e,v.params.roundLengths&&(s=i(s),n=i(n)),v.params.virtualTranslate||(v.support.transforms3d?v.wrapper.transform("translate3d("+s+"px, "+n+"px, "+o+"px)"):v.wrapper.transform("translate("+s+"px, "+n+"px)")),v.translate=r()?s:n,a&&v.updateActiveIndex(),"slide"!==v.params.effect&&v.effects[v.params.effect]&&v.effects[v.params.effect].setTranslate(v.translate),v.params.parallax&&v.parallax&&v.parallax.setTranslate(v.translate),v.params.scrollbar&&v.scrollbar&&v.scrollbar.setTranslate(v.translate),v.params.control&&v.controller&&v.controller.setTranslate(v.translate,t),v.emit("onSetTranslate",v,v.translate)},v.getTranslate=function(e,a){var t,s,r,i;return"undefined"==typeof a&&(a="x"),v.params.virtualTranslate?v.rtl?-v.translate:v.translate:(r=window.getComputedStyle(e,null),window.WebKitCSSMatrix?(s=r.transform||r.webkitTransform,s.split(",").length>6&&(s=s.split(", ").map(function(e){return e.replace(",",".")}).join(", ")),i=new window.WebKitCSSMatrix("none"===s?"":s)):(i=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),t=i.toString().split(",")),"x"===a&&(s=window.WebKitCSSMatrix?i.m41:16===t.length?parseFloat(t[12]):parseFloat(t[4])),"y"===a&&(s=window.WebKitCSSMatrix?i.m42:16===t.length?parseFloat(t[13]):parseFloat(t[5])),v.rtl&&s&&(s=-s),s||0)},v.getWrapperTranslate=function(e){return"undefined"==typeof e&&(e=r()?"x":"y"),v.getTranslate(v.wrapper[0],e)},v.observers=[],v.initObservers=function(){if(v.params.observeParents)for(var e=v.container.parents(),a=0;a<e.length;a++)l(e[a]);l(v.container[0],{childList:!1}),l(v.wrapper[0],{attributes:!1})},v.disconnectObservers=function(){for(var e=0;e<v.observers.length;e++)v.observers[e].disconnect();v.observers=[]},v.createLoop=function(){v.wrapper.children("."+v.params.slideClass+"."+v.params.slideDuplicateClass).remove();var e=v.wrapper.children("."+v.params.slideClass);"auto"!==v.params.slidesPerView||v.params.loopedSlides||(v.params.loopedSlides=e.length),v.loopedSlides=parseInt(v.params.loopedSlides||v.params.slidesPerView,10),v.loopedSlides=v.loopedSlides+v.params.loopAdditionalSlides,v.loopedSlides>e.length&&(v.loopedSlides=e.length);var t,s=[],r=[];for(e.each(function(t,i){var n=a(this);t<v.loopedSlides&&r.push(i),t<e.length&&t>=e.length-v.loopedSlides&&s.push(i),n.attr("data-swiper-slide-index",t)}),t=0;t<r.length;t++)v.wrapper.append(a(r[t].cloneNode(!0)).addClass(v.params.slideDuplicateClass));for(t=s.length-1;t>=0;t--)v.wrapper.prepend(a(s[t].cloneNode(!0)).addClass(v.params.slideDuplicateClass))},v.destroyLoop=function(){v.wrapper.children("."+v.params.slideClass+"."+v.params.slideDuplicateClass).remove(),v.slides.removeAttr("data-swiper-slide-index")},v.fixLoop=function(){var e;v.activeIndex<v.loopedSlides?(e=v.slides.length-3*v.loopedSlides+v.activeIndex,e+=v.loopedSlides,v.slideTo(e,0,!1,!0)):("auto"===v.params.slidesPerView&&v.activeIndex>=2*v.loopedSlides||v.activeIndex>v.slides.length-2*v.params.slidesPerView)&&(e=-v.slides.length+v.activeIndex+v.loopedSlides,e+=v.loopedSlides,v.slideTo(e,0,!1,!0))},v.appendSlide=function(e){if(v.params.loop&&v.destroyLoop(),"object"==typeof e&&e.length)for(var a=0;a<e.length;a++)e[a]&&v.wrapper.append(e[a]);else v.wrapper.append(e);v.params.loop&&v.createLoop(),v.params.observer&&v.support.observer||v.update(!0)},v.prependSlide=function(e){v.params.loop&&v.destroyLoop();var a=v.activeIndex+1;if("object"==typeof e&&e.length){for(var t=0;t<e.length;t++)e[t]&&v.wrapper.prepend(e[t]);a=v.activeIndex+e.length}else v.wrapper.prepend(e);v.params.loop&&v.createLoop(),v.params.observer&&v.support.observer||v.update(!0),v.slideTo(a,0,!1)},v.removeSlide=function(e){v.params.loop&&(v.destroyLoop(),v.slides=v.wrapper.children("."+v.params.slideClass));var a,t=v.activeIndex;if("object"==typeof e&&e.length){for(var s=0;s<e.length;s++)a=e[s],v.slides[a]&&v.slides.eq(a).remove(),t>a&&t--;t=Math.max(t,0)}else a=e,v.slides[a]&&v.slides.eq(a).remove(),t>a&&t--,t=Math.max(t,0);v.params.loop&&v.createLoop(),v.params.observer&&v.support.observer||v.update(!0),v.params.loop?v.slideTo(t+v.loopedSlides,0,!1):v.slideTo(t,0,!1)},v.removeAllSlides=function(){for(var e=[],a=0;a<v.slides.length;a++)e.push(a);v.removeSlide(e)},v.effects={fade:{setTranslate:function(){for(var e=0;e<v.slides.length;e++){var a=v.slides.eq(e),t=a[0].swiperSlideOffset,s=-t;v.params.virtualTranslate||(s-=v.translate);var i=0;r()||(i=s,s=0);var n=v.params.fade.crossFade?Math.max(1-Math.abs(a[0].progress),0):1+Math.min(Math.max(a[0].progress,-1),0);a.css({opacity:n}).transform("translate3d("+s+"px, "+i+"px, 0px)")}},setTransition:function(e){if(v.slides.transition(e),v.params.virtualTranslate&&0!==e){var a=!1;v.slides.transitionEnd(function(){if(!a&&v){a=!0,v.animating=!1;for(var e=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],t=0;t<e.length;t++)v.wrapper.trigger(e[t])}})}}},cube:{setTranslate:function(){var e,t=0;v.params.cube.shadow&&(r()?(e=v.wrapper.find(".swiper-cube-shadow"),0===e.length&&(e=a('<div class="swiper-cube-shadow"></div>'),v.wrapper.append(e)),e.css({height:v.width+"px"})):(e=v.container.find(".swiper-cube-shadow"),0===e.length&&(e=a('<div class="swiper-cube-shadow"></div>'),v.container.append(e))));for(var s=0;s<v.slides.length;s++){var i=v.slides.eq(s),n=90*s,o=Math.floor(n/360);v.rtl&&(n=-n,o=Math.floor(-n/360));var l=Math.max(Math.min(i[0].progress,1),-1),p=0,d=0,c=0;s%4===0?(p=4*-o*v.size,c=0):(s-1)%4===0?(p=0,c=4*-o*v.size):(s-2)%4===0?(p=v.size+4*o*v.size,c=v.size):(s-3)%4===0&&(p=-v.size,c=3*v.size+4*v.size*o),v.rtl&&(p=-p),r()||(d=p,p=0);var u="rotateX("+(r()?0:-n)+"deg) rotateY("+(r()?n:0)+"deg) translate3d("+p+"px, "+d+"px, "+c+"px)";if(1>=l&&l>-1&&(t=90*s+90*l,v.rtl&&(t=90*-s-90*l)),i.transform(u),v.params.cube.slideShadows){var m=r()?i.find(".swiper-slide-shadow-left"):i.find(".swiper-slide-shadow-top"),f=r()?i.find(".swiper-slide-shadow-right"):i.find(".swiper-slide-shadow-bottom");0===m.length&&(m=a('<div class="swiper-slide-shadow-'+(r()?"left":"top")+'"></div>'),i.append(m)),0===f.length&&(f=a('<div class="swiper-slide-shadow-'+(r()?"right":"bottom")+'"></div>'),i.append(f));i[0].progress;m.length&&(m[0].style.opacity=-i[0].progress),f.length&&(f[0].style.opacity=i[0].progress)}}if(v.wrapper.css({"-webkit-transform-origin":"50% 50% -"+v.size/2+"px","-moz-transform-origin":"50% 50% -"+v.size/2+"px","-ms-transform-origin":"50% 50% -"+v.size/2+"px","transform-origin":"50% 50% -"+v.size/2+"px"}),v.params.cube.shadow)if(r())e.transform("translate3d(0px, "+(v.width/2+v.params.cube.shadowOffset)+"px, "+-v.width/2+"px) rotateX(90deg) rotateZ(0deg) scale("+v.params.cube.shadowScale+")");else{var h=Math.abs(t)-90*Math.floor(Math.abs(t)/90),g=1.5-(Math.sin(2*h*Math.PI/360)/2+Math.cos(2*h*Math.PI/360)/2),w=v.params.cube.shadowScale,y=v.params.cube.shadowScale/g,b=v.params.cube.shadowOffset;e.transform("scale3d("+w+", 1, "+y+") translate3d(0px, "+(v.height/2+b)+"px, "+-v.height/2/y+"px) rotateX(-90deg)")}var T=v.isSafari||v.isUiWebView?-v.size/2:0;v.wrapper.transform("translate3d(0px,0,"+T+"px) rotateX("+(r()?0:t)+"deg) rotateY("+(r()?-t:0)+"deg)")},setTransition:function(e){v.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),v.params.cube.shadow&&!r()&&v.container.find(".swiper-cube-shadow").transition(e)}},coverflow:{setTranslate:function(){for(var e=v.translate,t=r()?-e+v.width/2:-e+v.height/2,s=r()?v.params.coverflow.rotate:-v.params.coverflow.rotate,i=v.params.coverflow.depth,n=0,o=v.slides.length;o>n;n++){var l=v.slides.eq(n),p=v.slidesSizesGrid[n],d=l[0].swiperSlideOffset,c=(t-d-p/2)/p*v.params.coverflow.modifier,u=r()?s*c:0,m=r()?0:s*c,f=-i*Math.abs(c),h=r()?0:v.params.coverflow.stretch*c,g=r()?v.params.coverflow.stretch*c:0;Math.abs(g)<.001&&(g=0),Math.abs(h)<.001&&(h=0),Math.abs(f)<.001&&(f=0),Math.abs(u)<.001&&(u=0),Math.abs(m)<.001&&(m=0);var w="translate3d("+g+"px,"+h+"px,"+f+"px) rotateX("+m+"deg) rotateY("+u+"deg)";if(l.transform(w),l[0].style.zIndex=-Math.abs(Math.round(c))+1,v.params.coverflow.slideShadows){var y=r()?l.find(".swiper-slide-shadow-left"):l.find(".swiper-slide-shadow-top"),b=r()?l.find(".swiper-slide-shadow-right"):l.find(".swiper-slide-shadow-bottom");0===y.length&&(y=a('<div class="swiper-slide-shadow-'+(r()?"left":"top")+'"></div>'),l.append(y)),0===b.length&&(b=a('<div class="swiper-slide-shadow-'+(r()?"right":"bottom")+'"></div>'),l.append(b)),y.length&&(y[0].style.opacity=c>0?c:0),b.length&&(b[0].style.opacity=-c>0?-c:0)}}if(v.browser.ie){var T=v.wrapper[0].style;T.perspectiveOrigin=t+"px 50%"}},setTransition:function(e){v.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}}},v.lazy={initialImageLoaded:!1,loadImageInSlide:function(e,t){if("undefined"!=typeof e&&("undefined"==typeof t&&(t=!0),0!==v.slides.length)){var s=v.slides.eq(e),r=s.find(".swiper-lazy:not(.swiper-lazy-loaded):not(.swiper-lazy-loading)");!s.hasClass("swiper-lazy")||s.hasClass("swiper-lazy-loaded")||s.hasClass("swiper-lazy-loading")||(r=r.add(s[0])),0!==r.length&&r.each(function(){var e=a(this);e.addClass("swiper-lazy-loading");var r=e.attr("data-background"),i=e.attr("data-src"),n=e.attr("data-srcset");v.loadImage(e[0],i||r,n,!1,function(){if(r?(e.css("background-image","url("+r+")"),e.removeAttr("data-background")):(n&&(e.attr("srcset",n),e.removeAttr("data-srcset")),i&&(e.attr("src",i),e.removeAttr("data-src"))),e.addClass("swiper-lazy-loaded").removeClass("swiper-lazy-loading"),s.find(".swiper-lazy-preloader, .preloader").remove(),v.params.loop&&t){var a=s.attr("data-swiper-slide-index");if(s.hasClass(v.params.slideDuplicateClass)){var o=v.wrapper.children('[data-swiper-slide-index="'+a+'"]:not(.'+v.params.slideDuplicateClass+")");v.lazy.loadImageInSlide(o.index(),!1)}else{var l=v.wrapper.children("."+v.params.slideDuplicateClass+'[data-swiper-slide-index="'+a+'"]');v.lazy.loadImageInSlide(l.index(),!1)}}v.emit("onLazyImageReady",v,s[0],e[0])}),v.emit("onLazyImageLoad",v,s[0],e[0])})}},load:function(){var e;if(v.params.watchSlidesVisibility)v.wrapper.children("."+v.params.slideVisibleClass).each(function(){v.lazy.loadImageInSlide(a(this).index())});else if(v.params.slidesPerView>1)for(e=v.activeIndex;e<v.activeIndex+v.params.slidesPerView;e++)v.slides[e]&&v.lazy.loadImageInSlide(e);else v.lazy.loadImageInSlide(v.activeIndex);if(v.params.lazyLoadingInPrevNext)if(v.params.slidesPerView>1){for(e=v.activeIndex+v.params.slidesPerView;e<v.activeIndex+v.params.slidesPerView+v.params.slidesPerView;e++)v.slides[e]&&v.lazy.loadImageInSlide(e);for(e=v.activeIndex-v.params.slidesPerView;e<v.activeIndex;e++)v.slides[e]&&v.lazy.loadImageInSlide(e)}else{var t=v.wrapper.children("."+v.params.slideNextClass);t.length>0&&v.lazy.loadImageInSlide(t.index());var s=v.wrapper.children("."+v.params.slidePrevClass);s.length>0&&v.lazy.loadImageInSlide(s.index())}},onTransitionStart:function(){v.params.lazyLoading&&(v.params.lazyLoadingOnTransitionStart||!v.params.lazyLoadingOnTransitionStart&&!v.lazy.initialImageLoaded)&&v.lazy.load()},onTransitionEnd:function(){v.params.lazyLoading&&!v.params.lazyLoadingOnTransitionStart&&v.lazy.load()}},v.scrollbar={isTouched:!1,setDragPosition:function(e){var a=v.scrollbar,t=r()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageX:e.pageX||e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageY:e.pageY||e.clientY,s=t-a.track.offset()[r()?"left":"top"]-a.dragSize/2,i=-v.minTranslate()*a.moveDivider,n=-v.maxTranslate()*a.moveDivider;i>s?s=i:s>n&&(s=n),s=-s/a.moveDivider,v.updateProgress(s),v.setWrapperTranslate(s,!0)},dragStart:function(e){var a=v.scrollbar;a.isTouched=!0,e.preventDefault(),e.stopPropagation(),a.setDragPosition(e),clearTimeout(a.dragTimeout),a.track.transition(0),v.params.scrollbarHide&&a.track.css("opacity",1),v.wrapper.transition(100),a.drag.transition(100),v.emit("onScrollbarDragStart",v)},dragMove:function(e){var a=v.scrollbar;a.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,a.setDragPosition(e),v.wrapper.transition(0),a.track.transition(0),a.drag.transition(0),v.emit("onScrollbarDragMove",v))},dragEnd:function(e){var a=v.scrollbar;a.isTouched&&(a.isTouched=!1,v.params.scrollbarHide&&(clearTimeout(a.dragTimeout),a.dragTimeout=setTimeout(function(){a.track.css("opacity",0),a.track.transition(400)},1e3)),v.emit("onScrollbarDragEnd",v),v.params.scrollbarSnapOnRelease&&v.slideReset())},enableDraggable:function(){var e=v.scrollbar,t=v.support.touch?e.track:document;a(e.track).on(v.touchEvents.start,e.dragStart),a(t).on(v.touchEvents.move,e.dragMove),a(t).on(v.touchEvents.end,e.dragEnd)},disableDraggable:function(){var e=v.scrollbar,t=v.support.touch?e.track:document;a(e.track).off(v.touchEvents.start,e.dragStart),a(t).off(v.touchEvents.move,e.dragMove),a(t).off(v.touchEvents.end,e.dragEnd)},set:function(){if(v.params.scrollbar){var e=v.scrollbar;e.track=a(v.params.scrollbar),e.drag=e.track.find(".swiper-scrollbar-drag"),0===e.drag.length&&(e.drag=a('<div class="swiper-scrollbar-drag"></div>'),e.track.append(e.drag)),e.drag[0].style.width="",e.drag[0].style.height="",e.trackSize=r()?e.track[0].offsetWidth:e.track[0].offsetHeight,e.divider=v.size/v.virtualSize,e.moveDivider=e.divider*(e.trackSize/v.size),e.dragSize=e.trackSize*e.divider,r()?e.drag[0].style.width=e.dragSize+"px":e.drag[0].style.height=e.dragSize+"px",e.divider>=1?e.track[0].style.display="none":e.track[0].style.display="",v.params.scrollbarHide&&(e.track[0].style.opacity=0)}},setTranslate:function(){if(v.params.scrollbar){var e,a=v.scrollbar,t=(v.translate||0,a.dragSize);e=(a.trackSize-a.dragSize)*v.progress,v.rtl&&r()?(e=-e,e>0?(t=a.dragSize-e,e=0):-e+a.dragSize>a.trackSize&&(t=a.trackSize+e)):0>e?(t=a.dragSize+e,e=0):e+a.dragSize>a.trackSize&&(t=a.trackSize-e),r()?(v.support.transforms3d?a.drag.transform("translate3d("+e+"px, 0, 0)"):a.drag.transform("translateX("+e+"px)"),a.drag[0].style.width=t+"px"):(v.support.transforms3d?a.drag.transform("translate3d(0px, "+e+"px, 0)"):a.drag.transform("translateY("+e+"px)"),a.drag[0].style.height=t+"px"),v.params.scrollbarHide&&(clearTimeout(a.timeout),a.track[0].style.opacity=1,a.timeout=setTimeout(function(){a.track[0].style.opacity=0,a.track.transition(400)},1e3))}},setTransition:function(e){v.params.scrollbar&&v.scrollbar.drag.transition(e)}},v.controller={LinearSpline:function(e,a){this.x=e,this.y=a,this.lastIndex=e.length-1;var t,s;this.x.length;this.interpolate=function(e){return e?(s=r(this.x,e),t=s-1,(e-this.x[t])*(this.y[s]-this.y[t])/(this.x[s]-this.x[t])+this.y[t]):0};var r=function(){var e,a,t;return function(s,r){for(a=-1,e=s.length;e-a>1;)s[t=e+a>>1]<=r?a=t:e=t;return e}}()},getInterpolateFunction:function(e){v.controller.spline||(v.controller.spline=v.params.loop?new v.controller.LinearSpline(v.slidesGrid,e.slidesGrid):new v.controller.LinearSpline(v.snapGrid,e.snapGrid))},setTranslate:function(e,a){function s(a){e=a.rtl&&"horizontal"===a.params.direction?-v.translate:v.translate,"slide"===v.params.controlBy&&(v.controller.getInterpolateFunction(a),i=-v.controller.spline.interpolate(-e)),i&&"container"!==v.params.controlBy||(r=(a.maxTranslate()-a.minTranslate())/(v.maxTranslate()-v.minTranslate()),i=(e-v.minTranslate())*r+a.minTranslate()),v.params.controlInverse&&(i=a.maxTranslate()-i),a.updateProgress(i),a.setWrapperTranslate(i,!1,v),a.updateActiveIndex()}var r,i,n=v.params.control;if(v.isArray(n))for(var o=0;o<n.length;o++)n[o]!==a&&n[o]instanceof t&&s(n[o]);else n instanceof t&&a!==n&&s(n)},setTransition:function(e,a){function s(a){a.setWrapperTransition(e,v),0!==e&&(a.onTransitionStart(),a.wrapper.transitionEnd(function(){i&&(a.params.loop&&"slide"===v.params.controlBy&&a.fixLoop(),a.onTransitionEnd())}))}var r,i=v.params.control;if(v.isArray(i))for(r=0;r<i.length;r++)i[r]!==a&&i[r]instanceof t&&s(i[r]);else i instanceof t&&a!==i&&s(i)}},v.hashnav={init:function(){if(v.params.hashnav){v.hashnav.initialized=!0;var e=document.location.hash.replace("#","");if(e)for(var a=0,t=0,s=v.slides.length;s>t;t++){var r=v.slides.eq(t),i=r.attr("data-hash");if(i===e&&!r.hasClass(v.params.slideDuplicateClass)){var n=r.index();v.slideTo(n,a,v.params.runCallbacksOnInit,!0)}}}},setHash:function(){v.hashnav.initialized&&v.params.hashnav&&(document.location.hash=v.slides.eq(v.activeIndex).attr("data-hash")||"")}},v.disableKeyboardControl=function(){a(document).off("keydown",p)},v.enableKeyboardControl=function(){a(document).on("keydown",p)},v.mousewheel={event:!1,lastScrollTime:(new window.Date).getTime()},v.params.mousewheelControl){try{new window.WheelEvent("wheel"),v.mousewheel.event="wheel"}catch(G){}v.mousewheel.event||void 0===document.onmousewheel||(v.mousewheel.event="mousewheel"),v.mousewheel.event||(v.mousewheel.event="DOMMouseScroll")}v.disableMousewheelControl=function(){return v.mousewheel.event?(v.container.off(v.mousewheel.event,d),!0):!1},v.enableMousewheelControl=function(){return v.mousewheel.event?(v.container.on(v.mousewheel.event,d),!0):!1},v.parallax={setTranslate:function(){v.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){c(this,v.progress)}),v.slides.each(function(){var e=a(this);e.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){var a=Math.min(Math.max(e[0].progress,-1),1);c(this,a)})})},setTransition:function(e){"undefined"==typeof e&&(e=v.params.speed),v.container.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){var t=a(this),s=parseInt(t.attr("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.transition(s)})}},v._plugins=[];for(var B in v.plugins){var O=v.plugins[B](v,v.params[B]);O&&v._plugins.push(O)}return v.callPlugins=function(e){for(var a=0;a<v._plugins.length;a++)e in v._plugins[a]&&v._plugins[a][e](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])},v.emitterEventListeners={},v.emit=function(e){v.params[e]&&v.params[e](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);var a;if(v.emitterEventListeners[e])for(a=0;a<v.emitterEventListeners[e].length;a++)v.emitterEventListeners[e][a](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);v.callPlugins&&v.callPlugins(e,arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])},v.on=function(e,a){return e=u(e),v.emitterEventListeners[e]||(v.emitterEventListeners[e]=[]),v.emitterEventListeners[e].push(a),v},v.off=function(e,a){var t;if(e=u(e),"undefined"==typeof a)return v.emitterEventListeners[e]=[],v;if(v.emitterEventListeners[e]&&0!==v.emitterEventListeners[e].length){for(t=0;t<v.emitterEventListeners[e].length;t++)v.emitterEventListeners[e][t]===a&&v.emitterEventListeners[e].splice(t,1);return v}},v.once=function(e,a){e=u(e);var t=function(){a(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]),v.off(e,t)};return v.on(e,t),v},v.a11y={makeFocusable:function(e){return e.attr("tabIndex","0"),e},addRole:function(e,a){return e.attr("role",a),e},addLabel:function(e,a){return e.attr("aria-label",a),e},disable:function(e){return e.attr("aria-disabled",!0),e},enable:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){13===e.keyCode&&(a(e.target).is(v.params.nextButton)?(v.onClickNext(e),v.isEnd?v.a11y.notify(v.params.lastSlideMessage):v.a11y.notify(v.params.nextSlideMessage)):a(e.target).is(v.params.prevButton)&&(v.onClickPrev(e),v.isBeginning?v.a11y.notify(v.params.firstSlideMessage):v.a11y.notify(v.params.prevSlideMessage)),a(e.target).is("."+v.params.bulletClass)&&a(e.target)[0].click())},liveRegion:a('<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>'),notify:function(e){var a=v.a11y.liveRegion;0!==a.length&&(a.html(""),a.html(e))},init:function(){if(v.params.nextButton){var e=a(v.params.nextButton);v.a11y.makeFocusable(e),v.a11y.addRole(e,"button"),v.a11y.addLabel(e,v.params.nextSlideMessage)}if(v.params.prevButton){var t=a(v.params.prevButton);v.a11y.makeFocusable(t),v.a11y.addRole(t,"button"),v.a11y.addLabel(t,v.params.prevSlideMessage)}a(v.container).append(v.a11y.liveRegion)},initPagination:function(){v.params.pagination&&v.params.paginationClickable&&v.bullets&&v.bullets.length&&v.bullets.each(function(){var e=a(this);v.a11y.makeFocusable(e),v.a11y.addRole(e,"button"),v.a11y.addLabel(e,v.params.paginationBulletMessage.replace(/{{index}}/,e.index()+1))})},destroy:function(){v.a11y.liveRegion&&v.a11y.liveRegion.length>0&&v.a11y.liveRegion.remove()}},v.init=function(){v.params.loop&&v.createLoop(),v.updateContainerSize(),v.updateSlidesSize(),v.updatePagination(),v.params.scrollbar&&v.scrollbar&&(v.scrollbar.set(),v.params.scrollbarDraggable&&v.scrollbar.enableDraggable()),"slide"!==v.params.effect&&v.effects[v.params.effect]&&(v.params.loop||v.updateProgress(),v.effects[v.params.effect].setTranslate()),v.params.loop?v.slideTo(v.params.initialSlide+v.loopedSlides,0,v.params.runCallbacksOnInit):(v.slideTo(v.params.initialSlide,0,v.params.runCallbacksOnInit),0===v.params.initialSlide&&(v.parallax&&v.params.parallax&&v.parallax.setTranslate(),v.lazy&&v.params.lazyLoading&&(v.lazy.load(),v.lazy.initialImageLoaded=!0))),v.attachEvents(),v.params.observer&&v.support.observer&&v.initObservers(),v.params.preloadImages&&!v.params.lazyLoading&&v.preloadImages(),v.params.autoplay&&v.startAutoplay(),v.params.keyboardControl&&v.enableKeyboardControl&&v.enableKeyboardControl(),v.params.mousewheelControl&&v.enableMousewheelControl&&v.enableMousewheelControl(),v.params.hashnav&&v.hashnav&&v.hashnav.init(),v.params.a11y&&v.a11y&&v.a11y.init(),v.emit("onInit",v)}
1464,v.cleanupStyles=function(){v.container.removeClass(v.classNames.join(" ")).removeAttr("style"),v.wrapper.removeAttr("style"),v.slides&&v.slides.length&&v.slides.removeClass([v.params.slideVisibleClass,v.params.slideActiveClass,v.params.slideNextClass,v.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"),v.paginationContainer&&v.paginationContainer.length&&v.paginationContainer.removeClass(v.params.paginationHiddenClass),v.bullets&&v.bullets.length&&v.bullets.removeClass(v.params.bulletActiveClass),v.params.prevButton&&a(v.params.prevButton).removeClass(v.params.buttonDisabledClass),v.params.nextButton&&a(v.params.nextButton).removeClass(v.params.buttonDisabledClass),v.params.scrollbar&&v.scrollbar&&(v.scrollbar.track&&v.scrollbar.track.length&&v.scrollbar.track.removeAttr("style"),v.scrollbar.drag&&v.scrollbar.drag.length&&v.scrollbar.drag.removeAttr("style"))},v.destroy=function(e,a){v.detachEvents(),v.stopAutoplay(),v.params.scrollbar&&v.scrollbar&&v.params.scrollbarDraggable&&v.scrollbar.disableDraggable(),v.params.loop&&v.destroyLoop(),a&&v.cleanupStyles(),v.disconnectObservers(),v.params.keyboardControl&&v.disableKeyboardControl&&v.disableKeyboardControl(),v.params.mousewheelControl&&v.disableMousewheelControl&&v.disableMousewheelControl(),v.params.a11y&&v.a11y&&v.a11y.destroy(),v.emit("onDestroy"),e!==!1&&(v=null)},v.init(),v}};t.prototype={isSafari:function(){var e=navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},browser:{ie:window.navigator.pointerEnabled||window.navigator.msPointerEnabled,ieTouch:window.navigator.msPointerEnabled&&window.navigator.msMaxTouchPoints>1||window.navigator.pointerEnabled&&window.navigator.maxTouchPoints>1},device:function(){var e=navigator.userAgent,a=e.match(/(Android);?[\s\/]+([\d.]+)?/),t=e.match(/(iPad).*OS\s([\d_]+)/),s=e.match(/(iPod)(.*OS\s([\d_]+))?/),r=!t&&e.match(/(iPhone\sOS)\s([\d_]+)/);return{ios:t||r||s,android:a}}(),support:{touch:window.Modernizr&&Modernizr.touch===!0||function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)}(),transforms3d:window.Modernizr&&Modernizr.csstransforms3d===!0||function(){var e=document.createElement("div").style;return"webkitPerspective"in e||"MozPerspective"in e||"OPerspective"in e||"MsPerspective"in e||"perspective"in e}(),flexbox:function(){for(var e=document.createElement("div").style,a="alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "),t=0;t<a.length;t++)if(a[t]in e)return!0}(),observer:function(){return"MutationObserver"in window||"WebkitMutationObserver"in window}()},plugins:{}};for(var s=["jQuery","Zepto","Dom7"],r=0;r<s.length;r++)window[s[r]]&&e(window[s[r]]);var i;i="undefined"==typeof Dom7?window.Dom7||window.Zepto||window.jQuery:Dom7,i&&("transitionEnd"in i.fn||(i.fn.transitionEnd=function(e){function a(i){if(i.target===this)for(e.call(this,i),t=0;t<s.length;t++)r.off(s[t],a)}var t,s=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],r=this;if(e)for(t=0;t<s.length;t++)r.on(s[t],a);return this}),"transform"in i.fn||(i.fn.transform=function(e){for(var a=0;a<this.length;a++){var t=this[a].style;t.webkitTransform=t.MsTransform=t.msTransform=t.MozTransform=t.OTransform=t.transform=e}return this}),"transition"in i.fn||(i.fn.transition=function(e){"string"!=typeof e&&(e+="ms");for(var a=0;a<this.length;a++){var t=this[a].style;t.webkitTransitionDuration=t.MsTransitionDuration=t.msTransitionDuration=t.MozTransitionDuration=t.OTransitionDuration=t.transitionDuration=e}return this})),window.Swiper=t}(),"undefined"!=typeof module?module.exports=window.Swiper:"function"==typeof define&&define.amd&&define([],function(){"use strict";return window.Swiper}); 1465//# sourceMappingURL=maps/swiper.jquery.min.js.map 1466 1467/** 1468 * Copyright (c) 2007-2015 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com 1469 * Licensed under MIT 1470 * @author Ariel Flesler 1471 * @version 2.1.2 1472 */ 1473;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}
1473var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p}); 1474/*! WOW - v1.1.2 - 2015-04-07 1475* Copyright (c) 2015 Matthieu Aussaguel; Licensed MIT */(function(){var a,b,c,d,e,f=function(a,b){return function(){return a.apply(b,arguments)}},g=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};b=function(){function a(){}return a.prototype.extend=function(a,b){var c,d;for(c in b)d=b[c],null==a[c]&&(a[c]=d);return a},a.prototype.isMobile=function(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)},a.prototype.createEvent=function(a,b,c,d){var e;return null==b&&(b=!1),null==c&&(c=!1),null==d&&(d=null),null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e},a.prototype.emitEvent=function(a,b){return null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)?a["on"+b]():void 0},a.prototype.addEvent=function(a,b,c){return null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},a.prototype.removeEvent=function(a,b,c){return null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]},a.prototype.innerHeight=function(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight},a}(),c=this.WeakMap||this.MozWeakMap||(c=function(){function a(){this.keys=[],this.values=[]}return a.prototype.get=function(a){var b,c,d,e,f;for(f=this.keys,b=d=0,e=f.length;e>d;b=++d)if(c=f[b],c===a)return this.values[b]},a.prototype.set=function(a,b){var c,d,e,f,g;for(g=this.keys,c=e=0,f=g.length;f>e;c=++e)if(d=g[c],d===a)return void(this.values[c]=b);return this.keys.push(a),this.values.push(b)},a}()),a=this.MutationObserver||this.WebkitMutationObserver||this.MozMutationObserver||(a=function(){function a(){"undefined"!=typeof console&&null!==console&&console.warn("MutationObserver is not supported by your browser."),"undefined"!=typeof console&&null!==console&&console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")}return a.notSupported=!0,a.prototype.observe=function(){},a}()),d=this.getComputedStyle||function(a){return this.getPropertyValue=function(b){var c;return"float"===b&&(b="styleFloat"),e.test(b)&&b.replace(e,function(a,b){return b.toUpperCase()}),(null!=(c=a.currentStyle)?c[b]:void 0)||null},this},e=/(\-([a-z]){1})/g,this.WOW=function(){function e(a){null==a&&(a={}),this.scrollCallback=f(this.scrollCallback,this),this.scrollHandler=f(this.scrollHandler,this),this.resetAnimation=f(this.resetAnimation,this),this.start=f(this.start,this),this.scrolled=!0,this.config=this.util().extend(a,this.defaults),this.animationNameCache=new c,this.wowEvent=this.util().createEvent(this.config.boxClass)}return e.prototype.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null},e.prototype.init=function(){var a;return this.element=window.document.documentElement,"interactive"===(a=document.readyState)||"complete"===a?this.start():this.util().addEvent(document,"DOMContentLoaded",this.start),this.finished=[]},e.prototype.start=function(){var b,c,d,e;if(this.stopped=!1,this.boxes=function(){var a,c,d,e;for(d=this.element.querySelectorAll("."+this.config.boxClass),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.all=function(){var a,c,d,e;for(d=this.boxes,e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.boxes.length)if(this.disabled())this.resetStyle();else for(e=this.boxes,c=0,d=e.length;d>c;c++)b=e[c],this.applyStyle(b,!0);return this.disabled()||(this.util().addEvent(window,"scroll",this.scrollHandler),this.util().addEvent(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live?new a(function(a){return function(b){var c,d,e,f,g;for(g=[],c=0,d=b.length;d>c;c++)f=b[c],g.push(function(){var a,b,c,d;for(c=f.addedNodes||[],d=[],a=0,b=c.length;b>a;a++)e=c[a],d.push(this.doSync(e));return d}.call(a));return g}}(this)).observe(document.body,{childList:!0,subtree:!0}):void 0},e.prototype.stop=function(){return this.stopped=!0,this.util().removeEvent(window,"scroll",this.scrollHandler),this.util().removeEvent(window,"resize",this.scrollHandler),null!=this.interval?clearInterval(this.interval):void 0},e.prototype.sync=function(){return a.notSupported?this.doSync(this.element):void 0},e.prototype.doSync=function(a){var b,c,d,e,f;if(null==a&&(a=this.element),1===a.nodeType){for(a=a.parentNode||a,e=a.querySelectorAll("."+this.config.boxClass),f=[],c=0,d=e.length;d>c;c++)b=e[c],g.call(this.all,b)<0?(this.boxes.push(b),this.all.push(b),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(b,!0),f.push(this.scrolled=!0)):f.push(void 0);return f}},e.prototype.show=function(a){return this.applyStyle(a),a.className=a.className+" "+this.config.animateClass,null!=this.config.callback&&this.config.callback(a),this.util().emitEvent(a,this.wowEvent),this.util().addEvent(a,"animationend",this.resetAnimation),this.util().addEvent(a,"oanimationend",this.resetAnimation),this.util().addEvent(a,"webkitAnimationEnd",this.resetAnimation),this.util().addEvent(a,"MSAnimationEnd",this.resetAnimation),a},e.prototype.applyStyle=function(a,b){var c,d,e;return d=a.getAttribute("data-wow-duration"),c=a.getAttribute("data-wow-delay"),e=a.getAttribute("data-wow-iteration"),this.animate(function(f){return function(){return f.customStyle(a,b,d,c,e)}}(this))},e.prototype.animate=function(){return"requestAnimationFrame"in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(),e.prototype.resetStyle=function(){var a,b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(a.style.visibility="visible");return e},e.prototype.resetAnimation=function(a){var b;return a.type.toLowerCase().indexOf("animationend")>=0?(b=a.target||a.srcElement,b.className=b.className.replace(this.config.animateClass,"").trim()):void 0},e.prototype.customStyle=function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a}
vendor: 2,112 bytes, lines 1475-1486
1475,e.prototype.vendors=["moz","webkit"],e.prototype.vendorSet=function(a,b){var c,d,e,f;d=[];for(c in b)e=b[c],a[""+c]=e,d.push(function(){var b,d,g,h;for(g=this.vendors,h=[],b=0,d=g.length;d>b;b++)f=g[b],h.push(a[""+f+c.charAt(0).toUpperCase()+c.substr(1)]=e);return h}.call(this));return d},e.prototype.vendorCSS=function(a,b){var c,e,f,g,h,i;for(h=d(a),g=h.getPropertyCSSValue(b),f=this.vendors,c=0,e=f.length;e>c;c++)i=f[c],g=g||h.getPropertyCSSValue("-"+i+"-"+b);return g},e.prototype.animationName=function(a){var b;try{b=this.vendorCSS(a,"animation-name").cssText}catch(c){b=d(a).getPropertyValue("animation-name")}return"none"===b?"":b},e.prototype.cacheAnimationName=function(a){return this.animationNameCache.set(a,this.animationName(a))},e.prototype.cachedAnimationName=function(a){return this.animationNameCache.get(a)},e.prototype.scrollHandler=function(){return this.scrolled=!0},e.prototype.scrollCallback=function(){var a;return!this.scrolled||(this.scrolled=!1,this.boxes=function(){var b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],a&&(this.isVisible(a)?this.show(a):e.push(a));return e}.call(this),this.boxes.length||this.config.live)?void 0:this.stop()},e.prototype.offsetTop=function(a){for(var b;void 0===a.offsetTop;)a=a.parentNode;for(b=a.offsetTop;a=a.offsetParent;)b+=a.offsetTop;return b},e.prototype.isVisible=function(a){var b,c,d,e,f;return c=a.getAttribute("data-wow-offset")||this.config.offset,f=window.pageYOffset,e=f+Math.min(this.element.clientHeight,this.util().innerHeight())-c,d=this.offsetTop(a),b=d+a.clientHeight,e>=d&&b>=f},e.prototype.util=function(){return null!=this._util?this._util:this._util=new b},e.prototype.disabled=function(){return!this.config.mobile&&this.util().isMobile(navigator.userAgent)},e}()}).call(this); 1476/** 1477 * A Twitter library in JavaScript 1478 * 1479 * @package codebird 1480 * @version 2.5.0 1481 * @author Jublo Solutions <[email protected]> 1482 * @copyright 2010-2014 Jublo Solutions <[email protected]> 1483 * @license http://opensource.org/licenses/GPL-3.0 GNU Public License 3.0 1484 * @link https://github.com/jublonet/codebird-php 1485 */ 1486
1487/* jshint curly: true, 1488 eqeqeq: true, 1489 latedef: true, 1490 quotmark: double, 1491 undef: true, 1492 unused: true, 1493 trailing: true, 1494 laxbreak: true */ 1495/* global window, 1496 document, 1497 navigator, 1498 console, 1499 Ti, 1500 ActiveXObject, 1501 module, 1502 define, 1503 require */ 1504(function (undefined) { 1505"use strict"; 1506 1507/** 1508 * Array.indexOf polyfill 1509 */ 1510if (! Array.prototype.indexOf) { 1511 Array.prototype.indexOf = function (obj, start) { 1512 for (var i = (start || 0); i < this.length; i++) { 1513 if (this[i] === obj) { 1514 return i; 1515 } 1516 } 1517 return -1; 1518 }; 1519} 1520 1521/** 1522 * A Twitter library in JavaScript 1523 * 1524 * @package codebird 1525 * @subpackage codebird-js 1526 */ 1527/* jshint -W098 */ 1528var Codebird = function () { 1529/* jshint +W098 */ 1530 1531 /** 1532 * The OAuth consumer key of your registered app 1533 */ 1534 var _oauth_consumer_key = null; 1535 1536 /** 1537 * The corresponding consumer secret 1538 */ 1539 var _oauth_consumer_secret = null; 1540 1541 /** 1542 * The app-only bearer token. Used to authorize app-only requests 1543 */ 1544 var _oauth_bearer_token = null; 1545 1546 /** 1547 * The API endpoint base to use 1548 */ 1549 var _endpoint_base = "https://api.twitter.com/"; 1550 1551 /** 1552 * The media API endpoint base to use 1553 */ 1554 var _endpoint_base_media = "https://upload.twitter.com/"; 1555 1556 /** 1557 * The API endpoint to use 1558 */ 1559 var _endpoint = _endpoint_base + "1.1/"; 1560 1561 /** 1562 * The media API endpoint to use 1563 */ 1564 var _endpoint_media = _endpoint_base_media + "1.1/"; 1565 1566 /** 1567 * The API endpoint base to use 1568 */ 1569 var _endpoint_oauth = _endpoint_base; 1570 1571 /** 1572 * API proxy endpoint 1573 */ 1574 var _endpoint_proxy = "https://api.jublo.net/codebird/"; 1575 1576 /** 1577 * The API endpoint to use for old requests 1578 */ 1579 var _endpoint_old = _endpoint_base + "1/"; 1580 1581 /** 1582 * Use JSONP for GET requests in IE7-9 1583 */ 1584 var _use_jsonp = (typeof navigator !== "undefined" 1585 && typeof navigator.userAgent !== "undefined" 1586 && (navigator.userAgent.indexOf("Trident/4") > -1 1587 || navigator.userAgent.indexOf("Trident/5") > -1 1588 || navigator.userAgent.indexOf("MSIE 7.0") > -1 1589 ) 1590 ); 1591 1592 /** 1593 * Whether to access the API via a proxy that is allowed by CORS 1594 * Assume that CORS is only necessary in browsers 1595 */ 1596 var _use_proxy = (typeof navigator !== "undefined" 1597 && typeof navigator.userAgent !== "undefined" 1598 ); 1599 1600 /** 1601 * The Request or access token. Used to sign requests 1602 */ 1603 var _oauth_token = null; 1604 1605 /** 1606 * The corresponding request or access token secret 1607 */ 1608 var _oauth_token_secret = null; 1609 1610 /** 1611 * The current Codebird version 1612 */ 1613 var _version = "2.5.0"; 1614 1615 /** 1616 * Sets the OAuth consumer key and secret (App key) 1617 * 1618 * @param string key OAuth consumer key 1619 * @param string secret OAuth consumer secret 1620 * 1621 * @return void 1622 */ 1623 var setConsumerKey = function (key, secret) { 1624 _oauth_consumer_key = key; 1625 _oauth_consumer_secret = secret; 1626 }; 1627 1628 /** 1629 * Sets the OAuth2 app-only auth bearer token 1630 * 1631 * @param string token OAuth2 bearer token 1632 * 1633 * @return void 1634 */ 1635 var setBearerToken = function (token) { 1636 _oauth_bearer_token = token; 1637 }; 1638 1639 /** 1640 * Gets the current Codebird version 1641 * 1642 * @return string The version number 1643 */ 1644 var getVersion = function () { 1645 return _version; 1646 }; 1647 1648 /** 1649 * Sets the OAuth request or access token and secret (User key) 1650 * 1651 * @param string token OAuth request or access token 1652 * @param string secret OAuth request or access token secret 1653 * 1654 * @return void 1655 */ 1656 var setToken = function (token, secret) { 1657 _oauth_token = token; 1658 _oauth_token_secret = secret; 1659 }; 1660 1661 /** 1662 * Enables or disables CORS proxy 1663 * 1664 * @param bool use_proxy Whether to use CORS proxy or not 1665 * 1666 * @return void 1667 */ 1668 var setUseProxy = function (use_proxy) { 1669 _use_proxy = !! use_proxy; 1670 }; 1671 1672 /** 1673 * Sets custom CORS proxy server 1674 * 1675 * @param string proxy Address of proxy server to use 1676 * 1677 * @return void 1678 */ 1679 var setProxy = function (proxy) { 1680 // add trailing slash if missing 1681 if (! proxy.match(/\/$/)) { 1682 proxy += "/"; 1683 } 1684 _endpoint_proxy = proxy; 1685 }; 1686 1687 /** 1688 * Parse URL-style parameters into object 1689 * 1690 * version: 1109.2015 1691 * discuss at: http://phpjs.org/functions/parse_str 1692 * + original by: Cagri Ekin 1693 * + improved by: Michael White (http://getsprink.com) 1694 * + tweaked by: Jack 1695 * + bugfixed by: Onno Marsman 1696 * + reimplemented by: stag019 1697 * + bugfixed by: Brett Zamir (http://brett-zamir.me) 1698 * + bugfixed by: stag019 1699 * - depends on: urldecode 1700 * + input by: Dreamer 1701 * + bugfixed by: Brett Zamir (http://brett-zamir.me) 1702 * % note 1: When no argument is specified, will put variables in global scope. 1703 * 1704 * @param string str String to parse 1705 * @param array array to load data into 1706 * 1707 * @return object 1708 */ 1709 var _parse_str = function (str, array) { 1710 var glue1 = "=", 1711 glue2 = "&", 1712 array2 = String(str).replace(/^&?([\s\S]*?)&?$/, "$1").split(glue2), 1713 i, j, chr, tmp, key, value, bracket, keys, evalStr, 1714 fixStr = function (str) { 1715 return decodeURIComponent(str).replace(/([\\"'])/g, "\\$1").replace(/\n/g, "\\n").replace(/\r/g, "\\r"); 1716 }; 1717 if (! array) { 1718 array = this.window; 1719 } 1720 1721 for (i = 0; i < array2.length; i++) { 1722 tmp = array2[i].split(glue1); 1723 if (tmp.length < 2) { 1724 tmp = [tmp, ""]; 1725 } 1726 key = fixStr(tmp[0]); 1727 value = fixStr(tmp[1]); 1728 while (key.charAt(0) === " ") { 1729 key = key.substr(1); 1730 } 1731 if (key.indexOf("\0") !== -1) { 1732 key = key.substr(0, key.indexOf("\0")); 1733 } 1734 if (key && key.charAt(0) !== "[") { 1735 keys = []; 1736 bracket = 0; 1737 for (j = 0; j < key.length; j++) { 1738 if (key.charAt(j) === "[" && !bracket) { 1739 bracket = j + 1; 1740 } else if (key.charAt(j) === "]") { 1741 if (bracket) { 1742 if (!keys.length) { 1743 keys.push(key.substr(0, bracket - 1)); 1744 } 1745 keys.push(key.substr(bracket, j - bracket)); 1746 bracket = 0; 1747 if (key.charAt(j + 1) !== "[") { 1748 break; 1749 } 1750 } 1751 } 1752 } 1753 if (!keys.length) { 1754 keys = [key]; 1755 } 1756 for (j = 0; j < keys[0].length; j++) {
1757 chr = keys[0].charAt(j); 1758 if (chr === " " || chr === "." || chr === "[") { 1759 keys[0] = keys[0].substr(0, j) + "_" + keys[0].substr(j + 1); 1760 } 1761 if (chr === "[") { 1762 break; 1763 } 1764 } 1765 /* jshint -W061 */ 1766 evalStr = "array"; 1767 for (j = 0; j < keys.length; j++) { 1768 key = keys[j]; 1769 if ((key !== "" && key !== " ") || j === 0) { 1770 key = "'" + key + "'"; 1771 } else { 1772 key = eval(evalStr + ".push([]);") - 1; 1773 } 1774 evalStr += "[" + key + "]"; 1775 if (j !== keys.length - 1 && eval("typeof " + evalStr) === "undefined") { 1776 eval(evalStr + " = [];"); 1777 } 1778 } 1779 evalStr += " = '" + value + "';\n"; 1780 eval(evalStr); 1781 /* jshint +W061 */ 1782 } 1783 } 1784 }; 1785 1786 /** 1787 * Main API handler working on any requests you issue 1788 * 1789 * @param string fn The member function you called 1790 * @param array params The parameters you sent along 1791 * @param function callback The callback to call with the reply 1792 * @param bool app_only_auth Whether to use app-only auth 1793 * 1794 * @return mixed The API reply encoded in the set return_format 1795 */ 1796 1797 var __call = function (fn, params, callback, app_only_auth) { 1798 if (typeof params === "undefined") { 1799 params = {}; 1800 } 1801 if (typeof app_only_auth === "undefined") { 1802 app_only_auth = false; 1803 } 1804 if (typeof callback !== "function" && typeof params === "function") { 1805 callback = params; 1806 params = {}; 1807 if (typeof callback === "boolean") { 1808 app_only_auth = callback; 1809 } 1810 } else if (typeof callback === "undefined") { 1811 callback = function () {}; 1812 } 1813 switch (fn) { 1814 case "oauth_authenticate": 1815 case "oauth_authorize": 1816 return this[fn](params, callback); 1817 1818 case "oauth2_token": 1819 return this[fn](callback); 1820 } 1821 // reset token when requesting a new token (causes 401 for signature error on 2nd+ requests) 1822 if (fn === "oauth_requestToken") { 1823 setToken(null, null); 1824 } 1825 // parse parameters 1826 var apiparams = {}; 1827 if (typeof params === "object") { 1828 apiparams = params; 1829 } else { 1830 _parse_str(params, apiparams); //TODO 1831 } 1832 1833 // map function name to API method 1834 var method = ""; 1835 var param, i, j; 1836 1837 // replace _ by / 1838 var path = fn.split("_"); 1839 for (i = 0; i < path.length; i++) { 1840 if (i > 0) { 1841 method += "/"; 1842 } 1843 method += path[i]; 1844 } 1845 1846 // undo replacement for URL parameters 1847 var url_parameters_with_underscore = ["screen_name", "place_id"]; 1848 for (i = 0; i < url_parameters_with_underscore.length; i++) { 1849 param = url_parameters_with_underscore[i].toUpperCase(); 1850 var replacement_was = param.split("_").join("/"); 1851 method = method.split(replacement_was).join(param); 1852 } 1853 1854 // replace AA by URL parameters 1855 var method_template = method; 1856 var match = method.match(/[A-Z_]{2,}/); 1857 if (match) { 1858 for (i = 0; i < match.length; i++) { 1859 param = match[i]; 1860 var param_l = param.toLowerCase(); 1861 method_template = method_template.split(param).join(":" + param_l); 1862 if (typeof apiparams[param_l] === "undefined") { 1863 for (j = 0; j < 26; j++) { 1864 method_template = method_template.split(String.fromCharCode(65 + j)).join("_" + String.fromCharCode(97 + j)); 1865 } 1866 console.warn("To call the templated method \"" + method_template + "\", specify the parameter value for \"" + param_l + "\"."); 1867 } 1868 method = method.split(param).join(apiparams[param_l]); 1869 delete apiparams[param_l]; 1870 } 1871 } 1872 1873 // replace A-Z by _a-z 1874 for (i = 0; i < 26; i++) { 1875 method = method.split(String.fromCharCode(65 + i)).join("_" + String.fromCharCode(97 + i)); 1876 method_template = method_template.split(String.fromCharCode(65 + i)).join("_" + String.fromCharCode(97 + i)); 1877 } 1878 1879 var httpmethod = _detectMethod(method_template, apiparams); 1880 var multipart = _detectMultipart(method_template); 1881 var internal = _detectInternal(method_template); 1882 1883 return _callApi( 1884 httpmethod, 1885 method, 1886 apiparams, 1887 multipart, 1888 app_only_auth, 1889 internal, 1890 callback 1891 ); 1892 }; 1893 1894 /** 1895 * Gets the OAuth authenticate URL for the current request token 1896 * 1897 * @return string The OAuth authenticate URL 1898 */ 1899 var oauth_authenticate = function (params, callback) { 1900 if (typeof params.force_login === "undefined") { 1901 params.force_login = null; 1902 } 1903 if (typeof params.screen_name === "undefined") { 1904 params.screen_name = null; 1905 } 1906 if (_oauth_token === null) { 1907 console.warn("To get the authenticate URL, the OAuth token must be set."); 1908 } 1909 var url = _endpoint_oauth + "oauth/authenticate?oauth_token=" + _url(_oauth_token); 1910 if (params.force_login === true) { 1911 url += "?force_login=1"; 1912 if (params.screen_name !== null) { 1913 url += "&screen_name=" + params.screen_name; 1914 } 1915 } 1916 callback(url); 1917 return true; 1918 }; 1919 1920 /** 1921 * Gets the OAuth authorize URL for the current request token 1922 * 1923 * @return string The OAuth authorize URL 1924 */ 1925 var oauth_authorize = function (params, callback) { 1926 if (typeof params.force_login === "undefined") { 1927 params.force_login = null; 1928 } 1929 if (typeof params.screen_name === "undefined") { 1930 params.screen_name = null; 1931 } 1932 if (_oauth_token === null) { 1933 console.warn("To get the authorize URL, the OAuth token must be set."); 1934 } 1935 var url = _endpoint_oauth + "oauth/authorize?oauth_token=" + _url(_oauth_token); 1936 if (params.force_login === true) { 1937 url += "?force_login=1"; 1938 if (params.screen_name !== null) { 1939 url += "&screen_name=" + params.screen_name; 1940 } 1941 } 1942 callback(url); 1943 return true; 1944 }; 1945 1946 /** 1947 * Gets the OAuth bearer token 1948 * 1949 * @return string The OAuth bearer token 1950 */ 1951 1952 var oauth2_token = function (callback) { 1953 if (_oauth_consumer_key === null) { 1954 console.warn("To obtain a bearer token, the consumer key must be set."); 1955 } 1956 1957 if (typeof callback === "undefined") { 1958 callback = function () {}; 1959 } 1960 1961 var post_fields = "grant_type=client_credentials"; 1962 var url = _endpoint_oauth + "oauth2/token"; 1963 1964 if (_use_proxy) { 1965 url = url.replace( 1966 _endpoint_base, 1967 _endpoint_proxy 1968 ); 1969 } 1970 1971 var xml = _getXmlRequestObject(); 1972 if (xml === null) { 1973 return; 1974 } 1975 xml.open("POST", url, true); 1976 xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 1977 xml.setRequestHeader( 1978 (_use_proxy ? "X-" : "") + "Authorization", 1979 "Basic " + _base64_encode(_oauth_consumer_key + ":" + _oauth_consumer_secret) 1980 ); 1981 1982 xml.onreadystatechange = function () { 1983 if (xml.readyState >= 4) { 1984 var httpstatus = 12027; 1985 try { 1986 httpstatus = xml.status; 1987 } catch (e) {} 1988 var response = ""; 1989 try { 1990 response = xml.responseText; 1991 } catch (e) {} 1992 var reply = _parseApiReply(response); 1993 reply.httpstatus = httpstatus; 1994 if (httpstatus === 200) { 1995 setBearerToken(reply.access_token); 1996 } 1997 callback(reply); 1998 } 1999 }; 2000 xml.send(post_fields); 2001 2002 }; 2003 2004 /** 2005 * Signing helpers 2006 */ 2007 2008 /** 2009 * URL-encodes the given data 2010 * 2011 * @param mixed data 2012 * 2013 * @return mixed The encoded data 2014 */ 2015 var _url = function (data) { 2016 if ((/boolean|number|string/).test(typeof data)) { 2017 return encodeURIComponent(data).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A"); 2018 } else { 2019 return ""; 2020 } 2021 }; 2022 2023 /** 2024 * Gets the base64-encoded SHA1 hash for the given data 2025 * 2026 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined 2027 * in FIPS PUB 180-1 2028 * Based on version 2.1 Copyright Paul Johnston 2000 - 2002. 2029 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet 2030 * Distributed under the BSD License 2031 * See http://pajhome.org.uk/crypt/md5 for details. 2032 * 2033 * @param string data The data to calculate the hash from 2034 * 2035 * @return string The hash 2036 */ 2037 var _sha1 = function () { 2038 function n(e, b) { 2039 e[b >> 5] |= 128 << 24 - b % 32; 2040 e[(b + 64 >> 9 << 4) + 15] = b; 2041 for (var c = new Array(80), a = 1732584193, d = -271733879, h = -1732584194, 2042 k = 271733878, g = -1009589776, p = 0; p < e.length; p += 16) { 2043 for (var o = a, q = d, r = h, s = k, t = g, f = 0; 80 > f; f++) { 2044 var m; 2045 2046 if (f < 16) { 2047 m = e[p + f]; 2048 } else { 2049 m = c[f - 3] ^ c[f - 8] ^ c[f - 14] ^ c[f - 16]; 2050 m = m << 1 | m >>> 31; 2051 } 2052 2053 c[f] = m; 2054 m = l(l(a << 5 | a >>> 27, 20 > f ? d & h | ~d & k : 40 > f ? d ^ 2055 h ^ k : 60 > f ? d & h | d & k | h & k : d ^ h ^ k), l( 2056 l(g, c[f]), 20 > f ? 1518500249 : 40 > f ? 1859775393 : 2057 60 > f ? -1894007588 : -899497514)); 2058 g = k; 2059 k = h; 2060 h = d << 30 | d >>> 2; 2061 d = a; 2062 a = m; 2063 } 2064 a = l(a, o); 2065 d = l(d, q); 2066 h = l(h, r); 2067 k = l(k, s); 2068 g = l(g, t); 2069 } 2070 return [a, d, h, k, g]; 2071 } 2072 2073 function l(e, b) { 2074 var c = (e & 65535) + (b & 65535); 2075 return (e >> 16) + (b >> 16) + (c >> 16) << 16 | c & 65535; 2076 } 2077 2078 function q(e) { 2079 for (var b = [], c = (1 << g) - 1, a = 0; a < e.length * g; a += g) { 2080 b[a >> 5] |= (e.charCodeAt(a / g) & c) << 24 - a % 32; 2081 } 2082 return b; 2083 } 2084 var g = 8; 2085 return function (e) { 2086 var b = _oauth_consumer_secret + "&" + (null !== _oauth_token_secret ? 2087 _oauth_token_secret : ""); 2088 if (_oauth_consumer_secret === null) { 2089 console.warn("To generate a hash, the consumer secret must be set."); 2090 } 2091 var c = q(b); 2092 if (c.length > 16) { 2093 c = n(c, b.length * g); 2094 } 2095 b = new Array(16); 2096 for (var a = new Array(16), d = 0; d < 16; d++) { 2097 a[d] = c[d] ^ 909522486; 2098 b[d] = c[d] ^ 1549556828; 2099 } 2100 c = n(a.concat(q(e)), 512 + e.length * g); 2101 b = n(b.concat(c), 672); 2102 c = ""; 2103 for (a = 0; a < 4 * b.length; a += 3) { 2104 for (d = (b[a >> 2] >> 8 * (3 - a % 4) & 255) << 16 | (b[a + 1 >> 2] >> 2105 8 * (3 - (a + 1) % 4) & 255) << 8 | b[a + 2 >> 2] >> 8 * (3 - 2106 (a + 2) % 4) & 255, e = 0; 4 > e; e++) { 2107 c = 8 * a + 6 * e > 32 * b.length ? c + "=" : c + 2108 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
2108+/" 2109 .charAt(d >> 6 * (3 - e) & 63); 2110 } 2111 } 2112 return c; 2113 }; 2114 }(); 2115 2116 /* 2117 * Gets the base64 representation for the given data 2118 * 2119 * http://phpjs.org 2120 * + original by: Tyler Akins (http://rumkin.com) 2121 * + improved by: Bayron Guevara 2122 * + improved by: Thunder.m 2123 * + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 2124 * + bugfixed by: Pellentesque Malesuada 2125 * + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 2126 * + improved by: RafaÅ Kukawski (http://kukawski.pl) 2127 * 2128 * @param string data The data to calculate the base64 representation from 2129 * 2130 * @return string The base64 representation 2131 */ 2132 var _base64_encode = function (a) { 2133 var d, e, f, b, g = 0, 2134 h = 0, 2135 i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", 2136 c = []; 2137 if (!a) { 2138 return a; 2139 } 2140 do { 2141 d = a.charCodeAt(g++); 2142 e = a.charCodeAt(g++); 2143 f = a.charCodeAt(g++); 2144 b = d << 16 | e << 8 | f; 2145 d = b >> 18 & 63; 2146 e = b >> 12 & 63; 2147 f = b >> 6 & 63; 2148 b &= 63; 2149 c[h++] = i.charAt(d) + i.charAt(e) + i.charAt(f) + i.charAt(b); 2150 } while (g < a.length); 2151 c = c.join(""); 2152 a = a.length % 3; 2153 return (a ? c.slice(0, a - 3) : c) + "===".slice(a || 3); 2154 }; 2155 2156 /* 2157 * Builds a HTTP query string from the given data 2158 * 2159 * http://phpjs.org 2160 * + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 2161 * + improved by: Legaev Andrey 2162 * + improved by: Michael White (http://getsprink.com) 2163 * + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 2164 * + improved by: Brett Zamir (http://brett-zamir.me) 2165 * + revised by: stag019 2166 * + input by: Dreamer 2167 * + bugfixed by: Brett Zamir (http://brett-zamir.me) 2168 * + bugfixed by: MIO_KODUKI (http://mio-koduki.blogspot.com/) 2169 * 2170 * @param string data The data to concatenate 2171 * 2172 * @return string The HTTP query 2173 */ 2174 var _http_build_query = function (e, f, b) { 2175 function g(c, a, d) { 2176 var b, e = []; 2177 if (a === true) { 2178 a = "1"; 2179 } else if (a === false) { 2180 a = "0"; 2181 } 2182 if (null !== a) { 2183 if (typeof a === "object") { 2184 for (b in a) { 2185 if (a[b] !== null) { 2186 e.push(g(c + "[" + b + "]", a[b], d)); 2187 } 2188 } 2189 return e.join(d); 2190 } 2191 if (typeof a !== "function") { 2192 return _url(c) + "=" + _url(a); 2193 } 2194 console.warn("There was an error processing for http_build_query()."); 2195 } else { 2196 return ""; 2197 } 2198 } 2199 var d, c, h = []; 2200 if (! b) { 2201 b = "&"; 2202 } 2203 for (c in e) { 2204 d = e[c]; 2205 if (f && ! isNaN(c)) { 2206 c = String(f) + c; 2207 } 2208 d = g(c, d, b); 2209 if (d !== "") { 2210 h.push(d); 2211 } 2212 } 2213 return h.join(b); 2214 }; 2215 2216 /** 2217 * Generates a (hopefully) unique random string 2218 * 2219 * @param int optional length The length of the string to generate 2220 * 2221 * @return string The random string 2222 */ 2223 var _nonce = function (length) { 2224 if (typeof length === "undefined") { 2225 length = 8; 2226 } 2227 if (length < 1) { 2228 console.warn("Invalid nonce length."); 2229 } 2230 var nonce = ""; 2231 for (var i = 0; i < length; i++) { 2232 var character = Math.floor(Math.random() * 61); 2233 nonce += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".substring(character, character + 1); 2234 } 2235 return nonce; 2236 }; 2237 2238 /** 2239 * Sort array elements by key 2240 * 2241 * @param array input_arr The array to sort 2242 * 2243 * @return array The sorted keys 2244 */ 2245 var _ksort = function (input_arr) { 2246 var keys = [], sorter, k; 2247 2248 sorter = function (a, b) { 2249 var a_float = parseFloat(a), 2250 b_float = parseFloat(b), 2251 a_numeric = a_float + "" === a, 2252 b_numeric = b_float + "" === b; 2253 if (a_numeric && b_numeric) { 2254 return a_float > b_float ? 1 : a_float < b_float ? -1 : 0; 2255 } else if (a_numeric && !b_numeric) { 2256 return 1; 2257 } else if (!a_numeric && b_numeric) { 2258 return -1; 2259 } 2260 return a > b ? 1 : a < b ? -1 : 0; 2261 }; 2262 2263 // Make a list of key names 2264 for (k in input_arr) { 2265 if (input_arr.hasOwnProperty(k)) { 2266 keys.push(k); 2267 } 2268 } 2269 keys.sort(sorter); 2270 return keys; 2271 }; 2272 2273 /** 2274 * Clone objects 2275 * 2276 * @param object obj The object to clone 2277 * 2278 * @return object clone The cloned object 2279 */ 2280 var _clone = function (obj) { 2281 var clone = {}; 2282 for (var i in obj) { 2283 if (typeof(obj[i]) === "object") { 2284 clone[i] = _clone(obj[i]); 2285 } else { 2286 clone[i] = obj[i]; 2287 } 2288 } 2289 return clone; 2290 }; 2291 2292 /** 2293 * Generates an OAuth signature 2294 * 2295 * @param string httpmethod Usually either 'GET' or 'POST' or 'DELETE' 2296 * @param string method The API method to call 2297 * @param array optional params The API call parameters, associative 2298 * @param bool optional append_to_get Whether to append the OAuth params to GET 2299 * 2300 * @return string Authorization HTTP header 2301 */ 2302 var _sign = function (httpmethod, method, params, append_to_get) { 2303 if (typeof params === "undefined") { 2304 params = {}; 2305 } 2306 if (typeof append_to_get === "undefined") { 2307 append_to_get = false;
2308 } 2309 if (_oauth_consumer_key === null) { 2310 console.warn("To generate a signature, the consumer key must be set."); 2311 } 2312 var sign_params = { 2313 consumer_key: _oauth_consumer_key, 2314 version: "1.0", 2315 timestamp: Math.round(new Date().getTime() / 1000), 2316 nonce: _nonce(), 2317 signature_method: "HMAC-SHA1" 2318 }; 2319 var sign_base_params = {}; 2320 var value; 2321 for (var key in sign_params) { 2322 value = sign_params[key]; 2323 sign_base_params["oauth_" + key] = _url(value); 2324 } 2325 if (_oauth_token !== null) { 2326 sign_base_params.oauth_token = _url(_oauth_token); 2327 } 2328 var oauth_params = _clone(sign_base_params); 2329 for (key in params) { 2330 value = params[key]; 2331 sign_base_params[key] = value; 2332 } 2333 var keys = _ksort(sign_base_params); 2334 var sign_base_string = ""; 2335 for (var i = 0; i < keys.length; i++) { 2336 key = keys[i]; 2337 value = sign_base_params[key]; 2338 sign_base_string += key + "=" + _url(value) + "&"; 2339 } 2340 sign_base_string = sign_base_string.substring(0, sign_base_string.length - 1); 2341 var signature = _sha1(httpmethod + "&" + _url(method) + "&" + _url(sign_base_string)); 2342 2343 params = append_to_get ? sign_base_params : oauth_params; 2344 params.oauth_signature = signature; 2345 keys = _ksort(params); 2346 var authorization = ""; 2347 if (append_to_get) { 2348 for(i = 0; i < keys.length; i++) { 2349 key = keys[i]; 2350 value = params[key]; 2351 authorization += key + "=" + _url(value) + "&"; 2352 } 2353 return authorization.substring(0, authorization.length - 1); 2354 } 2355 authorization = "OAuth "; 2356 for (i = 0; i < keys.length; i++) { 2357 key = keys[i]; 2358 value = params[key]; 2359 authorization += key + "=\"" + _url(value) + "\", "; 2360 } 2361 return authorization.substring(0, authorization.length - 2); 2362 }; 2363 2364 /** 2365 * Detects HTTP method to use for API call 2366 * 2367 * @param string method The API method to call 2368 * @param array params The parameters to send along 2369 * 2370 * @return string The HTTP method that should be used 2371 */ 2372 var _detectMethod = function (method, params) { 2373 // multi-HTTP method endpoints 2374 switch (method) { 2375 case "account/settings": 2376 case "account/login_verification_enrollment": 2377 case "account/login_verification_request": 2378 method = params.length ? method + "__post" : method; 2379 break; 2380 } 2381 2382 var httpmethods = {}; 2383 httpmethods.GET = [ 2384 // Timelines 2385 "statuses/mentions_timeline", 2386 "statuses/user_timeline", 2387 "statuses/home_timeline", 2388 "statuses/retweets_of_me", 2389 2390 // Tweets 2391 "statuses/retweets/:id", 2392 "statuses/show/:id", 2393 "statuses/oembed", 2394 "statuses/retweeters/ids", 2395 2396 // Search 2397 "search/tweets", 2398 2399 // Direct Messages 2400 "direct_messages", 2401 "direct_messages/sent", 2402 "direct_messages/show", 2403 2404 // Friends & Followers 2405 "friendships/no_retweets/ids", 2406 "friends/ids", 2407 "followers/ids", 2408 "friendships/lookup", 2409 "friendships/incoming", 2410 "friendships/outgoing", 2411 "friendships/show", 2412 "friends/list", 2413 "followers/list", 2414 "friendships/lookup", 2415 2416 // Users 2417 "account/settings", 2418 "account/verify_credentials", 2419 "blocks/list", 2420 "blocks/ids", 2421 "users/lookup", 2422 "users/show", 2423 "users/search", 2424 "users/contributees", 2425 "users/contributors", 2426 "users/profile_banner", 2427 "mutes/users/ids", 2428 "mutes/users/list", 2429 2430 // Suggested Users 2431 "users/suggestions/:slug", 2432 "users/suggestions", 2433 "users/suggestions/:slug/members", 2434 2435 // Favorites 2436 "favorites/list", 2437 2438 // Lists 2439 "lists/list", 2440 "lists/statuses", 2441 "lists/memberships", 2442 "lists/subscribers", 2443 "lists/subscribers/show", 2444 "lists/members/show", 2445 "lists/members", 2446 "lists/show", 2447 "lists/subscriptions", 2448 "lists/ownerships", 2449 2450 // Saved searches 2451 "saved_searches/list", 2452 "saved_searches/show/:id", 2453 2454 // Places & Geo 2455 "geo/id/:place_id", 2456 "geo/reverse_geocode", 2457 "geo/search", 2458 "geo/similar_places", 2459 2460 // Trends 2461 "trends/place", 2462 "trends/available", 2463 "trends/closest", 2464 2465 // OAuth 2466 "oauth/authenticate", 2467 "oauth/authorize", 2468 2469 // Help 2470 "help/configuration", 2471 "help/languages", 2472 "help/privacy", 2473 "help/tos", 2474 "application/rate_limit_status", 2475 2476 // Tweets 2477 "statuses/lookup", 2478 2479 // Internal 2480 "users/recommendations", 2481 "account/push_destinations/device", 2482 "activity/about_me", 2483 "activity/by_friends", 2484 "statuses/media_timeline", 2485 "timeline/home", 2486 "help/experiments", 2487 "search/typeahead", 2488 "search/universal", 2489 "discover/universal", 2490 "conversation/show", 2491 "statuses/:id/activity/summary", 2492 "account/login_verification_enrollment", 2493 "account/login_verification_request", 2494 "prompts/suggest", 2495 2496 "beta/timelines/custom/list", 2497 "beta/timelines/timeline", 2498 "beta/timelines/custom/show" 2499 ]; 2500 httpmethods.POST = [ 2501 // Tweets 2502 "statuses/destroy/:id", 2503 "statuses/update", 2504 "statuses/retweet/:id", 2505 "statuses/update_with_media", 2506 "media/upload", 2507 2508 // Direct Messages 2509 "direct_messages/destroy", 2510 "direct_messages/new", 2511 2512 // Friends & Followers 2513 "friendships/create", 2514 "friendships/destroy", 2515 "friendships/update", 2516 2517 // Users 2518 "account/settings__post", 2519 "account/update_delivery_device", 2520 "account/update_profile", 2521 "account/update_profile_background_image", 2522 "account/update_profile_colors", 2523 "account/update_profile_image", 2524 "blocks/create", 2525 "blocks/destroy", 2526 "account/update_profile_banner", 2527 "account/remove_profile_banner", 2528 "mutes/users/create", 2529 "mutes/users/destroy", 2530 2531 // Favorites 2532 "favorites/destroy", 2533 "favorites/create", 2534 2535 // Lists 2536 "lists/members/destroy", 2537 "lists/subscribers/create", 2538 "lists/subscribers/destroy", 2539 "lists/members/create_all", 2540 "lists/members/create", 2541 "lists/destroy", 2542 "lists/update", 2543 "lists/create", 2544 "lists/members/destroy_all", 2545 2546 // Saved Searches 2547 "saved_searches/create", 2548 "saved_searches/destroy/:id", 2549 2550 // Spam Reporting 2551 "users/report_spam", 2552 2553 // OAuth 2554 "oauth/access_token", 2555 "oauth/request_token", 2556 "oauth2/token", 2557 "oauth2/invalidate_token", 2558 2559 // Internal 2560 "direct_messages/read", 2561 "account/login_verification_enrollment__post", 2562 "push_destinations/enable_login_verification", 2563 "account/login_verification_request__post", 2564 2565 "beta/timelines/custom/create", 2566 "beta/timelines/custom/update", 2567 "beta/timelines/custom/destroy", 2568 "beta/timelines/custom/add", 2569 "beta/timelines/custom/remove" 2570 ]; 2571 for (var httpmethod in httpmethods) { 2572 if (httpmethods[httpmethod].indexOf(method) > -1) { 2573 return httpmethod; 2574 } 2575 } 2576 console.warn("Can't find HTTP method to use for \"" + method + "\"."); 2577 }; 2578 2579 /** 2580 * Detects if API call should use multipart/form-data 2581 * 2582 * @param string method The API method to call 2583 * 2584 * @return bool Whether the method should be sent as multipart 2585 */ 2586 var _detectMultipart = function (method) { 2587 var multiparts = [ 2588 // Tweets 2589 "statuses/update_with_media", 2590 2591 // Users 2592 "account/update_profile_background_image", 2593 "account/update_profile_image", 2594 "account/update_profile_banner" 2595 ]; 2596 return multiparts.indexOf(method) > -1; 2597 }; 2598 2599 /** 2600 * Build multipart request from upload params 2601 * 2602 * @param string method The API method to call
2603 * @param array params The parameters to send along 2604 * 2605 * @return null|string The built multipart request body 2606 */ 2607 var _buildMultipart = function (method, params) { 2608 // well, files will only work in multipart methods 2609 if (! _detectMultipart(method)) { 2610 return; 2611 } 2612 2613 // only check specific parameters 2614 var possible_methods = [ 2615 // Tweets 2616 "statuses/update_with_media", 2617 // Accounts 2618 "account/update_profile_background_image", 2619 "account/update_profile_image", 2620 "account/update_profile_banner" 2621 ]; 2622 var possible_files = { 2623 // Tweets 2624 "statuses/update_with_media": "media[]", 2625 // Accounts 2626 "account/update_profile_background_image": "image", 2627 "account/update_profile_image": "image", 2628 "account/update_profile_banner": "banner" 2629 }; 2630 // method might have files? 2631 if (possible_methods.indexOf(method) === -1) { 2632 return; 2633 } 2634 2635 // check for filenames 2636 possible_files = possible_files[method].split(" "); 2637 2638 var multipart_border = "--------------------" + _nonce(); 2639 var multipart_request = ""; 2640 for (var key in params) { 2641 multipart_request += 2642 "--" + multipart_border + "\r\n" 2643 + "Content-Disposition: form-data; name=\"" + key + "\""; 2644 if (possible_files.indexOf(key) > -1) { 2645 multipart_request += 2646 "\r\nContent-Transfer-Encoding: base64"; 2647 } 2648 multipart_request += 2649 "\r\n\r\n" + params[key] + "\r\n"; 2650 } 2651 multipart_request += "--" + multipart_border + "--"; 2652 return multipart_request; 2653 }; 2654 2655 /** 2656 * Detects if API call is internal 2657 * 2658 * @param string method The API method to call 2659 * 2660 * @return bool Whether the method is defined in internal API 2661 */ 2662 var _detectInternal = function (method) { 2663 var internals = [ 2664 "users/recommendations" 2665 ]; 2666 return internals.join(" ").indexOf(method) > -1; 2667 }; 2668 2669 /** 2670 * Detects if API call should use media endpoint 2671 * 2672 * @param string method The API method to call 2673 * 2674 * @return bool Whether the method is defined in media API 2675 */ 2676 var _detectMedia = function (method) { 2677 var medias = [ 2678 "media/upload" 2679 ]; 2680 return medias.join(" ").indexOf(method) > -1; 2681 }; 2682 2683 /** 2684 * Detects if API call should use old endpoint 2685 * 2686 * @param string method The API method to call 2687 * 2688 * @return bool Whether the method is defined in old API 2689 */ 2690 var _detectOld = function (method) { 2691 var olds = [ 2692 "account/push_destinations/device" 2693 ]; 2694 return olds.join(" ").indexOf(method) > -1; 2695 }; 2696 2697 /** 2698 * Builds the complete API endpoint url 2699 * 2700 * @param string method The API method to call 2701 * 2702 * @return string The URL to send the request to 2703 */ 2704 var _getEndpoint = function (method) { 2705 var url; 2706 if (method.substring(0, 5) === "oauth") { 2707 url = _endpoint_oauth + method; 2708 } else if (_detectMedia(method)) { 2709 url = _endpoint_media + method + ".json"; 2710 } else if (_detectOld(method)) { 2711 url = _endpoint_old + method + ".json"; 2712 } else { 2713 url = _endpoint + method + ".json"; 2714 } 2715 return url; 2716 }; 2717 2718 /** 2719 * Gets the XML HTTP Request object, trying to load it in various ways 2720 * 2721 * @return object The XMLHttpRequest object instance 2722 */ 2723 var _getXmlRequestObject = function () { 2724 var xml = null; 2725 // first, try the W3-standard object 2726 if (typeof window === "object" 2727 && window 2728 && typeof window.XMLHttpRequest !== "undefined" 2729 ) { 2730 xml = new window.XMLHttpRequest(); 2731 // then, try Titanium framework object 2732 } else if (typeof Ti === "object" 2733 && Ti 2734 && typeof Ti.Network.createHTTPClient !== "undefined" 2735 ) { 2736 xml = Ti.Network.createHTTPClient(); 2737 // are we in an old Internet Explorer? 2738 } else if (typeof ActiveXObject !== "undefined" 2739 ) { 2740 try { 2741 xml = new ActiveXObject("Microsoft.XMLHTTP"); 2742 } catch (e) { 2743 console.error("ActiveXObject object not defined."); 2744 } 2745 // now, consider RequireJS and/or Node.js objects 2746 } else if (typeof require === "function" 2747 && require 2748 ) { 2749 // look for xmlhttprequest module 2750 try { 2751 var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; 2752 xml = new XMLHttpRequest(); 2753 } catch (e1) { 2754 // or maybe the user is using xhr2 2755 try { 2756 var XMLHttpRequest = require("xhr2"); 2757 xml = new XMLHttpRequest(); 2758 } catch (e2) { 2759 console.error("xhr2 object not defined, cancelling."); 2760 } 2761 } 2762 } 2763 return xml; 2764 }; 2765 2766 /** 2767 * Calls the API using cURL 2768 * 2769 * @param string httpmethod The HTTP method to use for making the request 2770 * @param string method The API method to call
2771 * @param array optional params The parameters to send along 2772 * @param bool optional multipart Whether to use multipart/form-data 2773 * @param bool optional app_only_auth Whether to use app-only bearer authentication 2774 * @param bool optional internal Whether to use internal call 2775 * @param function callback The function to call with the API call result 2776 * 2777 * @return mixed The API reply, encoded in the set return_format 2778 */ 2779 2780 var _callApi = function (httpmethod, method, params, multipart, app_only_auth, internal, callback) { 2781 if (typeof params === "undefined") { 2782 params = {}; 2783 } 2784 if (typeof multipart === "undefined") { 2785 multipart = false; 2786 } 2787 if (typeof app_only_auth === "undefined") { 2788 app_only_auth = false; 2789 } 2790 if (typeof callback !== "function") { 2791 callback = function () {}; 2792 } 2793 if (internal) { 2794 params.adc = "phone"; 2795 params.application_id = 333903271; 2796 } 2797 2798 var url = _getEndpoint(method); 2799 var authorization = null; 2800 2801 var xml = _getXmlRequestObject(); 2802 if (xml === null) { 2803 return; 2804 } 2805 var post_fields; 2806 2807 if (httpmethod === "GET") { 2808 var url_with_params = url; 2809 if (JSON.stringify(params) !== "{}") { 2810 url_with_params += "?" + _http_build_query(params); 2811 } 2812 if (! app_only_auth) { 2813 authorization = _sign(httpmethod, url, params); 2814 } 2815 2816 // append auth params to GET url for IE7-9, to send via JSONP 2817 if (_use_jsonp) { 2818 if (JSON.stringify(params) !== "{}") { 2819 url_with_params += "&"; 2820 } else { 2821 url_with_params += "?"; 2822 } 2823 var callback_name = _nonce(); 2824 window[callback_name] = function (reply) { 2825 reply.httpstatus = 200; 2826 2827 var rate = null; 2828 if (typeof xml.getResponseHeader !== "undefined" 2829 && xml.getResponseHeader("x-rate-limit-limit") !== "" 2830 ) { 2831 rate = { 2832 limit: xml.getResponseHeader("x-rate-limit-limit"), 2833 remaining: xml.getResponseHeader("x-rate-limit-remaining"), 2834 reset: xml.getResponseHeader("x-rate-limit-reset") 2835 }; 2836 } 2837 callback(reply, rate); 2838 }; 2839 params.callback = callback_name; 2840 url_with_params = url + "?" + _sign(httpmethod, url, params, true); 2841 var tag = document.createElement("script"); 2842 tag.type = "text/javascript"; 2843 tag.src = url_with_params; 2844 var body = document.getElementsByTagName("body")[0]; 2845 body.appendChild(tag); 2846 return; 2847 2848 } else if (_use_proxy) { 2849 url_with_params = url_with_params.replace( 2850 _endpoint_base, 2851 _endpoint_proxy 2852 ).replace( 2853 _endpoint_base_media, 2854 _endpoint_proxy 2855 ); 2856 } 2857 xml.open(httpmethod, url_with_params, true); 2858 } else { 2859 if (_use_jsonp) { 2860 console.warn("Sending POST requests is not supported for IE7-9."); 2861 return; 2862 } 2863 if (multipart) { 2864 if (! app_only_auth) { 2865 authorization = _sign(httpmethod, url, {}); 2866 } 2867 params = _buildMultipart(method, params); 2868 } else { 2869 if (! app_only_auth) { 2870 authorization = _sign(httpmethod, url, params); 2871 } 2872 params = _http_build_query(params); 2873 } 2874 post_fields = params; 2875 if (_use_proxy || multipart) { // force proxy for multipart base64 2876 url = url.replace( 2877 _endpoint_base, 2878 _endpoint_proxy 2879 ).replace( 2880 _endpoint_base_media, 2881 _endpoint_proxy 2882 ); 2883 } 2884 xml.open(httpmethod, url, true); 2885 if (multipart) { 2886 xml.setRequestHeader("Content-Type", "multipart/form-data; boundary=" 2887 + post_fields.split("\r\n")[0].substring(2)); 2888 } else { 2889 xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 2890 } 2891 } 2892 if (app_only_auth) { 2893 if (_oauth_consumer_key === null 2894 && _oauth_bearer_token === null 2895 ) { 2896 console.warn("To make an app-only auth API request, consumer key or bearer token must be set."); 2897 } 2898 // automatically fetch bearer token, if necessary 2899 if (_oauth_bearer_token === null) { 2900 return oauth2_token(function () { 2901 _callApi(httpmethod, method, params, multipart, app_only_auth, false, callback); 2902 }); 2903 } 2904 authorization = "Bearer " + _oauth_bearer_token; 2905 } 2906 if (authorization !== null) { 2907 xml.setRequestHeader((_use_proxy ? "X-" : "") + "Authorization", authorization); 2908 } 2909 xml.onreadystatechange = function () { 2910 if (xml.readyState >= 4) { 2911 var httpstatus = 12027; 2912 try { 2913 httpstatus = xml.status; 2914 } catch (e) {} 2915 var response = ""; 2916 try { 2917 response = xml.responseText; 2918 } catch (e) {} 2919 var reply = _parseApiReply(response); 2920 reply.httpstatus = httpstatus; 2921 var rate = null; 2922 if (typeof xml.getResponseHeader !== "undefined" 2923 && xml.getResponseHeader("x-rate-limit-limit") !== "" 2924 ) { 2925 rate = { 2926 limit: xml.getResponseHeader("x-rate-limit-limit"), 2927 remaining: xml.getResponseHeader("x-rate-limit-remaining"), 2928 reset: xml.getResponseHeader("x-rate-limit-reset") 2929 }; 2930 } 2931 callback(reply, rate); 2932 } 2933 }; 2934 xml.send(httpmethod === "GET" ? null : post_fields); 2935 return true; 2936 }; 2937 2938 /** 2939 * Parses the API reply to encode it in the set return_format 2940 * 2941 * @param string reply The actual reply, JSON-encoded or URL-encoded 2942 * 2943 * @return array|object The parsed reply 2944 */ 2945 var _parseApiReply = function (reply) { 2946 if (typeof reply !== "string" || reply === "") { 2947 return {}; 2948 } 2949 if (reply === "[]") { 2950 return []; 2951 } 2952 var parsed; 2953 try { 2954 parsed = JSON.parse(reply); 2955 } catch (e) { 2956 parsed = {}; 2957 if (reply.indexOf("<" + "?xml version=\"1.0\" encoding=\"UTF-8\"?" + ">") === 0) { 2958 // we received XML... 2959 // since this only happens for errors, 2960 // don't perform a full decoding 2961 parsed.request = reply.match(/<request>(.*)<\/request>/)[1]; 2962 parsed.error = reply.match(/<error>(.*)<\/error>/)[1]; 2963 } else { 2964 // assume query format 2965 var elements = reply.split("&"); 2966 for (var i = 0; i < elements.length; i++) { 2967 var element = elements[i].split("=", 2); 2968 if (element.length > 1) { 2969 parsed[element[0]] = decodeURIComponent(element[1]); 2970 } else { 2971 parsed[element[0]] = null; 2972 } 2973 } 2974 } 2975 } 2976 return parsed; 2977 }; 2978 2979 return { 2980 setConsumerKey: setConsumerKey, 2981 getVersion: getVersion, 2982 setToken: setToken, 2983 setBearerToken: setBearerToken, 2984 setUseProxy: setUseProxy, 2985 setProxy: setProxy,
2986 __call: __call, 2987 oauth_authenticate: oauth_authenticate, 2988 oauth_authorize: oauth_authorize, 2989 oauth2_token: oauth2_token 2990 }; 2991}; 2992 2993if (typeof module === "object" 2994 && module 2995 && typeof module.exports === "object" 2996) { 2997 // Expose codebird as module.exports in loaders that implement the Node 2998 // module pattern (including browserify). Do not create the global, since 2999 // the user will be storing it themselves locally, and globals are frowned 3000 // upon in the Node module world. 3001 module.exports = Codebird; 3002} else { 3003 // Otherwise expose codebird to the global object as usual 3004 if (typeof window === "object" 3005 && window) { 3006 window.Codebird = Codebird; 3007 } 3008 3009 // Register as a named AMD module, since codebird can be concatenated with other 3010 // files that may use define, but not via a proper concatenation script that 3011 // understands anonymous AMD modules. A named AMD is safest and most robust 3012 // way to register. Lowercase codebird is used because AMD module names are 3013 // derived from file names, and codebird is normally delivered in a lowercase 3014 // file name. Do this after creating the global so that if an AMD module wants 3015 // to call noConflict to hide this version of codebird, it will work. 3016 if (typeof define === "function" && define.amd) { 3017 define("codebird", [], function () { return Codebird; }); 3018 } 3019} 3020 3021})(); 3022 3023/* Laura Doktorova https://github.com/olado/doT */ 3024(function(){function p(b,a,d){return("string"===typeof a?a:a.toString()).replace(b.define||h,function(a,c,e,g){0===c.indexOf("def.")&&(c=c.substring(4));c in d||(":"===e?(b.defineParams&&g.replace(b.defineParams,function(a,b,l){d[c]={arg:b,text:l}}),c in d||(d[c]=g)):(new Function("def","def['"+c+"']="+g))(d));return""}).replace(b.use||h,function(a,c){b.useParams&&(c=c.replace(b.useParams,function(a,b,c,l){if(d[c]&&d[c].arg&&l)return a=(c+":"+l).replace(/'|\\/g,"_"),d.__exp=d.__exp||{},d.__exp[a]= 3025d[c].text.replace(new RegExp("(^|[^\\w$])"+d[c].arg+"([^\\w$])","g"),"$1"+l+"$2"),b+"def.__exp['"+a+"']"}));var e=(new Function("def","return "+c))(d);return e?p(b,e,d):e})}function k(b){return b.replace(/\\('|\\)/g,"$1").replace(/[\r\t\n]/g," ")}var f={version:"1.0.3",templateSettings:{evaluate:/\{\{([\s\S]+?(\}?)+)\}\}/g,interpolate:/\{\{=([\s\S]+?)\}\}/g,encode:/\{\{!([\s\S]+?)\}\}/g,use:/\{\{#([\s\S]+?)\}\}/g,useParams:/(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g, 3026define:/\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,defineParams:/^\s*([\w$]+):([\s\S]+)/,conditional:/\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,iterate:/\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,varname:"it",strip:!0,append:!0,selfcontained:!1,doNotSkipEncoded:!1},template:void 0,compile:void 0},m;f.encodeHTMLSource=function(b){var a={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},d=b?/[&<>"'\/]/g:/&(?!#?\w+;)|<|>|"|'|\//g;return function(b){return b? 3027b.toString().replace(d,function(b){return a[b]||b}):""}};m=function(){return this||(0,eval)("this")}();"undefined"!==typeof module&&module.exports?module.exports=f:"function"===typeof define&&define.amd?define(function(){return f}):m.doT=f;var r={start:"'+(",end:")+'",startencode:"'+encodeHTML("},s={start:"';out+=(",end:");out+='",startencode:"';out+=encodeHTML("},h=/$^/;f.template=function(b,a,d){a=a||f.templateSettings;var n=a.append?r:s,c,e=0,g;b=a.use||a.define?p(a,b,d||{}):b;b=("var out='"+(a.strip? 3028b.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ").replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g,""):b).replace(/'|\\/g,"\\$&").replace(a.interpolate||h,function(b,a){return n.start+k(a)+n.end}).replace(a.encode||h,function(b,a){c=!0;return n.startencode+k(a)+n.end}).replace(a.conditional||h,function(b,a,c){return a?c?"';}else if("+k(c)+"){out+='":"';}else{out+='":c?"';if("+k(c)+"){out+='":"';}out+='"}).replace(a.iterate||h,function(b,a,c,d){if(!a)return"';} } out+='";e+=1;g=d||"i"+e;a=k(a);return"';var arr"+ 3029e+"="+a+";if(arr"+e+"){var "+c+","+g+"=-1,l"+e+"=arr"+e+".length-1;while("+g+"<l"+e+"){"+c+"=arr"+e+"["+g+"+=1];out+='"}).replace(a.evaluate||h,function(a,b){return"';"+k(b)+"out+='"})+"';return out;").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r").replace(/(\s|;|\}|^|\{)out\+='';/g,"$1").replace(/\+''/g,"");c&&(a.selfcontained||!m||m._encodeHTML||(m._encodeHTML=f.encodeHTMLSource(a.doNotSkipEncoded)),b="var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : ("+f.encodeHTMLSource.toString()+ 3030"("+(a.doNotSkipEncoded||"")+"));"+b);try{return new Function(a.varname,b)}catch(q){throw"undefined"!==typeof console&&console.log("Could not create a template function: "+b),q;}};f.compile=function(b,a){return f.template(b,null,a)}})(); 3031 3032//! moment.js 3033//! version : 2.8.4 3034//! authors : Tim Wood, Iskren Chernev, Moment.js contributors 3035//! license : MIT 3036//! momentjs.com 3037(function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(a,b){return zb.call(a,b)}function d(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invali
3037dFormat:!1,userInvalidated:!1,iso:!1}}function e(a){tb.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function f(a,b){var c=!0;return m(function(){return c&&(e(a),c=!1),b.apply(this,arguments)},b)}function g(a,b){qc[a]||(e(b),qc[a]=!0)}function h(a,b){return function(c){return p(a.call(this,c),b)}}function i(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function j(){}function k(a,b){b!==!1&&F(a),n(this,a),this._d=new Date(+a._d)}function l(a){var b=y(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=tb.localeData(),this._bubble()}function m(a,b){for(var d in b)c(b,d)&&(a[d]=b[d]);return c(b,"toString")&&(a.toString=b.toString),c(b,"valueOf")&&(a.valueOf=b.valueOf),a}function n(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=b._pf),"undefined"!=typeof b._locale&&(a._locale=b._locale),Ib.length>0)for(c in Ib)d=Ib[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function o(a){return 0>a?Math.ceil(a):Math.floor(a)}function p(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function q(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function r(a,b){var c;return b=K(b,a),a.isBefore(b)?c=q(a,b):(c=q(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function s(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(g(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=tb.duration(c,d),t(this,e,a),this}}function t(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&nb(a,"Date",mb(a,"Date")+f*c),g&&lb(a,mb(a,"Month")+g*c),d&&tb.updateOffset(a,f||g)}function u(a){return"[object Array]"===Object.prototype.toString.call(a)}function v(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function w(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&A(a[d])!==A(b[d]))&&g++;return g+f}function x(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=jc[a]||kc[b]||b}return a}function y(a){var b,d,e={};for(d in a)c(a,d)&&(b=x(d),b&&(e[b]=a[d]));return e}function z(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}tb[b]=function(e,f){var g,h,i=tb._locale[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=tb().utc().set(d,a);return i.call(tb._locale,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function A(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function B(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function C(a,b,c){return hb(tb([a,11,31+b-c]),b,c).week}function D(a){return E(a)?366:365}function E(a){return a%4===0&&a%100!==0||a%400===0}function F(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[Bb]<0||a._a[Bb]>11?Bb:a._a[Cb]<1||a._a[Cb]>B(a._a[Ab],a._a[Bb])?Cb:a._a[Db]<0||a._a[Db]>24||24===a._a[Db]&&(0!==a._a[Eb]||0!==a._a[Fb]||0!==a._a[Gb])?Db:a._a[Eb]<0||a._a[Eb]>59?Eb:a._a[Fb]<0||a._a[Fb]>59?Fb:a._a[Gb]<0||a._a[Gb]>999?Gb:-1,a._pf._overflowDayOfYear&&(Ab>b||b>Cb)&&(b=Cb),a._pf.overflow=b)}function G(b){return null==b._isValid&&(b._isValid=!isNaN(b._d.getTime())&&b._pf.overflow<0&&!b._pf.empty&&!b._pf.invalidMonth&&!b._pf.nullInput&&!b._pf.invali
3037dFormat&&!b._pf.userInvalidated,b._strict&&(b._isValid=b._isValid&&0===b._pf.charsLeftOver&&0===b._pf.unusedTokens.length&&b._pf.bigHour===a)),b._isValid}function H(a){return a?a.toLowerCase().replace("_","-"):a}function I(a){for(var b,c,d,e,f=0;f<a.length;){for(e=H(a[f]).split("-"),b=e.length,c=H(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=J(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&w(e,c,!0)>=b-1)break;b--}f++}return null}function J(a){var b=null;if(!Hb[a]&&Jb)try{b=tb.locale(),require("./locale/"+a),tb.locale(b)}catch(c){}return Hb[a]}function K(a,b){var c,d;return b._isUTC?(c=b.clone(),d=(tb.isMoment(a)||v(a)?+a:+tb(a))-+c,c._d.setTime(+c._d+d),tb.updateOffset(c,!1),c):tb(a).local()}function L(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function M(a){var b,c,d=a.match(Nb);for(b=0,c=d.length;c>b;b++)d[b]=pc[d[b]]?pc[d[b]]:L(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function N(a,b){return a.isValid()?(b=O(b,a.localeData()),lc[b]||(lc[b]=M(b)),lc[b](a)):a.localeData().invalidDate()}function O(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Ob.lastIndex=0;d>=0&&Ob.test(a);)a=a.replace(Ob,c),Ob.lastIndex=0,d-=1;return a}function P(a,b){var c,d=b._strict;switch(a){case"Q":return Zb;case"DDDD":return _b;case"YYYY":case"GGGG":case"gggg":return d?ac:Rb;case"Y":case"G":case"g":return cc;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?bc:Sb;case"S":if(d)return Zb;case"SS":if(d)return $b;case"SSS":if(d)return _b;case"DDD":return Qb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ub;case"a":case"A":return b._locale._meridiemParse;case"x":return Xb;case"X":return Yb;case"Z":case"ZZ":return Vb;case"T":return Wb;case"SSSS":return Tb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?$b:Pb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Pb;case"Do":return d?b._locale._ordinalParse:b._locale._ordinalParseLenient;default:return c=new RegExp(Y(X(a.replace("\\","")),"i"))}}function Q(a){a=a||"";var b=a.match(Vb)||[],c=b[b.length-1]||[],d=(c+"").match(hc)||["-",0,0],e=+(60*d[1])+A(d[2]);return"+"===d[0]?-e:e}function R(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[Bb]=3*(A(b)-1));break;case"M":case"MM":null!=b&&(e[Bb]=A(b)-1);break;case"MMM":case"MMMM":d=c._locale.monthsParse(b,a,c._strict),null!=d?e[Bb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[Cb]=A(b));break;case"Do":null!=b&&(e[Cb]=A(parseInt(b.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=A(b));break;case"YY":e[Ab]=tb.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[Ab]=A(b);break;case"a":case"A":c._isPm=c._locale.isPM(b);break;case"h":case"hh":c._pf.bigHour=!0;case"H":case"HH":e[Db]=A(b);break;case"m":case"mm":e[Eb]=A(b);break;case"s":case"ss":e[Fb]=A(b);break;case"S":case"SS":case"SSS":case"SSSS":e[Gb]=A(1e3*("0."+b));break;case"x":c._d=new Date(A(b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=Q(b);break;case"dd":case"ddd":case"dddd":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=A(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=tb.parseTwoDigitYear(b)}}function S(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[Ab],hb(tb(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[Ab],hb(tb(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=ib(d,e,f,h,g),a._a[Ab]=i.year,a._dayOfYear=i.dayOfYear}function T(a){var c,d,e,f,g=[];if(!a._d){for(e=V(a),a._w&&null==a._a[Cb]&&null==a._a[Bb]&&S(a),a._dayOfYear&&(f=b(a._a[Ab],e[Ab]),a._dayOfYear>D(f)&&(a._pf._overflowDayOfYear=!0),d=db(f,0,a._dayOfYear),a._a[Bb]=d.getUTCMonth(),a._a[Cb]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];24===a._a[Db]&&0===a._a[Eb]&&0===a._a[Fb]&&0===a._a[Gb]&&(a._nextDay=!0,a._a[Db]=0),a._d=(a._useUTC?db:cb).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm),a._nextDay&&(a._a[Db]=24)}}function U(a){var b;a._d||(b=y(a._i),a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],T(a))}function V(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function W(b){if(b._f===tb.ISO_8601)return void $(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=O(b._f,b._locale).match(Nb)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(P(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),pc[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),R(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[Db]<=12&&(b._pf.bigHour=a),b._isPm&&b._a[Db]<12&&(b._a[Db]+=12),b._isPm===!1&&12===b._a[Db]&&(b._a[Db]=0),T(b),F(b)}function X(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function Y(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(a){var b,c,e,f,g;
3037if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;f<a._f.length;f++)g=0,b=n({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._pf=d(),b._f=a._f[f],W(b),G(b)&&(g+=b._pf.charsLeftOver,g+=10*b._pf.unusedTokens.length,b._pf.score=g,(null==e||e>g)&&(e=g,c=b));m(a,c||b)}function $(a){var b,c,d=a._i,e=dc.exec(d);if(e){for(a._pf.iso=!0,b=0,c=fc.length;c>b;b++)if(fc[b][1].exec(d)){a._f=fc[b][0]+(e[6]||" ");break}for(b=0,c=gc.length;c>b;b++)if(gc[b][1].exec(d)){a._f+=gc[b][0];break}d.match(Vb)&&(a._f+="Z"),W(a)}else a._isValid=!1}function _(a){$(a),a._isValid===!1&&(delete a._isValid,tb.createFromInputFallback(a))}function ab(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function bb(b){var c,d=b._i;d===a?b._d=new Date:v(d)?b._d=new Date(+d):null!==(c=Kb.exec(d))?b._d=new Date(+c[1]):"string"==typeof d?_(b):u(d)?(b._a=ab(d.slice(0),function(a){return parseInt(a,10)}),T(b)):"object"==typeof d?U(b):"number"==typeof d?b._d=new Date(d):tb.createFromInputFallback(b)}function cb(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function db(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function eb(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function fb(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function gb(a,b,c){var d=tb.duration(a).abs(),e=yb(d.as("s")),f=yb(d.as("m")),g=yb(d.as("h")),h=yb(d.as("d")),i=yb(d.as("M")),j=yb(d.as("y")),k=e<mc.s&&["s",e]||1===f&&["m"]||f<mc.m&&["mm",f]||1===g&&["h"]||g<mc.h&&["hh",g]||1===h&&["d"]||h<mc.d&&["dd",h]||1===i&&["M"]||i<mc.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,fb.apply({},k)}function hb(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=tb(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ib(a,b,c,d,e){var f,g,h=db(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:D(a-1)+g}}function jb(b){var c,d=b._i,e=b._f;return b._locale=b._locale||tb.localeData(b._l),null===d||e===a&&""===d?tb.invalid({nullInput:!0}):("string"==typeof d&&(b._i=d=b._locale.preparse(d)),tb.isMoment(d)?new k(d,!0):(e?u(e)?Z(b):W(b):bb(b),c=new k(b),c._nextDay&&(c.add(1,"d"),c._nextDay=a),c))}function kb(a,b){var c,d;if(1===b.length&&u(b[0])&&(b=b[0]),!b.length)return tb();for(c=b[0],d=1;d<b.length;++d)b[d][a](c)&&(c=b[d]);return c}function lb(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),B(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function mb(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function nb(a,b,c){return"Month"===b?lb(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function ob(a,b){return function(c){return null!=c?(nb(this,a,c),tb.updateOffset(this,b),this):mb(this,a)}}function pb(a){return 400*a/146097}function qb(a){return 146097*a/400}function rb(a){tb.duration.fn[a]=function(){return this._data[a]}}function sb(a){"undefined"==typeof ender&&(ub=xb.moment,xb.moment=a?f("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",tb):tb)}for(var tb,ub,vb,wb="2.8.4",xb="undefined"!=typeof global?global:this,yb=Math.round,zb=Object.prototype.hasOwnProperty,Ab=0,Bb=1,Cb=2,Db=3,Eb=4,Fb=5,Gb=6,Hb={},Ib=[],Jb="undefined"!=typeof module&&module&&module.exports,Kb=/^\/?Date\((\-?\d+)/i,Lb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Mb=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Nb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Ob=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pb=/\d\d?/,Qb=/\d{1,3}/,Rb=/\d{1,4}/,Sb=/[+\-]?\d{1,6}/,Tb=/\d+/,Ub=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Vb=/Z|[\+\-]\d\d:?\d\d/gi,Wb=/T/i,Xb=/[\+\-]?\d+/,Yb=/[\+\-]?\d+(\.\d{1,3})?/,Zb=/\d/,$b=/\d\d/,_b=/\d{3}/,ac=/\d{4}/,bc=/[+-]?\d{6}/,cc=/[+-]?\d+/,dc=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ec="YYYY-MM-DDTHH:mm:ssZ",fc=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],gc=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],hc=/([\+\-]|\d\d)/gi,ic=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),jc={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},kc={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},lc={},mc={s:45,m:45,h:22,d:26,M:11},nc="DDD w W M D d".split(" "),oc="M D H h m s w W".split(" "),pc={M:function(){return this.month()+1},MMM:function(a){return this.localeData().monthsShort(this,a)},MMMM:function(a){return this.localeData().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.localeData().weekdaysMin(this,a)},ddd:function(a){return this.localeData().weekdaysShort(this,a)},dddd:function(a){return this.localeData().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return p(this.year()%100,2)},YYYY:function(){return p(this.year(),4)},YYYYY:function(){return p(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+p(Math.abs(a),6)},gg:function(){return p(this.weekYear()%100,2)},gggg:function(){return p(this.weekYear(),4)},ggggg:function(){return p(this.weekYear(),5)},GG:function(){return p(this.isoWeekYear()%100,2)},GGGG:function(){return p(this.isoWeekYear(),4)},GGGGG:function(){return p(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()/100)},SS:function(){return p(A(this.milliseconds()/10),2)},SSS:function(){return p(this.milliseconds(),3)},SSSS:function(){return p(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+":"+p(A(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+p(A(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},qc={},rc=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];nc.length;)vb=nc.pop(),pc[vb+"o"]=i(pc[vb],vb);for(;oc.length;)vb=oc.pop(),pc[vb+vb]=h(pc[vb],2);pc.DDDD=h(pc.DDD,3),m(j.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=tb.utc([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=tb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.apply(b,[c]):d},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(a){return a},postformat:function(a){return a},week:function(a){return hb(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),tb=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=c,g._l=e,g._strict=f,g._isUTC=!1,g._pf=d(),jb(g)},tb.suppressDeprecationWarnings=!1,tb.createFromInputFallback=f("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),tb.min=function(){var a=[].slice.call(arguments,0);return kb("isBefore",a)},tb.max=function(){var a=[].slice.call(arguments,0);return kb("isAfter",a)},tb.utc=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=c,g._strict=f,g._pf=d(),jb(g).utc()},tb.unix=function(a){return tb(1e3*a)},tb.duration=function(a,b){var d,e,f,g,h=a,i=null;return tb.isDuration(a)?h={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(h={},b?h[b]=a:h.milliseconds=a):(i=Lb.exec(a))?(d="-"===i[1]?-1:1,h={y:0,d:A(i[Cb])*
3037d,h:A(i[Db])*d,m:A(i[Eb])*d,s:A(i[Fb])*d,ms:A(i[Gb])*d}):(i=Mb.exec(a))?(d="-"===i[1]?-1:1,f=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*d},h={y:f(i[2]),M:f(i[3]),d:f(i[4]),h:f(i[5]),m:f(i[6]),s:f(i[7]),w:f(i[8])}):"object"==typeof h&&("from"in h||"to"in h)&&(g=r(tb(h.from),tb(h.to)),h={},h.ms=g.milliseconds,h.M=g.months),e=new l(h),tb.isDuration(a)&&c(a,"_locale")&&(e._locale=a._locale),e},tb.version=wb,tb.defaultFormat=ec,tb.ISO_8601=function(){},tb.momentProperties=Ib,tb.updateOffset=function(){},tb.relativeTimeThreshold=function(b,c){return mc[b]===a?!1:c===a?mc[b]:(mc[b]=c,!0)},tb.lang=f("moment.lang is deprecated. Use moment.locale instead.",function(a,b){return tb.locale(a,b)}),tb.locale=function(a,b){var c;return a&&(c="undefined"!=typeof b?tb.defineLocale(a,b):tb.localeData(a),c&&(tb.duration._locale=tb._locale=c)),tb._locale._abbr},tb.defineLocale=function(a,b){return null!==b?(b.abbr=a,Hb[a]||(Hb[a]=new j),Hb[a].set(b),tb.locale(a),Hb[a]):(delete Hb[a],null)},tb.langData=f("moment.langData is deprecated. Use moment.localeData instead.",function(a){return tb.localeData(a)}),tb.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return tb._locale;if(!u(a)){if(b=J(a))return b;a=[a]}return I(a)},tb.isMoment=function(a){return a instanceof k||null!=a&&c(a,"_isAMomentObject")},tb.isDuration=function(a){return a instanceof l};for(vb=rc.length-1;vb>=0;--vb)z(rc[vb]);tb.normalizeUnits=function(a){return x(a)},tb.invalid=function(a){var b=tb.utc(0/0);return null!=a?m(b._pf,a):b._pf.userInvalidated=!0,b},tb.parseZone=function(){return tb.apply(null,arguments).parseZone()},tb.parseTwoDigitYear=function(a){return A(a)+(A(a)>68?1900:2e3)},m(tb.fn=k.prototype,{clone:function(){return tb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=tb(this).utc();return 0<a.year()&&a.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():N(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):N(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return G(this)},isDSTShifted:function(){return this._a?this.isValid()&&w(this._a,(this._isUTC?tb.utc(this._a):tb(this._a)).toArray())>0:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._dateTzOffset(),"m")),this},format:function(a){var b=N(this,a||tb.defaultFormat);return this.localeData().postformat(b)},add:s(1,"add"),subtract:s(-1,"subtract"),diff:function(a,b,c){var d,e,f,g=K(a,this),h=6e4*(this.zone()-g.zone());return b=x(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+g.daysInMonth()),e=12*(this.year()-g.year())+(this.month()-g.month()),f=this-tb(this).startOf("month")-(g-tb(g).startOf("month")),f-=6e4*(this.zone()-tb(this).startOf("month").zone()-(g.zone()-tb(g).startOf("month").zone())),e+=f/d,"year"===b&&(e/=12)):(d=this-g,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-h)/864e5:"week"===b?(d-h)/6048e5:d),c?e:o(e)},from:function(a,b){return tb.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(tb(),a)},calendar:function(a){var b=a||tb(),c=K(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this,tb(b)))},isLeapYear:function(){return E(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=eb(a,this.localeData()),this.add(a-b,"d")):b},month:ob("Month",!0),startOf:function(a){switch(a=x(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(b){return b=x(b),b===a||"millisecond"===b?this:this.startOf(b).add(1,"isoWeek"===b?"week":b).subtract(1,"ms")},isAfter:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this>+a):(c=tb.isMoment(a)?+a:+tb(a),c<+this.clone().startOf(b))},isBefore:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+a>+this):(c=tb.isMoment(a)?+a:+tb(a),+this.clone().endOf(b)<c)},isSame:function(a,b){var c;return b=x(b||"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this===+a):(c=+tb(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))},min:f("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),this>a?this:a}),max:f("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._dateTzOffset():("string"==typeof a&&(a=Q(a)),Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(c=this._dateTzOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,"m"),d!==a&&(!b||this._changeInProgress?t(this,tb.duration(d-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,tb.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?tb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return B(this.year(),this.month())},dayOfYear:function(a){var b=yb((tb(this).startOf("day")-tb(this).startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}
3037,quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=hb(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")},isoWeekYear:function(a){var b=hb(this,1,4).year;return null==a?b:this.add(a-b,"y")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")},isoWeek:function(a){var b=hb(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return C(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return C(this.year(),a.dow,a.doy)},get:function(a){return a=x(a),this[a]()},set:function(a,b){return a=x(a),"function"==typeof this[a]&&this[a](b),this},locale:function(b){var c;return b===a?this._locale._abbr:(c=tb.localeData(b),null!=c&&(this._locale=c),this)},lang:f("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(b){return b===a?this.localeData():this.locale(b)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),tb.fn.millisecond=tb.fn.milliseconds=ob("Milliseconds",!1),tb.fn.second=tb.fn.seconds=ob("Seconds",!1),tb.fn.minute=tb.fn.minutes=ob("Minutes",!1),tb.fn.hour=tb.fn.hours=ob("Hours",!0),tb.fn.date=ob("Date",!0),tb.fn.dates=f("dates accessor is deprecated. Use date instead.",ob("Date",!0)),tb.fn.year=ob("FullYear",!0),tb.fn.years=f("years accessor is deprecated. Use year instead.",ob("FullYear",!0)),tb.fn.days=tb.fn.day,tb.fn.months=tb.fn.month,tb.fn.weeks=tb.fn.week,tb.fn.isoWeeks=tb.fn.isoWeek,tb.fn.quarters=tb.fn.quarter,tb.fn.toJSON=tb.fn.toISOString,m(tb.duration.fn=l.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=o(d/1e3),g.seconds=a%60,b=o(a/60),g.minutes=b%60,c=o(b/60),g.hours=c%24,e+=o(c/24),h=o(pb(e)),e-=o(qb(h)),f+=o(e/30),e%=30,h+=o(f/12),f%=12,g.days=e,g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return o(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months/12)},humanize:function(a){var b=gb(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=tb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=tb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=x(a),this[a.toLowerCase()+"s"]()},as:function(a){var b,c;if(a=x(a),"month"===a||"year"===a)return b=this._days+this._milliseconds/864e5,c=this._months+12*pb(b),"month"===a?c:c/12;switch(b=this._days+Math.round(qb(this._months/12)),a){case"week":return b/7+this._milliseconds/6048e5;case"day":return b+this._milliseconds/864e5;case"hour":return 24*b+this._milliseconds/36e5;case"minute":return 24*b*60+this._milliseconds/6e4;case"second":return 24*b*60*60+this._milliseconds/1e3; 3038case"millisecond":return Math.floor(24*b*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+a)}},lang:tb.fn.lang,locale:tb.fn.locale,toIsoString:f("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"},localeData:function(){return this._locale}}),tb.duration.fn.toString=tb.duration.fn.toISOString;for(vb in ic)c(ic,vb)&&rb(vb.toLowerCase());tb.duration.fn.asMilliseconds=function(){return this.as("ms")},tb.duration.fn.asSeconds=function(){return this.as("s")},tb.duration.fn.asMinutes=function(){return this.as("m")},tb.duration.fn.asHours=function(){return this.as("h")},tb.duration.fn.asDays=function(){return this.as("d")},tb.duration.fn.asWeeks=function(){return this.as("weeks")},tb.duration.fn.asMonths=function(){return this.as("M")},tb.duration.fn.asYears=function(){return this.as("y")},tb.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===A(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),Jb?module.exports=tb:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(xb.moment=ub),tb}),sb(!0)):sb()}).call(this); 3039// moment.js locale configuration 3040// locale : german (de) 3041// author : lluchs : https://github.com/lluchs 3042// author: Menelion Elensúle: https://github.com/Oire 3043 3044(function (factory) { 3045 if (typeof define === 'function' && define.amd) { 3046 define(['moment'], factory); // AMD 3047 } else if (typeof exports === 'object') { 3048 module.exports = factory(require('../moment')); // Node 3049 } else { 3050 factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 3051 } 3052}(function (moment) { 3053 function processRelativeTime(number, withoutSuffix, key, isFuture) { 3054 var format = { 3055 'm': ['eine Minute', 'einer Minute'], 3056 'h': ['eine Stunde', 'einer Stunde'], 3057 'd': ['ein Tag', 'einem Tag'], 3058 'dd': [number + ' Tage', number + ' Tagen'], 3059 'M': ['ein Monat', 'einem Monat'], 3060 'MM': [number + ' Monate', number + ' Monaten'], 3061 'y': ['ein Jahr', 'einem Jahr'],
3062 'yy': [number + ' Jahre', number + ' Jahren'] 3063 }; 3064 return withoutSuffix ? format[key][0] : format[key][1]; 3065 } 3066 3067 return moment.defineLocale('de', { 3068 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 3069 monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), 3070 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 3071 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 3072 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 3073 longDateFormat : { 3074 LT: 'HH:mm', 3075 LTS: 'HH:mm:ss', 3076 L : 'DD.MM.YYYY', 3077 LL : 'D. MMMM YYYY', 3078 LLL : 'D. MMMM YYYY LT', 3079 LLLL : 'dddd, D. MMMM YYYY LT' 3080 }, 3081 calendar : { 3082 sameDay: '[Heute um] LT [Uhr]', 3083 sameElse: 'L', 3084 nextDay: '[Morgen um] LT [Uhr]', 3085 nextWeek: 'dddd [um] LT [Uhr]', 3086 lastDay: '[Gestern um] LT [Uhr]', 3087 lastWeek: '[letzten] dddd [um] LT [Uhr]' 3088 }, 3089 relativeTime : { 3090 future : 'in %s', 3091 past : 'vor %s', 3092 s : 'ein paar Sekunden', 3093 m : processRelativeTime, 3094 mm : '%d Minuten', 3095 h : processRelativeTime, 3096 hh : '%d Stunden', 3097 d : processRelativeTime, 3098 dd : processRelativeTime, 3099 M : processRelativeTime, 3100 MM : processRelativeTime, 3101 y : processRelativeTime, 3102 yy : processRelativeTime 3103 }, 3104 ordinalParse: /\d{1,2}\./, 3105 ordinal : '%d.', 3106 week : { 3107 dow : 1, // Monday is the first day of the week. 3108 doy : 4 // The week that contains Jan 4th is the first week of the year. 3109 } 3110 }); 3111})); 3112 3113if (typeof Object.create !== 'function') { 3114 Object.create = function(obj) { 3115 function F() {} 3116 F.prototype = obj; 3117 return new F(); 3118 }; 3119} 3120 3121(function($, window, document, undefined) { 3122 $.fn.socialfeed = function(_options) { 3123 3124 3125 var defaults = { 3126 plugin_folder: '', // a folder in which the plugin is located (with a slash in the end) 3127 template: 'template.html', // a path to the template file 3128 show_media: false, // show images of attachments if available 3129 media_min_width: 300, 3130 length: 500, // maximum length of post message shown 3131 date_format: 'll' 3132 }; 3133 //--------------------------------------------------------------------------------- 3134 var options = $.extend(defaults, _options), 3135 container = $(this), 3136 template, 3137 social_networks = ['facebook', 'instagram', 'vk', 'google', 'blogspot', 'twitter', 'pinterest', 'rss'], 3138 posts_to_load_count = 0, 3139 loaded_post_count = 0; 3140 // container.empty().css('display', 'block'); 3141 //--------------------------------------------------------------------------------- 3142 3143 //--------------------------------------------------------------------------------- 3144 // This function performs consequent data loading from all of the sources by calling corresponding functions 3145 function calculatePostsToLoadCount() { 3146 social_networks.forEach(function(network) { 3147 if (options[network]) { 3148 if (options[network].accounts) { 3149 posts_to_load_count += options[network].limit * options[network].accounts.length; 3150 } else { 3151 posts_to_load_count += options[network].limit; 3152 } 3153 } 3154 }); 3155 } 3156 3157 calculatePostsToLoadCount(); 3158 3159 function fireCallback() { 3160 var fire = true; 3161 /*$.each(Object.keys(loaded), function() { 3162 if (loaded[this] > 0) 3163 fire = false; 3164 });*/ 3165 if (fire && options.callback) { 3166 options.callback(); 3167 } 3168 } 3169 3170 var Utility = { 3171 request: function(url, callback) { 3172 $.ajax({ 3173 url: url, 3174 dataType: 'jsonp', 3175 success: callback 3176 }); 3177 }, 3178 get_request: function(url, callback) { 3179 $.get(url, callback, 'json'); 3180 }, 3181 wrapLinks: function(string, social_network) { 3182 var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 3183 if (social_network === 'google-plus') {
3184 string = string.replace(/(@|#)([a-z0-9_]+['])/ig, Utility.wrapGoogleplusTagTemplate); 3185 } else { 3186 string = string.replace(exp, Utility.wrapLinkTemplate); 3187 } 3188 return string; 3189 }, 3190 wrapLinkTemplate: function(string) { 3191 return '<a target="_blank" href="' + string + '">' + string + '<\/a>'; 3192 }, 3193 wrapGoogleplusTagTemplate: function(string) { 3194 return '<a target="_blank" href="https://plus.google.com/s/' + string + '" >' + string + '<\/a>'; 3195 }, 3196 shorten: function(string) { 3197 string = $.trim(string); 3198 if (string.length > options.length) { 3199 return jQuery.trim(string).substring(0, options.length).split(" ").slice(0, -1).join(" ") + "..."; 3200 } else { 3201 return string; 3202 } 3203 }, 3204 stripHTML: function(string) { 3205 if (typeof string === "undefined" || string === null) { 3206 return ''; 3207 } 3208 return string.replace(/(<([^>]+)>)|nbsp;|\s{2,}|/ig, ""); 3209 } 3210 }; 3211 3212 function SocialFeedPost(social_network, data) { 3213 this.content = data; 3214 this.content.social_network = social_network; 3215 this.content.attachment = (this.content.attachment === undefined) ? '' : this.content.attachment; 3216 this.content.time_ago = data.dt_create.fromNow(); 3217 this.content.date = data.dt_create.format(options.date_format); 3218 this.content.dt_create = this.content.dt_create.valueOf(); 3219 this.content.text = Utility.wrapLinks(Utility.shorten(data.message + ' ' + data.description), data.social_network); 3220 this.content.moderation_passed = (options.moderation) ? options.moderation(this.content) : true; 3221 3222 Feed[social_network].posts.push(this); 3223 } 3224 SocialFeedPost.prototype = { 3225 render: function() { 3226 var rendered_html = Feed.template(this.content); 3227 var data = this.content; 3228 3229 if ($(container).children('[social-feed-id=' + data.id + ']').length !== 0) { 3230 return false; 3231 } 3232 if ($(container).children().length === 0) { 3233 $(container).append(rendered_html); 3234 } else { 3235 var i = 0, 3236 insert_index = -1; 3237 $.each($(container).children(), function() { 3238 if ($(this).attr('dt-create') < data.dt_create) { 3239 insert_index = i; 3240 return false; 3241 } 3242 i++; 3243 }); 3244 $(container).append(rendered_html); 3245 if (insert_index >= 0) { 3246 insert_index++; 3247 var before = $(container).children('div:nth-child(' + insert_index + ')'), 3248 current = $(container).children('div:last-child'); 3249 $(current).insertBefore(before); 3250 } 3251 3252 } 3253 if (options.media_min_width) { 3254 3255 var query = '[social-feed-id=' + data.id + '] img.attachment'; 3256 var image = $(query); 3257 3258 // preload the image 3259 var height, width = ''; 3260 var img = new Image(); 3261 var imgSrc = image.attr("src"); 3262 3263 $(img).on('load',function() { 3264 3265 if (img.width < options.media_min_width) { 3266 image.hide(); 3267 } 3268 // garbage collect img 3269 delete img; 3270 3271 }).on('error', function() { 3272 // image couldnt be loaded 3273 image.hide(); 3274 3275 }).attr({ 3276 src: imgSrc 3277 }); 3278 3279 } 3280 3281 loaded_post_count++; 3282 if (loaded_post_count == posts_to_load_count) { 3283 fireCallback(); 3284 } 3285 3286 } 3287 3288 }; 3289 3290 var Feed = { 3291 template: false, 3292 init: function() { 3293 Feed.getTemplate(function() { 3294 social_networks.forEach(function(network) { 3295 if (options[network]) { 3296 if ( options[network].accounts ) { 3297 //loaded[network] = 0; 3298 options[network].accounts.forEac
3298h(function(account) { 3299 //loaded[network]++; 3300 Feed[network].getData(account); 3301 }); 3302 } else if ( options[network].urls ) { 3303 options[network].urls.forEach(function(url) { 3304 Feed[network].getData(url); 3305 }); 3306 } else { 3307 Feed[network].getData(); 3308 } 3309 } 3310 }); 3311 }); 3312 }, 3313 getTemplate: function(callback) { 3314 if (Feed.template) 3315 return callback(); 3316 else { 3317 if (options.template_html) { 3318 Feed.template = doT.template(options.template_html); 3319 return callback(); 3320 } else { 3321 $.get(options.template, function(template_html) { 3322 Feed.template = doT.template(template_html); 3323 return callback(); 3324 }); 3325 } 3326 } 3327 }, 3328 twitter: { 3329 posts: [], 3330 loaded: false, 3331 api: 'http://api.tweecool.com/', 3332 3333 getData: function(account) { 3334 3335 var cb = new Codebird(); 3336 cb.setConsumerKey(options.twitter.consumer_key, options.twitter.consumer_secret); 3337 3338 // Allow setting your own proxy with Codebird 3339 if (options.twitter.proxy !== undefined) { 3340 cb.setProxy(options.twitter.proxy); 3341 } 3342 3343 switch (account[0]) { 3344 case '@': 3345 var userid = account.substr(1); 3346 cb.__call( 3347 "statuses_userTimeline", 3348 "id=" + userid + "&count=" + options.twitter.limit, 3349 Feed.twitter.utility.getPosts, 3350 true // this parameter required 3351 ); 3352 break; 3353 case '#': 3354 var hashtag = account.substr(1); 3355 cb.__call( 3356 "search_tweets", 3357 "q=" + hashtag + "&count=" + options.twitter.limit, 3358 function(reply) { 3359 Feed.twitter.utility.getPosts(reply.statuses); 3360 }, 3361 true // this parameter required 3362 ); 3363 break; 3364 default: 3365 } 3366 }, 3367 utility: { 3368 getPosts: function(json) { 3369 if (json) { 3370 $.each(json, function() { 3371 var element = this; 3372 var post = new SocialFeedPost('twitter', Feed.twitter.utility.unifyPostData(element)); 3373 post.render(); 3374 }); 3375 } 3376 }, 3377 unifyPostData: function(element) { 3378 var post = {}; 3379 if (element.id) { 3380 post.id = element.id; 3381 //prevent a moment.js console warning due to Twitter's poor date format. 3382 post.dt_create = moment(new Date(element.created_at)); 3383 post.author_link = 'http://twitter.com/' + element.user.screen_name; 3384 post.author_picture = element.user.profile_image_url; 3385 post.post_url = post.author_link + '/status/' + element.id_str; 3386 post.author_name = element.user.name; 3387 post.message = element.text; 3388 post.description = ''; 3389 post.link = 'http://twitter.com/' + element.user.screen_name + '/status/' + element.i
3389d_str; 3390 3391 if (options.show_media === true) { 3392 if (element.entities.media && element.entities.media.length > 0) { 3393 var image_url = element.entities.media[0].media_url; 3394 if (image_url) { 3395 post.attachment = '<img class="attachment" src="' + image_url + '" />'; 3396 } 3397 } 3398 } 3399 } 3400 return post; 3401 } 3402 } 3403 }, 3404 facebook: { 3405 posts: [], 3406 graph: 'https://graph.facebook.com/', 3407 loaded: false, 3408 getData: function(account) { 3409 var proceed = function(request_url){ 3410 Utility.request(request_url, Feed.facebook.utility.getPosts); 3411 }; 3412 var fields = '?fields=id,from,name,message,created_time,story,description,link'; 3413 fields += (options.show_media === true)?',picture,object_id':''; 3414 var request_url, limit = '&limit=' + options.facebook.limit,
3415 query_extention = '&access_token=' + options.facebook.access_token + '&callback=?'; 3416 switch (account[0]) { 3417 case '@': 3418 var username = account.substr(1); 3419 Feed.facebook.utility.getUserId(username, function(userdata) { 3420 if (userdata.id !== '') { 3421 request_url = Feed.facebook.graph + 'v2.4/' + userdata.id + '/posts'+ fields + limit + query_extention; 3422 proceed(request_url); 3423 } 3424 }); 3425 break; 3426 case '!': 3427 var page = account.substr(1); 3428 request_url = Feed.facebook.graph + 'v2.4/' + page + '/feed'+ fields + limit + query_extention; 3429 proceed(request_url); 3430 break; 3431 default: 3432 proceed(request_url); 3433 } 3434 //console.log(request_url); 3435 }, 3436 utility: { 3437 getUserId: function(username, callback) {
3438 var query_extention = '&access_token=' + options.facebook.access_token + '&callback=?'; 3439 var url = 'https://graph.facebook.com/' + username + '?' + query_extention; 3440 var result = ''; 3441 $.get(url, callback, 'json'); 3442 }, 3443 prepareAttachment: function(element) { 3444 var image_url = element.picture; 3445 if (image_url.indexOf('_b.') !== -1) { 3446 //do nothing it is already big 3447 } else if (image_url.indexOf('safe_image.php') !== -1) { 3448 image_url = Feed.facebook.utility.getExternalImageURL(image_url, 'url'); 3449 3450 } else if (image_url.indexOf('app_full_proxy.php') !== -1) { 3451 image_url = Feed.facebook.utility.getExternalImageURL(image_url, 'src'); 3452 3453 } else if (element.object_id) { 3454 image_url = Feed.facebook.graph + element.object_id + '/picture/?type=normal'; 3455 } 3456 return image_url; 3457 }, 3458 getExternalImageURL: function(image_url, parameter) { 3459 image_url = decodeURIComponent(image_url).split(parameter + '=')[1]; 3460 if (image_url.indexOf('fbcdn-sphotos') === -1) { 3461 return image_url.split('&')[0]; 3462 } else { 3463 return image_url; 3464 } 3465 3466 }, 3467 getPosts: function(json) { 3468 if (json['data']) { 3469 json['data'].forEach(function(element) { 3470 var post = new SocialFeedPost('facebook', Feed.facebook.utility.unifyPostData(element)); 3471 if(post.content.attachment !== ""){ 3472 post.render(); 3473 } 3474 }); 3475 } 3476 }, 3477 unifyPostData: function(element) { 3478 var post = {}, 3479 text = (element.message) ? element.message : element.story; 3480 3481 post.id = element.id; 3482 post.dt_create = moment(element.created_time); 3483 post.author_link = 'http://facebook.com/' + element.from.id; 3484 post.author_picture = Feed.facebook.graph + element.from.id + '/picture'; 3485 post.author_name = element.from.name; 3486 post.name = element.name || ""; 3487 post.message = (text) ? text : ''; 3488 post.description = (element.description) ? element.description : ''; 3489 post.link = 'http://facebook.com/' + element.id; 3490 3491 if (options.show_media === true) { 3492 if (element.picture) { 3493 var attachment = Feed.facebook.utility.prepareAttachment(element); 3494 if (attachment) { 3495 post.attachment = attachment; 3496 } 3497 } 3498 } 3499 return post; 3500 } 3501 } 3502 }, 3503 google: { 3504 posts: [], 3505 loaded: false, 3506 api: 'https://www.googleapis.com/plus/v1/', 3507 getData: function(account) { 3508 var request_url; 3509 switch (account[0]) { 3510 case '#': 3511 var hashtag = account.substr(1); 3512 request_url = Feed.google.api + 'activities?query=' + hashtag + '&key=' + options.google.access_token + '&maxResults=' + options.google.limit; 3513 Utility.get_request(request_url, Feed.google.utility.getPosts); 3514 break; 3515 case '@': 3516 var username = account.substr(1); 3517 request_url = Feed.google.api + 'people/' + username + '/activities/public?key=' + options.google.access_token + '&maxResults=' + options.google.limit; 3518 Utility.get_request(request_url, Feed.google.utility.getPosts); 3519 break; 3520 default: 3521 } 3522 }, 3523 utility: { 3524 getPosts: function(json) { 3525 if (json.items) { 3526 $.each(json.items, function(i) { 3527 var post = new SocialFeedPost('google', Feed.google.utility.unifyPostData(json.items[i])); 3528 post.render(); 3529 }); 3530 } 3531 }, 3532 unifyPostData: function(element) { 3533 var post = {}; 3534
3535 post.id = element.id; 3536 post.attachment = ''; 3537 post.description = ''; 3538 post.dt_create = moment(element.published); 3539 post.author_link = element.actor.url; 3540 post.author_picture = element.actor.image.url; 3541 post.author_name = element.actor.displayName; 3542 3543 if (options.show_media === true) { 3544 if (element.object.attachments) { 3545 $.each(element.object.attachments, function() { 3546 var image = ''; 3547 if (this.fullImage) { 3548 image = this.fullImage.url; 3549 } else { 3550 if (this.objectType === 'album') { 3551 if (this.thumbnails && this.thumbnails.length > 0) { 3552 if (this.thumbnails[0].image) { 3553 image = this.thumbnails[0].image.url; 3554 } 3555 } 3556 } 3557 } 3558 post.attachment = '<img class="attachment" src="' + image
3558+ '"/>'; 3559 }); 3560 } 3561 } 3562 post.message = element.title; 3563 post.link = element.url; 3564 3565 return post; 3566 } 3567 } 3568 }, 3569 instagram: { 3570 posts: [], 3571 api: 'https://api.instagram.com/v1/', 3572 loaded: false, 3573 accessType: function() { 3574 // If we have both the client_id and access_token set in options, 3575 // use access_token for authentication. If client_id is not set 3576 // then use access_token. If neither are set, log an error to console. 3577 if (typeof options.instagram.access_token === 'undefined' && typeof options.instagram.client_id === 'undefined') { 3578 console.log('You need to define a client_id or access_token to authenticate with Instagram\'s API.'); 3579 return undefined; 3580 } 3581 if (options.instagram.access_token) { options.instagram.client_id = undefined; } 3582 options.instagram.access_type = (typeof options.instagram.client_id === 'undefined' ? 'access_token' : 'client_id'); 3583 return options.instagram.access_type; 3584 }, 3585 getData: function(account) { 3586 var url; 3587 3588 // API endpoint URL depends on which authentication type we're using. 3589 if (this.accessType() !== 'undefined') { 3590 var authTokenParams = options.instagram.access_type + '=' + options.instagram[options.instagram.access_type]; 3591 } 3592 3593 switch (account[0]) { 3594 case '@': 3595 var username = account.substr(1); 3596 url = Feed.instagram.api + 'users/search/?q=' + username + '&' + authTokenParams + '&count=1' + '&callback=?'; 3597 Utility.request(url, Feed.instagram.utility.getUsers); 3598 break; 3599 case '#': 3600 var hashtag = account.substr(1); 3601 url = Feed.instagram.api + 'tags/' + hashtag + '/media/recent/?' + authTokenParams + '&' + 'count=' + options.instagram.limit + '&callback=?'; 3602 Utility.request(url, Feed.instagram.utility.getImages); 3603 break; 3604 case '&': 3605 var id = account.substr(1); 3606 url = Feed.instagram.api + 'users/' + id + '/?' + authTokenParams + '&' + 'count=' + options.instagram.limit + '&callback=?'; 3607 Utility.request(url, Feed.instagram.utility.getUsers); 3608 default: 3609 } 3610 }, 3611 utility: { 3612 getImages: function(json) { 3613 if (json.data) { 3614 json.data.forEach(function(element) { 3615 var post = new SocialFeedPost('instagram', Feed.instagram.utility.unifyPostData(element)); 3616 post.render(); 3617 }); 3618 } 3619 }, 3620 getUsers: function(json) { 3621 // API endpoint URL depends on which authentication type we're using. 3622 if (options.instagram.access_type !== 'undefined') { 3623 var authTokenParams = options.instagram.access_type + '=' + options.instagram[options.instagram.access_type]; 3624 } 3625 3626 if (!jQuery.isArray(json.data)) json.data = [json.data] 3627 json.data.forEach(function(user) { 3628 var url = Feed.instagram.api + 'users/' + user.id + '/media/recent/?' + authTokenParams + '&' + 'count=' + options.instagram.limit + '&callback=?'; 3629 Utility.request(url, Feed.instagram.utility.getImages); 3630 }); 3631 }, 3632 unifyPostData: function(element) { 3633 var post = {}; 3634
3635 post.id = element.id; 3636 post.dt_create = moment(element.created_time * 1000); 3637 post.author_link = 'http://instagram.com/' + element.user.username; 3638 post.author_picture = element.user.profile_picture; 3639 post.author_name = element.user.full_name || element.user.username; 3640 post.message = (element.caption && element.caption) ? element.caption.text : ''; 3641 post.description = ''; 3642 post.link = element.link; 3643 if (options.show_media) { 3644 post.attachment = element.images.standard_resolution.url; 3645 } 3646 return post; 3647 } 3648 } 3649 }, 3650 vk: { 3651 posts: [], 3652 loaded: false, 3653 base: 'http://vk.com/', 3654 api: 'https://api.vk.com/method/', 3655 user_json_template: 'https://api.vk.com/method/' + 'users.get?fields=first_name,%20last_name,%20screen_name,%20photo&uid=', 3656 group_json_template: 'https://api.vk.com/method/' + 'groups.getById?fields=first_name,%20last_name,%20screen_name,%20photo&gid=', 3657 getData: function(account) { 3658 var request_url; 3659 3660 switch (account[0]) { 3661 case '@': 3662 var username = account.substr(1); 3663 request_url = Feed.vk.api + 'wall.get?owner_id=' + username + '&filter=' + options.vk.source + '&count=' + options.vk.limit + '&callback=?'; 3664 Utility.get_request(request_url, Feed.vk.utility.getPosts); 3665 break; 3666 case '#': 3667 var hashtag = account.substr(1); 3668 request_url = Feed.vk.api + 'newsfeed.search?q=' + hashtag + '&count=' + options.vk.limit + '&callback=?'; 3669 Utility.get_request(request_url, Feed.vk.utility.getPosts); 3670 break; 3671 default: 3672 } 3673 }, 3674 utility: { 3675 getPosts: function(json) { 3676 if (json.response) { 3677 $.each(json.response, function() { 3678 if (this != parseInt(this) && this.post_type === 'post') { 3679 var owner_id = (this.owner_id) ? this.owner_id : this.from_id, 3680 vk_wall_owner_url = (owner_id > 0) ? (Feed.vk.user_json_template + owner_id + '&callback=?') : (Feed.vk.group_json_template + (-1) * owner_id + '&callback=?'), 3681 element = this; 3682 Utility.get_request(vk_wall_owner_url, function(wall_owner) { 3683 Feed.vk.utility.unifyPostData(wall_owner, element, json); 3684 }); 3685 } 3686 }); 3687 } 3688 }, 3689 unifyPostData: function(wall_owner, element, json) { 3690 var post = {}; 3691 3692 post.id = element.id; 3693 post.dt_create = moment.unix(element.date); 3694 post.description = ' '; 3695 post.message = Utility.stripHTML(element.text); 3696 if (options.show_media) { 3697 if (element.attachment) { 3698 if (element.attachment.type === 'link') 3699 post.attachment = '<img class="attachment" src="' + element.attachment.link.image_src + '" />'; 3700 if (element.attachment.type === 'video') 3701 post.attachment = '<img class="attachment" src="' + element.attachment.video.image_big + '" />'; 3702 if (element.attachment.type === 'photo') 3703 post.attachment = '<img class="attachment" src="' + element.attachment.photo.src_big + '" />'; 3704 } 3705 } 3706 3707 if (element.from_id > 0) { 3708 var vk_user_json = Feed.vk.user_json_template + element.from_id + '&callback=?'; 3709 Utility.get_request(vk_user_json, function(user_json) { 3710 var vk_post = new SocialFeedPost('vk', Feed.vk.utility.getUser(user_json, post, element, json)); 3711 vk_post.render(); 3712 }); 3713 3714 } else { 3715 var vk_group_json = Feed.vk.group_json_template + (-1) * element.from_id + '&callback=?'; 3716 Utility.get_request(vk_group_json, function(user_json) { 3717 var vk_post = new SocialFeedPost('vk', Feed.vk.utility.getGroup(user_json, post, element, json)); 3718 vk_post.render(); 3719 }); 3720 } 3721 }, 3722 getUser: function(user_json, post, element, json) { 3723 post.author_name = user_json.response[0].first_name + ' ' + user_json.response[0].last_name; 3724 post.author_picture = user_json.response[0].photo; 3725 post.author_link = Feed.vk.base + user_json.response[0].screen_name; 3726 post.link = Feed.vk.base + user_json.response[0].screen_name + '?w=wall' + element.from_id + '_' + element.i
3726d; 3727 3728 return post; 3729 }, 3730 getGroup: function(user_json, post, element, json) { 3731 post.author_name = user_json.response[0].name; 3732 post.author_picture = user_json.response[0].photo; 3733 post.author_link = Feed.vk.base + user_json.response[0].screen_name; 3734 post.link = Feed.vk.base + user_json.response[0].screen_name + '?w=wall-' + user_json.response[0].gid + '_' + element.id; 3735 3736 return post; 3737 } 3738 } 3739 }, 3740 blogspot: { 3741 loaded: false, 3742 getData: function(account) { 3743 var url; 3744 3745 switch (account[0]) { 3746 case '@': 3747 var username = account.substr(1); 3748 url = 'http://' + username + '.blogspot.com/feeds/posts/default?alt=json-in-script&callback=?'; 3749 request(url, getPosts); 3750 break; 3751 default: 3752 } 3753 }, 3754 utility: { 3755 getPosts: function(json) { 3756 $.each(json.feed.entry, function() { 3757 var post = {}, 3758 element = this; 3759 post.id = element.id['$t'].replace(/[^a-z0-9]/gi, ''); 3760 post.dt_create = moment((element.published['$t'])); 3761 post.author_link = element.author[0]['uri']['$t']; 3762 post.author_picture = 'http:' + element.author[0]['gd$image']['src']; 3763 post.author_name = element.author[0]['name']['$t']; 3764 post.message = element.title['$t'] + '</br></br>' + stripHTML(element.content['$t']); 3765 post.description = ''; 3766 post.link = element.link.pop().href; 3767 3768 if (options.show_media) { 3769 if (element['media$thumbnail']) { 3770 post.attachment = '<img class="attachment" src="' + element['media$thumbnail']['url'] + '" />'; 3771 } 3772 } 3773 3774 post.render(); 3775 3776 }); 3777 } 3778 } 3779 }, 3780 pinterest: { 3781 posts: [], 3782 loaded: false, 3783 apiv1: 'https://api.pinterest.com/v1/', 3784 3785 getData: function(account) { 3786 var request_url, 3787 limit = 'limit=' + options.pinterest.limit, 3788 fields = 'fields=id,created_at,link,note,creator(url,first_name,last_name,image),image', 3789 query_extention = fields + '&access_token='
3789+ options.pinterest.access_token + '&' + limit + '&callback=?'; 3790 switch (account[0]) { 3791 case '@': 3792 var username = account.substr(1); 3793 if (username === 'me') { 3794 request_url = Feed.pinterest.apiv1 + 'me/pins/?' + query_extention; 3795 } else { 3796 request_url = Feed.pinterest.apiv1 + 'boards/' + username + '/pins?' + query_extention; 3797 } 3798 break; 3799 default: 3800 } 3801 Utility.request(request_url, Feed.pinterest.utility.getPosts); 3802 }, 3803 utility: { 3804 3805 getPosts: function(json) { 3806 json.data.forEach(function(element) { 3807 var post = new SocialFeedPost('pinterest', Feed.pinterest.utility.unifyPostData(element)); 3808 post.render(); 3809 }); 3810 }, 3811 3812 unifyPostData: function(element){ 3813 var post = {}; 3814 3815 post.id = element.id; 3816 post.dt_create= moment(element.created_at); 3817 post.author_link = element.creator.url; 3818 post.author_picture = element.creator.image['60x60' ].url; 3819 post.author_name = element.creator.first_name + element.creator.last_name; 3820 post.message = element.note; 3821 post.description = ''; 3822 post.social_network = 'pinterest'; 3823 post.link = element.link ? element.link : 'https://www.pinterest.com/pin/' + element.id; 3824 if (options.show_media) { 3825 post.attachment = '<img class="attachment" src="' + element.image['original'].url + '" />'; 3826 } 3827 return post; 3828 } 3829 } 3830 }, 3831 rss : { 3832 posts: [], 3833 loaded: false, 3834 api : 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0', 3835 3836 getData: function(url) { 3837 var limit = '&num='+ options.rss.limit, 3838 request_url = Feed.rss.api + limit + '&q=' + encodeURIComponent(url); 3839 3840 Utility.request(request_url, Feed.rss.utility.getPosts); 3841 }, 3842 utility: { 3843 3844 getPosts: function(json) { 3845 $.each(json.responseData.feed.entries, function(index, element) { 3846 var post = new SocialFeedPost('rss', Feed.rss.utility.unifyPostData(index, element)); 3847 post.render(); 3848 }); 3849 }, 3850 3851 unifyPostData: function(index, element){ 3852 var post = {}; 3853 3854 post.id = index; 3855 post.dt_create= moment(element.publishedDate, 'ddd, DD MMM YYYY HH:mm:ss ZZ', 'en'); 3856 post.author_link = ''; 3857 post.author_picture = ''; 3858 post.author_name = element.author; 3859 post.message = Utility.stripHTML(element.title); 3860 post.description = Utility.stripHTML(element.content); 3861 post.social_network = 'rss'; 3862 post.link = element.link; 3863 if (options.show_media && element.mediaGroups ) { 3864 post.attachment = '<img class="attachment" src="' + element.mediaGroups[0].contents[0].url + '" />'; 3865 } 3866 return post; 3867 } 3868 } 3869 } 3870 }; 3871 3872 //make the plugin chainable 3873 return this.each(function() { 3874 // Initialization 3875 Feed.init(); 3876 if (options.update_period) { 3877 setInterval(function() { 3878 return Feed.init(); 3879 }, options.update_period); 3880 } 3881 }) 3882 }; 3883 3884})(jQuery); 3885 3886var cvpHandlers = { 3887 canvasClickHandler: null, 3888 videoTimeUpdateHandler: null, 3889 videoCanPlayHandler: null, 3890 windowResizeHandler: null 3891}; 3892 3893var CanvasVideoPlayer = function(options) { 3894 var i; 3895 3896 this.options = { 3897 framesPerSecond: 25, 3898 hideVideo: true, 3899 autoplay: false, 3900 makeLoop: false, 3901 pauseOnClick: true, 3902 audio: false, 3903 timelineSelector: false, 3904 resetOnLastFrame: true 3905 }; 3906 3907 for (i in options) { 3908 this.options[i] = options[i]; 3909 } 3910 3911 this.video = document.querySelector(this.options.videoSelector); 3912 this.canvas = document.querySelector(this.options.canvasSelector); 3913 this.timeline = document.querySelector(this.options.timelineSelector); 3914 this.timelinePassed = document.querySelector(this.options.timelineSelector + '> div'); 3915 3916 if (!this.options.videoSelector || !this.video) { 3917 console.error('No "videoSelector" property, or the element is not found'); 3918 return; 3919 } 3920 3921 if (!this.options.canvasSelector || !this.canvas) { 3922 console.error('No "canvasSelector" property, or the element is not found'); 3923 return; 3924 } 3925 3926 if (this.options.timelineSelector && !this.timeline) { 3927 console.error('Element for the "timelineSelector" selector not found'); 3928 return; 3929 } 3930 3931 if (this.options.timelineSelector && !this.timelinePassed) { 3932 console.error('Element for the "timelinePassed" not found'); 3933 return; 3934 } 3935 3936 if (this.options.audio) { 3937 if (typeof(this.options.audio) === 'string'){ 3938 // Use audio selector from options if specified 3939 this.audio = document.querySelectorAll(this.options.audio)[0]; 3940 3941 if (!this.audio) { 3942 console.error('Element for the "audio" not found'); 3943 return; 3944 } 3945 } else { 3946 // Creates audio element which uses same video sources 3947 this.audio = document.createElement('audio'); 3948 this.audio.innerHTML = this.video.innerHTML; 3949 this.video.parentNode.insertBefore(this.audio, this.video); 3950 this.audio.load(); 3951 } 3952 3953 var iOS = /iPad|iPhone|iPod/.test(navigator.platform); 3954 if (iOS) { 3955 // Autoplay doesn't work with audio on iOS 3956 // User have to manually start the audio 3957 this.options.autoplay = false;
3958 } 3959 } 3960 3961 // Canvas context 3962 this.ctx = this.canvas.getContext('2d'); 3963 3964 this.playing = false; 3965 3966 this.resizeTimeoutReference = false; 3967 this.RESIZE_TIMEOUT = 1000; 3968 3969 this.init(); 3970 this.bind(); 3971}; 3972 3973CanvasVideoPlayer.prototype.init = function() { 3974 this.video.load(); 3975 3976 this.setCanvasSize(); 3977 3978 if (this.options.hideVideo) { 3979 this.video.style.display = 'none'; 3980 } 3981}; 3982 3983// Used most of the jQuery code for the .offset() method 3984CanvasVideoPlayer.prototype.getOffset = function(elem) { 3985 var docElem, rect, doc; 3986 3987 if (!elem) { 3988 return; 3989 } 3990 3991 rect = elem.getBoundingClientRect(); 3992 3993 // Make sure element is not hidden (display: none) or disconnected 3994 if (rect.width || rect.height || elem.getClientRects().length) { 3995 doc = elem.ownerDocument; 3996 docElem = doc.documentElement; 3997 3998 return { 3999 top: rect.top + window.pageYOffset - docElem.clientTop, 4000 left: rect.left + window.pageXOffset - docElem.clientLeft 4001 }; 4002 } 4003}; 4004 4005CanvasVideoPlayer.prototype.jumpTo = function(percentage) { 4006 this.video.currentTime = this.video.duration * percentage; 4007 4008 if (this.options.audio) { 4009 this.audio.currentTime = this.audio.duration * percentage; 4010 } 4011}; 4012 4013CanvasVideoPlayer.prototype.bind = function() { 4014 var self = this; 4015 4016 // Playes or pauses video on canvas click 4017 if(this.options.pauseOnClick === true){ 4018 this.canvas.addEventListener('click', cvpHandlers.canvasClickHandler = function() { 4019 self.playPause(); 4020 }); 4021 } 4022 4023 // On every time update draws frame 4024 this.video.addEventListener('timeupdate', cvpHandlers.videoTimeUpdateHandler = function() { 4025 self.drawFrame(); 4026 if (self.options.timelineSelector) { 4027 self.updateTimeline(); 4028 } 4029 }); 4030 4031 // Draws first frame 4032 this.video.addEventListener('canplay', cvpHandlers.videoCanPlayHandler = function() { 4033 self.drawFrame(); 4034 }); 4035 4036 // To be sure 'canplay' event that isn't already fired 4037 if (this.video.readyState >= 2) { 4038 self.drawFrame(); 4039 } 4040 4041 4042 if (self.options.autoplay) { 4043 self.play(); 4044 } 4045 4046 // Click on the video seek video 4047 if (self.options.timelineSelector) { 4048 this.timeline.addEventListener('click', function(e) { 4049 var offset = e.clientX - self.getOffset(self.canvas).left; 4050 var percentage = offset / self.timeline.offsetWidth; 4051 self.jumpTo(percentage); 4052 }); 4053 } 4054 4055 // Cache canvas size on resize (doing it only once in a second) 4056 window.addEventListener('resize', cvpHandlers.windowResizeHandler = function() { 4057 clearTimeout(self.resizeTimeoutReference); 4058 4059 self.resizeTimeoutReference = setTimeout(function() { 4060 self.setCanvasSize(); 4061 self.drawFrame(); 4062 }, self.RESIZE_TIMEOUT); 4063 }); 4064 4065 this.unbind = function() { 4066 this.canvas.removeEventListener('click', cvpHandlers.canvasClickHandler); 4067 this.video.removeEventListener('timeupdate', cvpHandlers.videoTimeUpdateHandler); 4068 this.video.removeEventListener('canplay', cvpHandlers.videoCanPlayHandler); 4069 window.removeEventListener('resize', cvpHandlers.windowResizeHandler); 4070 4071 if (this.options.audio) { 4072 this.audio.parentNode.removeChild(this.audio); 4073 } 4074 }; 4075}; 4076 4077CanvasVideoPlayer.prototype.updateTimeline = function() { 4078 var percentage = (this.video.currentTime * 100 / this.video.duration).toFixed(2); 4079 this.timelinePassed.style.width = percentage + '%'; 4080}; 4081 4082CanvasVideoPlayer.prototype.setCanvasSize = function() { 4083 this.width = this.canvas.clientWidth; 4084 this.height = this.canvas.clientHeight; 4085 4086 this.canvas.setAttribute('width', this.width); 4087 this.canvas.setAttribute('height', this.height); 4088}; 4089 4090CanvasVideoPlayer.prototype.play = function() { 4091 this.lastTime = Date.now(); 4092 this.playing = true; 4093 this.loop(); 4094 4095 if (this.options.audio) { 4096 // Resync audio and video 4097 this.audio.currentTime = this.video.currentTime; 4098 this.audio.play(); 4099 } 4100}; 4101 4102CanvasVideoPlayer.prototype.pause = function() { 4103 this.playing = false; 4104 4105 if (this.options.audio) { 4106 this.audio.pause(); 4107 } 4108}; 4109 4110CanvasVideoPlayer.prototype.playPause = function() { 4111 if (this.playing) { 4112 this.pause(); 4113 } 4114 else { 4115 this.play(); 4116 } 4117}; 4118 4119CanvasVideoPlayer.prototype.loop = function() { 4120 var self = this; 4121 4122 var time = Date.now(); 4123 var elapsed = (time - this.lastTime) / 1000; 4124 4125 // Render 4126 if(elapsed >= (1 / this.options.framesPerSecond)) { 4127 this.video.currentTime = this.video.currentTime + elapsed; 4128 this.lastTime = time; 4129 // Resync audio and video if they drift more than 300ms apart 4130 if(this.audio && Math.abs(this.audio.currentTime - this.video.currentTime) > .3){ 4131 this.audio.currentTime = this.video.currentTime; 4132 } 4133 } 4134 4135 // If we are at the end of the video stop 4136 if (this.video.currentTime >= this.video.duration) { 4137 if(this.options.makeLoop === false){ 4138 this.playing = false;
4139 } 4140 4141 if (this.options.resetOnLastFrame === true) { 4142 this.video.currentTime = 0; 4143 } 4144 } 4145 4146 if (this.playing) { 4147 this.animationFrame = requestAnimationFrame(function(){ 4148 self.loop(); 4149 }); 4150 } 4151 else { 4152 cancelAnimationFrame(this.animationFrame); 4153 } 4154}; 4155 4156CanvasVideoPlayer.prototype.drawFrame = function() { 4157 this.ctx.drawImage(this.video, 0, 0, this.width, this.height); 4158}; 4159 4160$(function () { 4161 4162 4163 // Full-Swiper Setup 4164 var fullSwiper = new Swiper('.full-swiper .swiper-container', { 4165 speed: 400, 4166 nextButton: '.full-swiper .swiper-button-next', 4167 prevButton: '.full-swiper .swiper-button-prev', 4168 pagination: '.full-swiper .swiper-pagination' 4169 }); 4170 4171 4172 // Menu-Trigger 4173 $('#header .lines-button').click(function (event) { 4174 $(this).toggleClass('lines-button-close'); 4175 $('#header .nav-wrapper').toggleClass('nav-wrapper-open'); 4176 }); 4177 4178 $('a').click(function () { 4179 if(!$(this).hasClass('nav-link') && !$(this).hasClass('carousel-control-next') && !$(this).hasClass('carousel-control-prev')){ 4180 var springTo = $(this).attr('href').split('#'), 4181 springElement = $('#' + springTo[1]); 4182 if (springElement) { 4183 $('html, body').animate({ 4184 scrollTop: springElement.offset().top - 115 4185 }, 500); 4186 } 4187 4188 } 4189 }); 4190 4191 4192 // News-Stream 4193 $('.news-stream').isotope({ 4194 itemSelector: '.news-stream-item', 4195 layoutMode: 'masonry', 4196 percentPosition: true 4197 }); 4198 4199 // newsletter-trigger 4200 $('.newsletter-form #email').on('click', function () { 4201 $('.newsletter-form-control').fadeIn(); 4202 }); 4203 4204 // Match-Height 4205 $('.mh-item').matchHeight(); 4206 4207 4208 // Modal offset 4209 var headerHeight = $('#header').outerHeight();
4210 $('.modal-detail-full .modal-dialog').css('margin-top', headerHeight); 4211 $('.modal-detail-full .modal-dialog').css({'height': 'calc(100% - ' + headerHeight + 'px)'}); 4212 $('.modal-detail-full .modal-content').css({'height': '100%'}); 4213 4214 4215 var resizeTimer; 4216 $(window).on('resize', function (e) { 4217 clearTimeout(resizeTimer); 4218 resizeTimer = setTimeout(function () { 4219 var headerHeight = $('#header').outerHeight(); 4220 $('.modal-detail-full .modal-dialog').css('margin-top', headerHeight); 4221 }, 250); 4222 }); 4223 4224 4225 // Modal Carousel 4226 /* 4227 var fullSwiper = new Swiper('.modal-detail-full-carousel .swiper-container', { 4228 speed: 400, 4229 nextButton: '.modal-detail-full-carousel .swiper-button-next', 4230 prevButton: '.modal-detail-full-carousel .swiper-button-prev', 4231 pagination: '.modal-detail-full-carousel .swiper-pagination' 4232 }); 4233 4234 4235 4236 $('#modal_detail').on('shown.bs.modal', function (e) { 4237 fullSwiper.update(); 4238 }) 4239 4240 4241 4242 $( "[data-modal-slide]" ).click(function() { 4243 var sliderIndex = $(this).attr('data-modal-slide'); 4244 4245 fullSwiper.slideTo(sliderIndex); 4246 }); 4247 */ 4248 new WOW().init(); 4249 4250 var elementExists = document.getElementById("video-1"); 4251 if (elementExists != null) { 4252 setTimeout(function () { 4253 $('.art-stream').isotope({ 4254 itemSelector: '.art-stream-item', 4255 layoutMode: 'masonry', 4256 percentPosition: true, 4257 masonry: { 4258 columnWidth: '.art-stream-item.col-sm-3' 4259 } 4260 }); 4261 }, 2000); 4262 } 4263 4264 4265}); 4266 4267var SOCIAL = {}; 4268SOCIAL.counter = -1; 4269 4270function getCounter() { 4271 4272 SOCIAL.counter++; 4273 return SOCIAL.counter; 4274 4275} 4276 4277// Button: Select Size 4278 4279 4280// product-detail-right-nav 4281function toggleIcon(e) { 4282 $(e.target) 4283 .prev('.panel-heading') 4284 .find(".more-less") 4285 .toggleClass('glyphicon-plus glyphicon-minus'); 4286} 4287$('.panel-group').on('hidden.bs.collapse', toggleIcon); 4288$('.panel-group').on('shown.bs.collapse', toggleIcon); 4289 4290// toTop 4291 4292$(window).scroll(function(){ 4293 if ($(this).scrollTop() > 100) { 4294 $('#toTop').fadeIn(); 4295 } else { 4296 $('#toTop').fadeOut(); 4297 } 4298}); 4299 4300$('#toTop').click(function(){ 4301 $('html, body').animate({scrollTop : 0},800); 4302 return false; 4303}); 4304 4305$('.button-more-information').on('click', function () { 4306 var that = $(this); 4307 that.next().toggle(); 4308 that.prev().toggle(); 4309 if(that.text() === 'mehr'){ 4310 that.text('weniger'); 4311 } else { 4312 that.text('mehr'); 4313 } 4314}); 4315 4316$('.lines-button').click(function(){ 4317 $(this).toggleClass('active'); 4318 return false; 4319}); 4320 4321// Video Controlls 4322var video = document.getElementById("video-1"); 4323var play = $("#videoPlay"); 4324var pause = $("#videoPause"); 4325var mute = $("#videoMute"); 4326var unmute = $("#videoUnmute"); 4327 4328play.on("click", function(){ 4329 playVideo(true); 4330}) 4331pause.on("click", function(){ 4332 playVideo(false); 4333}) 4334mute.on("click", function(){ 4335 muteVideo(true); 4336}) 4337unmute.on("click", function(){ 4338 muteVideo(false); 4339}) 4340 4341function playVideo(handler){ 4342 if(handler){ 4343 video.play(); 4344 play.hide(); 4345 pause.show(); 4346 } else { 4347 video.pause(); 4348 play.show(); 4349 pause.hide(); 4350 } 4351} 4352function muteVideo(handler){ 4353 video.muted = handler; 4354 if(handler){ 4355 unmute.show(); 4356 mute.hide(); 4357 } else { 4358 unmute.hide(); 4359 mute.show(); 4360 } 4361}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.