1window.Modernizr=function(e,t,n){function r(e){b.cssText=e}function o(e,t){return r(S.join(e+";")+(t||""))}function a(e,t){return typeof e===t}function i(e,t){return!!~(""+e).indexOf(t)}function c(e,t){for(var r in e){var o=e[r];if(!i(o,"-")&&b[o]!==n)return"pfx"==t?o:!0}return!1}function s(e,t,r){for(var o in e){var i=t[e[o]];if(i!==n)return r===!1?e[o]:a(i,"function")?i.bind(r||t):i}return!1}function u(e,t,n){var r=e.charAt(0).toUpperCase()+e.slice(1),o=(e+" "+k.join(r+" ")+r).split(" ");return a(t,"string")||a(t,"undefined")?c(o,t):(o=(e+" "+T.join(r+" ")+r).split(" "),s(o,t,n))}function l(){p.input=function(n){for(var r=0,o=n.length;o>r;r++)j[n[r]]=!!(n[r]in E);return j.list&&(j.list=!(!t.createElement("datalist")||!e.HTMLDataListElement)),j}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),p.inputtypes=function(e){for(var r,o,a,i=0,c=e.length;c>i;i++)E.setAttribute("type",o=e[i]),r="text"!==E.type,r&&(E.value=x,E.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(o)&&E.style.WebkitAppearance!==n?(g.appendChild(E),a=t.defaultView,r=a.getComputedStyle&&"textfield"!==a.getComputedStyle(E,null).WebkitAppearance&&0!==E.offsetHeight,g.removeChild(E)):/^(search|tel)$/.test(o)||(r=/^(url|email)$/.test(o)?E.checkValidity&&E.checkValidity()===!1:E.value!=x)),P[e[i]]=!!r;return P}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d,f,m="2.8.3",p={},h=!0,g=t.documentElement,v="modernizr",y=t.createElement(v),b=y.style,E=t.createElement("input"),x=":)",w={}.toString,S=" -webkit- -moz- -o- -ms- ".split(" "),C="Webkit Moz O ms",k=C.split(" "),T=C.toLowerCase().split(" "),N={svg:"http://www.w3.org/2000/svg"},M={},P={},j={},$=[],D=$.slice,F=function(e,n,r,o){var a,i,c,s,u=t.createElement("div"),l=t.body,d=l||t.createElement("body");if(parseInt(r,10))for(;r--;)c=t.createElement("div"),c.id=o?o[r]:v+(r+1),u.appendChild(c);return a=["­",'<style id="s',v,'">',e,"</style>"].join(""),u.id=v,(l?u:d).innerHTML+=a,d.appendChild(u),l||(d.style.background="",d.style.overflow="hidden",s=g.style.overflow,g.style.overflow="hidden",g.appendChild(d)),i=n(u,e),l?u.parentNode.removeChild(u):(d.parentNode.removeChild(d),g.style.overflow=s),!!i},z=function(t){var n=e.matchMedia||e.msMatchMedia;if(n)return n(t)&&n(t).matches||!1;var r;return F("@media "+t+" { #"+v+" { position: absolute; } }",function(t){r="absolute"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position}),r},A=function(){function e(e,o){o=o||t.createElement(r[e]||"div"),e="on"+e;var i=e in o;return i||(o.setAttribute||(o=t.createElement("div")),o.setAttribute&&o.removeAttribute&&(o.setAttribute(e,""),i=a(o[e],"function"),a(o[e],"undefined")||(o[e]=n),o.removeAttribute(e))),o=null,i}var r={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return e}(),L={}.hasOwnProperty;f=a(L,"undefined")||a(L.call,"undefined")?function(e,t){return t in e&&a(e.constructor.prototype[t],"undefined")}:function(e,t){return L.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=D.call(arguments,1),r=function(){if(this instanceof r){var o=function(){};o.prototype=t.prototype;var a=new o,i=t.apply(a,n.concat(D.call(arguments)));return Object(i)===i?i:a}return t.apply(e,n.concat(D.call(arguments)))};return r}),M.flexbox=function(){return u("flexWrap")},M.flexboxlegacy=function(){return u("boxDirection")},M.canvas=function(){var e=t.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))},M.canvastext=function(){return!(!p.canvas||!a(t.createElement("canvas").getContext("2d").fillText,"function"))},M.webgl=function(){return!!e.WebGLRenderingContext},M.touch=function(){var n;return"ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch?n=!0:F(["@media (",S.join("touch-enabled),("),v,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(e){n=9===e.offsetTop}),n},M.geolocation=function(){return"geolocation"in navigator},M.postmessage=function(){return!!e.postMessage},M.websqldatabase=function(){return!!e.openDatabase},M.indexedDB=function(){return!!u("indexedDB",e)},M.hashchange=function(){return A("hashchange",e)&&(t.documentMode===n||t.documentMode>7)}
vendor: 5,408 bytes, line 1
1,M.history=function(){return!(!e.history||!history.pushState)},M.draganddrop=function(){var e=t.createElement("div");return"draggable"in e||"ondragstart"in e&&"ondrop"in e},M.websockets=function(){return"WebSocket"in e||"MozWebSocket"in e},M.rgba=function(){return r("background-color:rgba(150,255,150,.5)"),i(b.backgroundColor,"rgba")},M.hsla=function(){return r("background-color:hsla(120,40%,100%,.5)"),i(b.backgroundColor,"rgba")||i(b.backgroundColor,"hsla")},M.multiplebgs=function(){return r("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(b.background)},M.backgroundsize=function(){return u("backgroundSize")},M.borderimage=function(){return u("borderImage")},M.borderradius=function(){return u("borderRadius")},M.boxshadow=function(){return u("boxShadow")},M.textshadow=function(){return""===t.createElement("div").style.textShadow},M.opacity=function(){return o("opacity:.55"),/^0.55$/.test(b.opacity)},M.cssanimations=function(){return u("animationName")},M.csscolumns=function(){return u("columnCount")},M.cssgradients=function(){var e="background-image:",t="gradient(linear,left top,right bottom,from(#9f9),to(white));",n="linear-gradient(left top,#9f9, white);";return r((e+"-webkit- ".split(" ").join(t+e)+S.join(n+e)).slice(0,-e.length)),i(b.backgroundImage,"gradient")},M.cssreflections=function(){return u("boxReflect")},M.csstransforms=function(){return!!u("transform")},M.csstransforms3d=function(){var e=!!u("perspective");return e&&"webkitPerspective"in g.style&&F("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t){e=9===t.offsetLeft&&3===t.offsetHeight}),e},M.csstransitions=function(){return u("transition")},M.fontface=function(){var e;return F('@font-face {font-family:"font";src:url("https://")}',function(n,r){var o=t.getElementById("smodernizr"),a=o.sheet||o.styleSheet,i=a?a.cssRules&&a.cssRules[0]?a.cssRules[0].cssText:a.cssText||"":"";e=/src/i.test(i)&&0===i.indexOf(r.split(" ")[0])}),e},M.generatedcontent=function(){var e;return F(["#",v,"{font:0/0 a}#",v,':after{content:"',x,'";visibility:hidden;font:3px/1 a}'].join(""),function(t){e=t.offsetHeight>=3}),e},M.video=function(){var e=t.createElement("video"),n=!1;try{(n=!!e.canPlayType)&&(n=new Boolean(n),n.ogg=e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),n.h264=e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),n.webm=e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(r){}return n},M.audio=function(){var e=t.createElement("audio"),n=!1;try{(n=!!e.canPlayType)&&(n=new Boolean(n),n.ogg=e.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),n.mp3=e.canPlayType("audio/mpeg;").replace(/^no$/,""),n.wav=e.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),n.m4a=(e.canPlayType("audio/x-m4a;")||e.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(r){}return n},M.localstorage=function(){try{return localStorage.setItem(v,v),localStorage.removeItem(v),!0}catch(e){return!1}},M.sessionstorage=function(){try{return sessionStorage.setItem(v,v),sessionStorage.removeItem(v),!0}catch(e){return!1}},M.webworkers=function(){return!!e.Worker},M.applicationcache=function(){return!!e.applicationCache},M.svg=function(){return!!t.createElementNS&&!!t.createElementNS(N.svg,"svg").createSVGRect},M.inlinesvg=function(){var e=t.createElement("div");return e.innerHTML="<svg/>",(e.firstChild&&e.firstChild.namespaceURI)==N.svg},M.smil=function(){return!!t.createElementNS&&/SVGAnimate/.test(w.call(t.createElementNS(N.svg,"animate")))},M.svgclippaths=function(){return!!t.createElementNS&&/SVGClipPath/.test(w.call(t.createElementNS(N.svg,"clipPath")))};for(var H in M)f(M,H)&&(d=H.toLowerCase(),p[d]=M[H](),$.push((p[d]?"":"no-")+d));return p.input||l(),p.addTest=function(e,t){if("object"==typeof e)for(var r in e)f(e,r)&&p.addTest(r,e[r]);else{if(e=e.toLowerCase(),p[e]!==n)return p;t="function"==typeof t?t():t,"undefined"!=typeof h&&h&&(g.className+=" "+(t?"":"no-")+e),p[e]=t}return p},r(""),y=E=null,function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=y.elements;return"string"==typeof e?e.split(" "):e}function o(e){var t=v[e[h]];return t||(t={},g++,e[h]=g,v[g]=t),t}function a(e,n,r){if(n||(n=t),l)return n.createElement(e);r||(r=o(n));var a;return a=r.cache[e]?r.cache[e].cloneNode():p.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!a.canHaveChildren||m.test(e)||a.tagUrn?a:r.frag.appendChild(a)}function i(e,n){if(e||(e=t),l)return e.createDocumentFragment();n=n||o(e);for(var a=n.frag.cloneNode(),i=0,c=r(),s=c.length;s>i;i++)a.createElement(c[i]);return a}function c(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return y.shivMethods?a(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(y,t.frag)}function s(e){e||(e=t);var r=o(e);return!y.shivCSS||u||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{dis
1play:block}mark{background:#FF0;color:#000}template{display:none}")),l||c(e,r),e}var u,l,d="3.7.0",f=e.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?: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,h="_html5shiv",g=0,v={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",u="hidden"in e,l=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){u=!0,l=!0}}();var y={elements:f.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",version:d,shivCSS:f.shivCSS!==!1,supportsUnknownElements:l,shivMethods:f.shivMethods!==!1,type:"default",shivDocument:s,createElement:a,createDocumentFragment:i};e.html5=y,s(t)}(this,t),p._version=m,p._prefixes=S,p._domPrefixes=T,p._cssomPrefixes=k,p.mq=z,p.hasEvent=A,p.testProp=function(e){return c([e])},p.testAllProps=u,p.testStyles=F,p.prefixed=function(e,t,n){return t?u(e,t,n):u(e,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(h?" js "+$.join(" "):""),p}(this,this.document); 2 3/*! 4 * Detectizr v2.2.0 5 * http://barisaydinoglu.github.com/Detectizr/ 6 * 7 * Written by Baris Aydinoglu (http://baris.aydinoglu.info) - Copyright 2012 8 * Released under the MIT license 9 * 10 * Date: 2015-09-28T21:37Z 11 */ 12window.Detectizr = (function(window, navigator, document, undefined) { 13 var Detectizr = {}, 14 Modernizr = window.Modernizr, 15 deviceTypes = ["tv", "tablet", "mobile", "desktop"], 16 options = { 17 // option for enabling HTML classes of all features (not only the true features) to be added 18 addAllFeaturesAsClass: false, 19 // option for enabling detection of device 20 detectDevice: true, 21 // option for enabling detection of device model 22 detectDeviceModel: true, 23 // option for enabling detection of screen size 24 detectScreen: true, 25 // option for enabling detection of operating system type and version 26 detectOS: true, 27 // option for enabling detection of browser type and version 28 detectBrowser: true, 29 // option for enabling detection of common browser plugins 30 detectPlugins: true 31 }, 32 plugins2detect = [{ 33 name: "adobereader", 34 substrs: ["Adobe", "Acrobat"], 35 // AcroPDF.PDF is used by version 7 and later 36 // PDF.PdfCtrl is used by version 6 and earlier 37 progIds: ["AcroPDF.PDF", "PDF.PDFCtrl.5"] 38 }, { 39 name: "flash", 40 substrs: ["Shockwave Flash"], 41 progIds: ["ShockwaveFlash.ShockwaveFlash.1"] 42 }, { 43 name: "wmplayer", 44 substrs: ["Windows Media"], 45 progIds: ["wmplayer.ocx"] 46 }, { 47 name: "silverlight", 48 substrs: ["Silverlight"], 49 progIds: ["AgControl.AgControl"] 50 }, { 51 name: "quicktime", 52 substrs: ["QuickTime"], 53 progIds: ["QuickTime.QuickTime"] 54 }], 55 rclass = /[\t\r\n]/g, 56 docElement = document.documentElement, 57 resizeTimeoutId, 58 oldOrientation; 59 60 // Create Global "extend" method, so Detectizr does not need jQuery.extend 61 function extend(obj, extObj) { 62 var a, b, i; 63 if (arguments.length > 2) { 64 for (a = 1, b = arguments.length; a < b; a += 1) { 65 extend(obj, arguments[a]); 66 } 67 } else { 68 for (i in extObj) { 69 if (extObj.hasOwnProperty(i)) { 70 obj[i] = extObj[i]; 71 } 72 } 73 } 74 return obj; 75 } 76 77 // simplified and localized indexOf method as one parameter fixed as useragent 78 function is(key) { 79 return Detectizr.browser.userAgent.indexOf(key) > -1; 80 } 81 82 // simplified and localized regex test method as one parameter fixed as useragent 83 function test(regex) { 84 return regex.test(Detectizr.browser.userAgent); 85 } 86 87 // simplified and localized regex exec method as one parameter fixed as useragent 88 function exec(regex) { 89 return regex.exec(Detectizr.browser.userAgent); 90 } 91 92 // localized string trim method 93 function trim(value) { 94 return value.replace(/^\s+|\s+$/g, ""); 95 } 96 97 // convert string to camelcase 98 function toCamel(string) { 99 if (string === null || string === undefined) { 100 return ""; 101 } 102 return String(string).replace(/((\s|\-|\.)+[a-z0-9])/g, function($1) { 103 return $1.toUpperCase().replace(/(\s|\-|\.)/g, ""); 104 }); 105 } 106 107 // removeClass function inspired from jQuery.removeClass 108 function removeClass(element, value) { 109 var class2remove = value || "", 110 cur = element.nodeType === 1 && (element.className ? (" " + element.className + " ").replace(rclass, " ") : ""); 111 if (cur) { 112 while (cur.indexOf(" " + class2remove + " ") >= 0) { 113 cur = cur.replace(" " + class2remove + " ", " "); 114 } 115 element.className = value ? trim(cur) : ""; 116 } 117 } 118 119 // add version test to Modernizr 120 function addVersionTest(version, major, minor) { 121 if (!!version) { 122 version = toCamel(version); 123 if (!!major) { 124 major = toCamel(major); 125 addConditionalTest(version + major, true); 126 if (!!minor) { 127 addConditionalTest(version + major + "_" + minor, true); 128 } 129 } 130 } 131 } 132 133 // add test to Modernizr based on a condition 134 function addConditionalTest(feature, test) { 135 if (!!feature && !!Modernizr) { 136 if (options.addAllFeaturesAsClass) { 137 Modernizr.addTest(feature, test); 138 } else { 139 test = typeof test === "function" ? test() : test; 140 if (test) { 141 Modernizr.addTest(feature, true); 142 } else { 143 delete Modernizr[feature]; 144 removeClass(docElement, feature); 145 } 146 } 147 } 148 } 149 150 // set version based on versionFull 151 function setVersion(versionType, versionFull) { 152 versionType.version = versionFull; 153 var versionArray = versionFull.split("."); 154 if (versionArray.length > 0) { 155 versionArray = versionArray.reverse(); 156 versionType.major = versionArray.pop(); 157 if (versionArray.length > 0) { 158 versionType.minor = versionArray.pop(); 159 if (versionArray.length > 0) { 160 versionArray = versionArray.reverse(); 161 versionType.patch = versionArray.join("."); 162 } else { 163 versionType.patch = "0"; 164 } 165 } else { 166 versionType.minor = "0"; 167 } 168 } else { 169 versionType.major = "0"; 170 } 171 } 172 173 function checkOrientation() { 174 //timeout wrapper points with doResizeCode as callback 175 window.clearTimeout(resizeTimeoutId); 176 resizeTimeoutId = window.setTimeout(function() { 177 oldOrientation = Detectizr.device.orientation; 178 //wrapper for height/width check 179 if (window.innerHeight > window.innerWidth) { 180 Detectizr.device.orientation = "portrait"; 181 } else { 182 Detectizr.device.orientation = "landscape"; 183 } 184 addConditionalTest(Detectizr.device.orientation, true); 185 if (oldOrientation !== Detectizr.device.orientation) { 186 addConditionalTest(oldOrientation, false); 187 } 188 }, 10); 189 } 190 191 function detectPlugin(substrs) { 192 var plugins = navigator.plugins, 193 plugin, haystack, pluginFoundText, j, k; 194 for (j = plugins.length - 1; j >= 0; j--) { 195 plugin = plugins[j]; 196 haystack = plugin.name + plugin.description; 197 pluginFoundText = 0; 198 for (k = substrs.length; k >= 0; k--) { 199 if (haystack.indexOf(substrs[k]) !== -1) { 200 pluginFoundText += 1; 201 } 202 } 203 if (pluginFoundText === substrs.length) { 204 return true; 205 } 206 } 207 return false;
208 } 209 210 function detectObject(progIds) { 211 var j; 212 for (j = progIds.length - 1; j >= 0; j--) { 213 try { 214 new ActiveXObject(progIds[j]); 215 } catch (e) { 216 // Ignore 217 } 218 } 219 return false; 220 } 221 222 function detect(opt) { 223 var i, j, device, os, browser, plugin2detect, pluginFound; 224 225 options = extend({}, options, opt || {}); 226 227 /** Device detection **/ 228 if (options.detectDevice) { 229 Detectizr.device = { 230 type: "", 231 model: "", 232 orientation: "" 233 }; 234 device = Detectizr.device; 235 if (test(/googletv|smarttv|smart-tv|internet.tv|netcast|nettv|appletv|boxee|kylo|roku|dlnadoc|roku|pov_tv|hbbtv|ce\-html/)) { 236 // Check if user agent is a smart tv 237 device.type = deviceTypes[0]; 238 device.model = "smartTv"; 239 } else if (test(/xbox|playstation.3|wii/)) { 240 // Check if user agent is a game console 241 device.type = deviceTypes[0]; 242 device.model = "gameConsole"; 243 } else if (test(/ip(a|ro)d/)) { 244 // Check if user agent is a iPad 245 device.type = deviceTypes[1]; 246 device.model = "ipad"; 247 } else if ((test(/tablet/) && !test(/rx-34/)) || test(/folio/)) { 248 // Check if user agent is a Tablet 249 device.type = deviceTypes[1]; 250 device.model = String(exec(/playbook/) || ""); 251 } else if (test(/linux/) && test(/android/) && !test(/fennec|mobi|htc.magic|htcX06ht|nexus.one|sc-02b|fone.945/)) { 252 // Check if user agent is an Android Tablet 253 device.type = deviceTypes[1]; 254 device.model = "android"; 255 } else if (test(/kindle/) || (test(/mac.os/) && test(/silk/))) { 256 // Check if user agent is a Kindle or Kindle Fire 257 device.type = deviceTypes[1]; 258 device.model = "kindle"; 259 } else if (test(/gt-p10|sc-01c|shw-m180s|sgh-t849|sch-i800|shw-m180l|sph-p100|sgh-i987|zt180|htc(.flyer|\_flyer)|sprint.atp51|viewpad7|pandigital(sprnova|nova)|ideos.s7|dell.streak.7|advent.vega|a101it|a70bht|mid7015|next2|nook/) || (test(/mb511/) && test(/rutem/))) { 260 // Check if user agent is a pre Android 3.0 Tablet 261 device.type = deviceTypes[1]; 262 device.model = "android"; 263 } else if (test(/bb10/)) { 264 // Check if user agent is a BB10 device 265 device.type = deviceTypes[1]; 266 device.model = "blackberry"; 267 } else { 268 // Check if user agent is one of common mobile types 269 device.model = exec(/iphone|ipod|android|blackberry|opera mini|opera mobi|skyfire|maemo|windows phone|palm|iemobile|symbian|symbianos|fennec|j2me/); 270 if (device.model !== null) { 271 device.type = deviceTypes[2]; 272 device.model = String(device.model); 273 } else { 274 device.model = ""; 275 if (test(/bolt|fennec|iris|maemo|minimo|mobi|mowser|netfront|novarra|prism|rx-34|skyfire|tear|xv6875|xv6975|google.wireless.transcoder/)) { 276 // Check if user agent is unique Mobile User Agent 277 device.type = deviceTypes[2]; 278 } else if (test(/opera/) && test(/windows.nt.5/) && test(/htc|xda|mini|vario|samsung\-gt\-i8000|samsung\-sgh\-i9/)) { 279 // Check if user agent is an odd Opera User Agent - http://goo.gl/nK90K 280 device.type = deviceTypes[2]; 281 } else if ((test(/windows.(nt|xp|me|9)/) && !test(/phone/)) || test(/win(9|.9|nt)/) || test(/\(windows 8\)/)) { 282 // Check if user agent is Windows Desktop, "(Windows 8)" Chrome extra exception 283 device.type = deviceTypes[3]; 284 } else if (test(/macintosh|powerpc/) && !test(/silk/)) { 285 // Check if agent is Mac Desktop 286 device.type = deviceTypes[3]; 287 device.model = "mac"; 288 } else if (test(/linux/) && test(/x11/)) { 289 // Check if user agent is a Linux Desktop 290 device.type = deviceTypes[3]; 291 } else if (test(/solaris|sunos|bsd/)) { 292 // Check if user agent is a Solaris, SunOS, BSD Desktop 293 device.type = deviceTypes[3]; 294 } else if (test(/cros/)) { 295 // Check if user agent is a Chromebook 296 device.type = deviceTypes[3]; 297 } else if (test(/bot|crawler|spider|yahoo|ia_archiver|covario-ids|findlinks|dataparksearch|larbin|mediapartners-google|ng-search|snappy|teoma|jeeves|tineye/) && !test(/mobile/)) { 298 // Check if user agent is a Desktop BOT/Crawler/Spider 299 device.type = deviceTypes[3]; 300 device.model = "crawler"; 301 } else { 302 // Otherwise assume it is a Mobile Device 303 device.type = deviceTypes[2]; 304 } 305 } 306 } 307 for (i = 0, j = deviceTypes.length; i < j; i += 1) { 308 addConditionalTest(deviceTypes[i], (device.type === deviceTypes[i])); 309 } 310 if (options.detectDeviceModel) { 311 addConditionalTest(toCamel(device.model), true); 312 } 313 } 314 315 /** Screen detection **/ 316 if (options.detectScreen) { 317 device.screen = {}; 318 if (!!Modernizr && !!Modernizr.mq) { 319 if (Modernizr.mq("only screen and (max-width: 240px)")) { 320 device.screen.size = "veryVerySmall"; 321 addConditionalTest("veryVerySmallScreen", true); 322 } else if (Modernizr.mq("only screen and (max-width: 320px)")) { 323 device.screen.size = "verySmall"; 324 addConditionalTest("verySmallScreen", true); 325 } else if (Modernizr.mq("only screen and (max-width: 480px)")) { 326 device.screen.size = "small"; 327 addConditionalTest("smallScreen", true); 328 } 329 if (device.type === deviceTypes[1] || device.type === deviceTypes[2]) { 330 if (Modernizr.mq("only screen and (-moz-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 2.6/2), only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 1.3dppx)")) { 331 device.screen.resolution = "high"; 332 addConditionalTest("highresolution", true); 333 } 334 } 335 } 336 if (device.type === deviceTypes[1] || device.type === deviceTypes[2]) { 337 window.onresize = function(event) { 338 checkOrientation(event); 339 }; 340 checkOrientation(); 341 } else { 342 device.orientation = "landscape"; 343 addConditionalTest(device.orientation, true); 344 } 345 } 346 347 /** OS detection **/ 348 if (options.detectOS) { 349 Detectizr.os = {}; 350 os = Detectizr.os; 351 if (device.model !== "") { 352 if (device.model === "ipad" || device.model === "iphone" || device.model === "ipod") { 353 os.name = "ios"; 354 setVersion(os, (test(/os\s([\d_]+)/) ? RegExp.$1 : "").replace(/_/g, ".")); 355 } else if (device.model === "android") { 356 os.name = "android"; 357 setVersion(os, (test(/android\s([\d\.]+)/) ? RegExp.$1 : "")); 358 } else if (device.model === "blackberry") { 359 os.name = "blackberry"; 360 setVersion(os, (test(/version\/([^\s]+)/) ? RegExp.$1 : "")); 361 } else if (device.model === "playbook") { 362 os.name = "blackberry"; 363 setVersion(os, (test(/os ([^\s]+)/) ? RegExp.$1.replace(";", "") : "")); 364 } 365 } 366 if (!os.name) { 367 if (is("win") || is("16bit")) { 368 os.name = "windows"; 369 if (is("windows nt 10")) { 370 setVersion(os, "10"); 371 } else if (is("windows nt 6.3")) { 372 setVersion(os, "8.1"); 373 } else if (is("windows nt 6.2") || test(/\(windows 8\)/)) { //windows 8 chrome mac fix 374 setVersion(os, "8"); 375 } else if (is("windows nt 6.1")) { 376 setVersion(os, "7"); 377 } else if (is("windows nt 6.0")) { 378 setVersion(os, "vista"); 379 }
379 else if (is("windows nt 5.2") || is("windows nt 5.1") || is("windows xp")) { 380 setVersion(os, "xp"); 381 } else if (is("windows nt 5.0") || is("windows 2000")) { 382 setVersion(os, "2k"); 383 } else if (is("winnt") || is("windows nt")) { 384 setVersion(os, "nt"); 385 } else if (is("win98") || is("windows 98")) { 386 setVersion(os, "98"); 387 } else if (is("win95") || is("windows 95")) { 388 setVersion(os, "95"); 389 } 390 } else if (is("mac") || is("darwin")) { 391 os.name = "mac os"; 392 if (is("68k") || is("68000")) { 393 setVersion(os, "68k"); 394 } else if (is("ppc") || is("powerpc")) { 395 setVersion(os, "ppc"); 396 } else if (is("os x")) { 397 setVersion(os, (test(/os\sx\s([\d_]+)/) ? RegExp.$1 : "os x").replace(/_/g, ".")); 398 } 399 } else if (is("webtv")) { 400 os.name = "webtv"; 401 } else if (is("x11") || is("inux")) { 402 os.name = "linux"; 403 } else if (is("sunos")) { 404 os.name = "sun"; 405 } else if (is("irix")) { 406 os.name = "irix"; 407 } else if (is("freebsd")) { 408 os.name = "freebsd"; 409 } else if (is("bsd")) { 410 os.name = "bsd"; 411 } 412 } 413 if (!!os.name) { 414 addConditionalTest(os.name, true); 415 if (!!os.major) { 416 addVersionTest(os.name, os.major); 417 if (!!os.minor) { 418 addVersionTest(os.name, os.major, os.minor); 419 } 420 } 421 } 422 if (test(/\sx64|\sx86|\swin64|\swow64|\samd64/)) { 423 os.addressRegisterSize = "64bit"; 424 } else { 425 os.addressRegisterSize = "32bit"; 426 } 427 addConditionalTest(os.addressRegisterSize, true); 428 } 429 430 /** Browser detection **/ 431 if (options.detectBrowser) { 432 browser = Detectizr.browser; 433 if (!test(/opera|webtv/) && (test(/msie\s([\d\w\.]+)/) || is("trident"))) { 434 browser.engine = "trident"; 435 browser.name = "ie"; 436 if (!window.addEventListener && document.documentMode && document.documentMode === 7) { 437 setVersion(browser, "8.compat"); 438 } else if (test(/trident.*rv[ :](\d+)\./)) { 439 setVersion(browser, RegExp.$1); 440 } else { 441 setVersion(browser, (test(/trident\/4\.0/) ? "8" : RegExp.$1)); 442 } 443 } else if (is("firefox")) { 444 browser.engine = "gecko"; 445 browser.name = "firefox"; 446 setVersion(browser, (test(/firefox\/([\d\w\.]+)/) ? RegExp.$1 : "")); 447 } else if (is("gecko/")) { 448 browser.engine = "gecko"; 449 } else if (is("opera")) { 450 browser.name = "opera"; 451 browser.engine = "presto"; 452 setVersion(browser, (test(/version\/([\d\.]+)/) ? RegExp.$1 : (test(/opera(\s|\/)([\d\.]+)/) ? RegExp.$2 : ""))); 453 } else if (is("konqueror")) { 454 browser.name = "konqueror"; 455 } else if (is("edge")) { 456 browser.engine = "webkit"; 457 browser.name = "edge"; 458 setVersion(browser, (test(/edge\/([\d\.]+)/) ? RegExp.$1 : "")); 459 } else if (is("chrome")) { 460 browser.engine = "webkit"; 461 browser.name = "chrome"; 462 setVersion(browser, (test(/chrome\/([\d\.]+)/) ? RegExp.$1 : "")); 463 } else if (is("iron")) { 464 browser.engine = "webkit"; 465 browser.name = "iron"; 466 } else if (is("crios")) { 467 browser.name = "chrome"; 468 browser.engine = "webkit"; 469 setVersion(browser, (test(/crios\/([\d\.]+)/) ? RegExp.$1 : "")); 470 } else if (is("applewebkit/")) { 471 browser.name = "safari"; 472 browser.engine = "webkit"; 473 setVersion(browser, (test(/version\/([\d\.]+)/) ? RegExp.$1 : "")); 474 } else if (is("mozilla/")) { 475 browser.engine = "gecko"; 476 } 477 if (!!browser.name) { 478 addConditionalTest(browser.name, true); 479 if (!!browser.major) { 480 addVersionTest(browser.name, browser.major); 481 if (!!browser.minor) { 482 addVersionTest(browser.name, browser.major, browser.minor); 483 } 484 } 485 } 486 addConditionalTest(browser.engine, true); 487 488 // Browser Language 489 browser.language = navigator.userLanguage || navigator.language; 490 addConditionalTest(browser.language, true); 491 } 492 493 /** Plugin detection **/ 494 if (options.detectPlugins) { 495 browser.plugins = []; 496 for (i = plugins2detect.length - 1; i >= 0; i--) { 497 plugin2detect = plugins2detect[i]; 498 pluginFound = false; 499 if (window.ActiveXObject) { 500 pluginFound = detectObject(plugin2detect.progIds); 501 } else if (navigator.plugins) { 502 pluginFound = detectPlugin(plugin2detect.substrs); 503 } 504 if (pluginFound) { 505 browser.plugins.push(plugin2detect.name); 506 addConditionalTest(plugin2detect.name, true); 507 } 508 } 509 if (navigator.javaEnabled()) { 510 browser.plugins.push("java"); 511 addConditionalTest("java", true); 512 } 513 } 514 } 515 Detectizr.detect = function(settings) { 516 return detect(settings); 517 }; 518 Detectizr.init = function() { 519 if (Detectizr !== undefined) { 520 Detectizr.browser = { 521 userAgent: (navigator.userAgent || navigator.vendor || window.opera).toLowerCase() 522 }; 523 Detectizr.detect(); 524 } 525 }; 526 Detectizr.init(); 527 528 return Detectizr; 529}(this, this.navigator, this.document)); 530 531 532var masonry; 533var carouselGallery; 534var carouselGalleryNav; 535var carouselSlideshow; 536var carouselPortfolio; 537 538$( window ).resize(function() { 539 layoutUpdate(); 540}); 541 542function layoutUpdate() { 543 // Give content a minimum height of the aside menu 544 if (!$('body').hasClass('layout--horizontal')) { 545 var contentHeight = $('.aside').outerHeight() + 80; 546 $('.content').css('min-height', contentHeight); 547 } 548 549 var windowHeight = $(window).height(); 550 var windowWidth = $(window).width(); 551 var asideHeight = $('.aside').outerHeight(); 552 553 if( !$('body').hasClass('theme--year3k') ) { 554 var headerHeight = $('.header:visible').outerHeight() || 0; 555 var navigationHeight = 0;
556 var footerHeight = $('.footer:visible').outerHeight() || 0; 557 var pageMarginTop = parseInt( $(".page").css("marginTop") ) || 0; 558 var pagePaddingTop = parseInt( $(".page").css("paddingTop") ) || 0; 559 560 if ( windowWidth >= 1024 ) { 561 var navigationHeight = $('.navigation:visible').outerHeight(); 562 } 563 564 var contentWrapHeight = headerHeight + navigationHeight + footerHeight + pageMarginTop + pagePaddingTop; 565 //console.log( headerHeight + ' + ' + navigationHeight + ' + ' + footerHeight + ' + ' + pageMarginTop + ' + ' + pagePaddingTop + ' = ' + contentWrapHeight ); 566 $('.content-wrap').css('min-height', 'calc( 100vh - ' + contentWrapHeight + 'px )'); 567 } 568 569 //console.log(windowHeight + ', ' + asideHeight); 570 571 if ( windowHeight > asideHeight ) { 572 $('body').addClass('layout--fits-aside'); 573 } else { 574 $('body').removeClass('layout--fits-aside'); 575 } 576 577 if(carouselGallery) 578 carouselGallery.flickity('resize'); 579 580 if(carouselGalleryNav) 581 carouselGalleryNav.flickity('resize'); 582 583 if(carouselSlideshow) 584 carouselSlideshow.flickity('resize'); 585 586 if(carouselPortfolio) 587 carouselPortfolio.flickity('resize'); 588 589 if(masonry) 590 masonry.isotope(); 591} 592 593$(function () { 594 $('.page').on('contextmenu', 'img', function(e){ 595 return false; 596 }); 597 598 $('.portfolio--masonry').imagesLoaded(function() { 599 masonry = $('.portfolio--masonry').isotope({ 600 // options 601 itemSelector: '.portfolio-item' 602 }); 603 }); 604 605 $('[data-toggle="tooltip"]').tooltip(); 606 607 carouselGallery = $('.gallery').flickity({ 608 // options 609 cellAlign: 'center', 610 contain: true, 611 autoPlay: 2500, 612 imagesLoaded: true 613 }); 614 615 carouselGalleryNav = $('.gallery-nav').flickity({ 616 // options 617 contain: true, 618 cellAlign: 'center', 619 pageDots: false, 620 imagesLoaded: true, 621 }); 622 623 carouselPortfolio = $('.portfolio--carousel').flickity({ 624 // options 625 contain: true, 626 pageDots: true, 627 imagesLoaded: true 628 }); 629 630 631 layoutUpdate(); 632 633 /* 634 var $pswp = $('.pswp')[0]; 635 var image = []; 636 637 638 $('.portfolio--zoom').each( function() { 639 var $portfolio = $(this), 640 getItems = function() { 641 var items = []; 642 $portfolio.find('.portfolio-zoom').each(function() { 643 var $href = $(this).attr('href'), 644 $size = $(this).data('size').split('x'), 645 $width = $size[0], 646 $height = $size[1]; 647 648 var item = { 649 src : $href, 650 w : $width, 651 h : $height 652 } 653 654 items.push(item); 655 }); 656 return items; 657 } 658 659 var items = getItems(); 660 661 $.each(items, function(index, value) { 662 image[index] = new Image(); 663 image[index].src = value['src']; 664 }); 665 666 $portfolio.on('click', '.portfolio-zoom', function(event) { 667 event.preventDefault(); 668 669 var $index = $(this).closest('.portfolio-item').index(); 670 671 var options = { 672 index: $index, 673 bgOpacity: 0.7, 674 showHideOpacity: true, 675 shareEl: false 676 } 677 678 var lightBox = new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options); 679 lightBox.init(); 680 }); 681 });*/ 682 683 684});
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.