{"version":3,"sources":["webpack:///site.js","webpack:///./~/url/url.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/js/accordion.js","webpack:///./src/js/archive.js","webpack:///./src/js/nav.js","webpack:///./src/js/pub-slick-slider.js","webpack:///./src/js/reports.js","webpack:///./src/js/search.js","webpack:///./src/js/side-nav.js","webpack:///./src/js/social.js","webpack:///./src/js/sticky-nav.js","webpack:///./src/site.js","webpack:///./~/punycode/punycode.js","webpack:///./~/querystring-es3/decode.js","webpack:///./~/querystring-es3/encode.js","webpack:///./~/querystring-es3/index.js","webpack:///./~/shariff/src.es5/js/dom.js","webpack:///./~/shariff/src.es5/js/services/addthis.js","webpack:///./~/shariff/src.es5/js/services/diaspora.js","webpack:///./~/shariff/src.es5/js/services/facebook.js","webpack:///./~/shariff/src.es5/js/services/flattr.js","webpack:///./~/shariff/src.es5/js/services/googleplus.js","webpack:///./~/shariff/src.es5/js/services/index.js","webpack:///./~/shariff/src.es5/js/services/info.js","webpack:///./~/shariff/src.es5/js/services/linkedin.js","webpack:///./~/shariff/src.es5/js/services/mail.js","webpack:///./~/shariff/src.es5/js/services/pinterest.js","webpack:///./~/shariff/src.es5/js/services/print.js","webpack:///./~/shariff/src.es5/js/services/qzone.js","webpack:///./~/shariff/src.es5/js/services/reddit.js","webpack:///./~/shariff/src.es5/js/services/stumbleupon.js","webpack:///./~/shariff/src.es5/js/services/tencent-weibo.js","webpack:///./~/shariff/src.es5/js/services/threema.js","webpack:///./~/shariff/src.es5/js/services/tumblr.js","webpack:///./~/shariff/src.es5/js/services/twitter.js","webpack:///./~/shariff/src.es5/js/services/weibo.js","webpack:///./~/shariff/src.es5/js/services/whatsapp.js","webpack:///./~/shariff/src.es5/js/services/xing.js","webpack:///./~/shariff/src.es5/js/shariff.js","webpack:///./~/url/util.js","webpack:///(webpack)/buildin/module.js"],"names":["webpackJsonp","module","exports","__webpack_require__","Url","this","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","urlParse","url","parseQueryString","slashesDenoteHost","util","isObject","u","parse","urlFormat","obj","isString","format","prototype","call","urlResolve","source","relative","resolve","urlResolveObject","resolveObject","punycode","protocolPattern","portPattern","simplePathPattern","delims","unwise","concat","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","javascript","javascript:","hostlessProtocol","slashedProtocol","http","https","ftp","gopher","file","http:","https:","ftp:","gopher:","file:","querystring","TypeError","queryIndex","indexOf","splitter","uSplit","split","slashRegex","replace","join","rest","trim","length","simplePath","exec","substr","proto","lowerProto","toLowerCase","match","hostEnd","i","hec","atSign","lastIndexOf","slice","decodeURIComponent","parseHost","ipv6Hostname","hostparts","l","part","newpart","j","k","charCodeAt","validParts","notHost","bit","push","unshift","toASCII","p","h","ae","esc","encodeURIComponent","escape","qm","s","Object","keys","stringify","charAt","rel","result","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","splice","isAbsolute","g","Function","eval","e","window","__webpack_exports__","a","$","click","css","find","slideUp","slideDown","siblings","parent","next","each","$this","year","html","location","isNumeric","attr","on","toggle","__WEBPACK_IMPORTED_MODULE_0_slick_carousel__","n","slick","centerMode","centerPadding","slidesToShow","nextArrow","prevArrow","responsive","breakpoint","settings","arrows","console","log","goToSearchResults","searchPhrase","searchFilters","preventDefault","val","subject","encodeURI","entity","contentType","yearStart","yearEnd","hide","append","show","addClass","prev","toggleClass","archiveForElement","document","querySelector","postId","data","parents","socialSharing","services","buttonsContainer","jButtonsContainer","__WEBPACK_IMPORTED_MODULE_0_shariff___default","lang","mailUrl","orientation","title","slideToggle","solidIcons","querySelectorAll","forEach","element","isSolidIcon","some","icon","classList","contains","remove","add","__WEBPACK_IMPORTED_MODULE_0_shariff__","stickyNav","scrollDepth","$nav","navTopOffset","removeClass","$a","children","stopPropagation","$ul","closest","hasClass","offset","top","scrollTop","defineProperty","value","__WEBPACK_IMPORTED_MODULE_0_jquery__","__WEBPACK_IMPORTED_MODULE_0_jquery___default","__WEBPACK_IMPORTED_MODULE_1__js_sticky_nav__","__WEBPACK_IMPORTED_MODULE_2__js_pub_slick_slider__","__WEBPACK_IMPORTED_MODULE_3__js_nav__","__WEBPACK_IMPORTED_MODULE_4__js_side_nav__","__WEBPACK_IMPORTED_MODULE_5__js_accordion__","__WEBPACK_IMPORTED_MODULE_6__js_archive__","__WEBPACK_IMPORTED_MODULE_7__js_reports__","__WEBPACK_IMPORTED_MODULE_8__js_search__","__WEBPACK_IMPORTED_MODULE_9__js_social__","__WEBPACK_IMPORTED_MODULE_10__sass_style_scss__","global","__WEBPACK_AMD_DEFINE_RESULT__","root","error","type","RangeError","errors","map","array","fn","mapDomain","string","parts","regexSeparators","ucs2decode","extra","output","counter","ucs2encode","stringFromCharCode","basicToDigit","codePoint","base","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","floor","damp","baseMinusTMin","tMax","skew","decode","input","out","basic","index","oldi","w","t","baseMinusT","inputLength","initialN","bias","initialBias","delimiter","maxInt","tMin","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","regexPunycode","test","regexNonASCII","nodeType","overflow","not-basic","invalid-input","Math","String","fromCharCode","version","ucs2","hasOwnProperty","prop","qs","sep","eq","options","regexp","maxKeys","len","kstr","vstr","x","idx","isArray","Array","xs","toString","f","res","stringifyPrimitive","isFinite","name","objectKeys","ks","key","_toConsumableArray","arr","arr2","from","dq","selector","context","nodes","attachEvent","readyState","addEventListener","Element","fragment","DOMQuery","elements","self","assign","target","varArgs","to","arguments","nextSource","nextKey","callback","empty","text","textContent","getAttribute","setAttribute","dataset","deserializeValue","matches","el","apply","prepend","names","_classList","event","handler","delegateEvent","hasChildNodes","removeChild","firstChild","objects","object","div","createElement","innerHTML","appendChild","insertBefore","HTMLElement","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","parentElement","scope","listeningTarget","extend","extended","deep","getJSON","xhr","XMLHttpRequest","open","setRequestHeader","onload","status","JSON","responseText","onerror","Error","send","shariff","popup","shareText","bg","da","de","en","es","fi","fr","hr","hu","it","ja","ko","nl","no","pl","pt","ro","ru","sk","sl","sr","sv","tr","zh","faName","shareUrl","getURL","getReferrerTrack","getTitle","description","getMeta","flattrCategory","flattrUser","addthis","diaspora","facebook","flattr","googleplus","info","linkedin","mail","pinterest","print","qzone","reddit","stumbleupon","tencent","threema","tumblr","twitter","weibo","whatsapp","xing","blank","getInfoUrl","getOption","creator","img","media","abbreviateText","abbreviated","lastWhitespaceIndex","substring","twitterVia","via","_classCallCheck","instance","Constructor","_typeof","Symbol","iterator","constructor","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","Defaults","theme","backendUrl","infoUrl","langFallback","view","mailBody","mediaUrl","referrerTrack","canonical","Shariff","_this","filter","service","isEnabledService","sort","b","serviceName","_addButtonList","getShares","_updateCounts","bind","option","baseUrl","_this2","round","_this3","$buttonList","$li","$shareText","getLocalized","$shareLink","__twttr","widgets","loaded","$socialshareElement","arg","webpackPolyfill","deprecate","paths","get"],"mappings":"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","file":"site.js","sourcesContent":["webpackJsonp([0],[\n/* 0 */,\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar punycode = __webpack_require__(15);\nvar util = __webpack_require__(42);\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = __webpack_require__(18);\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n\n\n/***/ }),\n/* 2 */,\n/* 3 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function ($) {\n\n $('.accordion-item').click(function () {\n if ($('section', this).css('display') == 'block') {\n $(this).find('section').slideUp(150);\n } else {\n $(this).find('section').slideDown(150);\n $(this).siblings('section').slideUp(150);\n }\n });\n\n $('.accordion-close-all').click(function (e) {\n\n $(this).parent().next().each(function () {\n $('section', this).slideUp(150);\n });\n });\n\n $('.accordion-open-all').click(function (e) {\n $(this).parent().next().each(function () {\n $('section', this).slideDown(150);\n });\n });\n});\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function ($) {\n\n $('#filter-dropdown option').each(function () {\n var $this = $(this);\n var year = $this.html().trim();\n var url = window.location.pathname.split('?')[0];\n\n if ($.isNumeric(year)) {\n // if(window.location.pathname == \"/recording_type/grant-recipient/\"){\n // console.log(\"You're on the grant recipient page\");\n // $this.attr(\"value\", \"/recording_type/grant-recipient/?mgyear=\"+year+\"\" );\n // }\n // if(window.location.pathname == \"/recording_type/webinar/\"){\n // console.log(\"You're on the webinar page\");\n // $this.attr(\"value\", \"/recording_type/webinar/?mgyear=\"+year+\"\" );\n // }\n\n // $this.attr(\"value\", url+\"?mgyear=\"+year );\n $this.attr(\"value\", year);\n }\n\n if ($this.html() == \"All\") {\n $this.attr(\"value\", url);\n }\n });\n});\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function ($) {\n\n $('.menu-toggle').on('click', function () {\n $('.site-header-menu').toggle();\n });\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_slick_carousel__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_slick_carousel___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_slick_carousel__);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function ($) {\n $('.publication').slick({\n centerMode: true,\n centerPadding: '60px',\n slidesToShow: 8,\n nextArrow: '',\n prevArrow: '',\n responsive: [{\n breakpoint: 1980,\n settings: {\n slidesToShow: 6\n }\n }, {\n breakpoint: 1600,\n settings: {\n slidesToShow: 4\n }\n }, {\n breakpoint: 800,\n settings: {\n arrows: false,\n centerMode: true,\n centerPadding: '40px',\n slidesToShow: 2\n }\n }, {\n breakpoint: 480,\n settings: {\n arrows: false,\n centerMode: true,\n centerPadding: '40px',\n slidesToShow: 1\n }\n }]\n });\n});\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function ($) {\n\n $('#reports-dropdown option').each(function () {\n var $this = $(this);\n var year = $this.html().trim();\n if ($.isNumeric(year.charAt(0))) {\n if (window.location.pathname == \"/community/chapters/annual-reports/\") {\n console.log(\"You're on the annual reports page\");\n $this.attr(\"value\", window.location.pathname + '?mgyear=' + year);\n }\n }\n });\n});\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function ($) {\n\n $('.aall-search').on('submit', function (e) {\n e.preventDefault();\n var searchPhrase = $(this).find('[name=s]').val();\n goToSearchResults(searchPhrase, \"\");\n });\n\n $('#advsearchform').on('submit', function (e) {\n e.preventDefault();\n var searchPhrase = $(this).find('[name=advs]').val();\n if (!searchPhrase) {\n searchPhrase = '*';\n }\n var searchFilters = '%7B%22facets%22:%5B';\n var subject = $.trim(encodeURI($(this).find('[name=Subject]').val()));\n var entity = $.trim(encodeURI($(this).find('[name=Entity]').val()));\n var contentType = $.trim(encodeURI($(this).find('[name=Content_Type]').val()));\n var format = encodeURI($(this).find('[name=Format]').val());\n var yearStart = encodeURI($(this).find('#yearStart').val());\n var yearEnd = encodeURI($(this).find('#yearEnd').val());\n if (subject) {\n searchFilters = searchFilters + '%22f.aall_subject.filter=' + subject + '%22';\n }\n if (entity) {\n if (subject || contentType) {\n searchFilters = searchFilters + ',';\n }\n searchFilters = searchFilters + '%22f.aall_entity.filter=' + entity + '%22';\n }\n if (contentType) {\n if (subject || entity) {\n searchFilters = searchFilters + ',';\n }\n searchFilters = searchFilters + '%22f.aall_type.filter=' + contentType + '%22';\n }\n if (format) {\n if (subject || entity || contentType) {\n searchFilters = searchFilters + ',';\n }\n searchFilters = searchFilters + '%22f.aall_type.contenttype=' + contentType + '%22';\n }\n searchFilters = searchFilters + '%5D%7D?sortBy=relevance';\n if (!subject && !entity && !contentType) {\n searchFilters = \"\";\n }\n if (yearStart && yearEnd) {\n if (!subject && !entity && !contentType) {\n searchFilters = searchFilters + '?startdate=' + yearStart + '-01-01' + '&enddate=' + yearEnd + '-12-31';\n } else {\n searchFilters = searchFilters + '&startdate=' + yearStart + '-01-01' + '&enddate=' + yearEnd + '-12-31';\n }\n }\n if (yearStart && !yearEnd) {\n if (!subject && !entity && !contentType) {\n searchFilters = searchFilters + '?startdate=' + yearStart + '-01-01' + '&enddate=' + '2050-12-31';\n } else {\n searchFilters = searchFilters + '&startdate=' + yearStart + '-01-01' + '&enddate=' + '2050-12-31';\n }\n }\n if (!yearStart && yearEnd) {\n if (!subject && !entity && !contentType) {\n searchFilters = searchFilters + '?startdate=' + '1901-01-01' + '&enddate=' + yearEnd + '-12-31';\n } else {\n searchFilters = searchFilters + '&startdate=' + '1901-01-01' + '&enddate=' + yearEnd + '-12-31';\n }\n }\n goToSearchResults(searchPhrase, searchFilters);\n //console.log(yearStart);\n });\n\n function goToSearchResults(searchPhrase, searchFilters) {\n var resultsUrl = '/search-results/#/';\n window.location.href = resultsUrl + encodeURIComponent(searchPhrase) + '/page=1/' + searchFilters;\n }\n});\n// %7B%22facets%22:%5B\n// %22f.aall_type.filter=eBriefing%22,\n// %22f.aall_entity.filter=Vendor%20Relations%22,\n// %22f.aall_subject.filter=w53q%22%5D%7D?sortBy=relevance\n// %7B%22contenttype%22\n\n// &facet.field=contenttype&f.contenttype.filter=pdf\n\n// %7B%22facets%22:%5B%22f.published.filter=2017-01-01%22%5D%7D?sortBy=relevance\n// %7B%22facets%22:%5B%22f.published.range=%5B2017-01-01TO2017-12-31%5D,%22f.published.filter=%5B2017-01-01TO2017-12-31%5D%22%5D%7D?sortBy=relevance\n// %7B%22facets%22:%5B%22f.aall_type.filter=eBriefing%22%5D%7D?sortBy=relevance\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function ($) {\n $('.side-nav').each(function () {\n $('.page_item_has_children').each(function () {\n $('ul', this).hide();\n $(this).append('');\n $('.current_page_ancestor > ul').show();\n $('.current_page_ancestor > .plus').addClass('active');\n });\n $('.plus').on('click', function () {\n $(this).prev().toggle();\n $(this).toggleClass('active');\n });\n });\n\n //opens sidenav for archive pages\n var archiveForElement = document.querySelector('[data-mg-archive-for]');\n if (archiveForElement) {\n var postId = $(archiveForElement).data('mg-archive-for');\n $('.side-nav').find('.page-item-' + postId).addClass('current_page_item').parents('ul').show();\n $('.current_page_item').parent().next().toggleClass('active');\n }\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = socialSharing;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_shariff__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_shariff___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_shariff__);\n/* global document:true */\n\n\n\n/**\n * Social Media sharing\n */\nfunction socialSharing($) {\n var services = [\"facebook\", \"twitter\", \"linkedin\", \"mail\"];\n var buttonsContainer = document.querySelector(\".share-options\");\n var jButtonsContainer = void 0;\n\n if (!buttonsContainer) return false;\n\n jButtonsContainer = $(buttonsContainer);\n new __WEBPACK_IMPORTED_MODULE_0_shariff___default.a(jButtonsContainer, {\n lang: \"en\",\n mailUrl: \"mailto:\",\n orientation: \"horizontal\",\n services: services,\n title: document.title\n });\n\n $(\".mg-share-trigger\").on(\"click\", function (e) {\n e.preventDefault();\n $(\".share-options\").slideToggle();\n\n var faItems = buttonsContainer.querySelectorAll(\".fa\");\n var solidIcons = [\"fa-envelope\"];\n faItems.forEach(function (element) {\n var isSolidIcon = solidIcons.some(function (icon) {\n return element.classList.contains(icon);\n });\n\n if (element.classList.contains(\"fa-twitter\")) {\n element.classList.remove(\"fa-twitter\");\n element.classList.add(\"fa-x-twitter\");\n }\n\n if (isSolidIcon) {\n element.classList.add(\"fa-solid\");\n } else {\n element.classList.add(\"fa-brands\");\n }\n });\n });\n}\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function ($) {\n\n var navTopOffset;\n $(function () {\n\n $('.mega-menu-heading > a').each(function () {\n $(this).attr('rel', 'nofollow');\n });\n\n //toggle main nav\n $(document).on('click', '.toggle-main-nav', function (e) {\n e.preventDefault();\n var $nav = $('.main-nav .top-level');\n $nav.toggleClass('showing');\n });\n\n //sub menus toggle on mobile\n $('.main-nav .top-level > li').each(function () {\n var $a = $(this).children('a'),\n $ul = $(this).children('ul');\n\n if ($ul.length) {\n $a.append('');\n }\n });\n\n $(document).on('click', '.main-nav .sub-nav-toggle', function (e) {\n e.preventDefault();\n e.stopPropagation();\n var $ul = $(this).closest('li').find('ul');\n\n if ($ul.hasClass('opened')) {\n $(this).removeClass('icon-minus-circle');\n } else {\n $(this).addClass('icon-minus-circle');\n }\n\n $ul.toggleClass('opened');\n });\n\n //for sticky main nav\n navTopOffset = $('.site-header-menu').offset().top;\n\n //update sticky header logo to larger image once dom is loaded\n\n\n $('.nav-logo img').attr('src', '/wp-content/uploads/2017/07/fill-26.png');\n\n //sticky nav - initial call\n var scrollDepth = $(window).scrollTop();\n stickyNav(scrollDepth);\n }); //dom ready\n\n $(window).on('scroll', function () {\n var scrollDepth = $(window).scrollTop();\n\n //sticky nav - on scroll\n stickyNav(scrollDepth);\n });\n\n function stickyNav(scrollDepth) {\n var $nav = $('.site-header-menu');\n\n if (scrollDepth >= navTopOffset) {\n $nav.addClass('stick-me');\n } else {\n $nav.removeClass('stick-me');\n }\n }\n});\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__js_sticky_nav__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__js_pub_slick_slider__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__js_nav__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__js_side_nav__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__js_accordion__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__js_archive__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__js_reports__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__js_search__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__js_social__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__sass_style_scss__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__sass_style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__sass_style_scss__);\n\n\n\n\n\n\n\n\n\n\n\n\n//execution\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__js_sticky_nav__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__js_pub_slick_slider__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__js_nav__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__js_side_nav__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__js_accordion__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__js_archive__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__js_reports__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__js_search__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__js_social__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttrue\n\t) {\n\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = function() {\n\t\t\treturn punycode;\n\t\t}.call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(43)(module), __webpack_require__(3)))\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.decode = exports.parse = __webpack_require__(16);\nexports.encode = exports.stringify = __webpack_require__(17);\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nif (typeof Object.assign !== 'function') {\n // jshint maxdepth:4\n Object.assign = function (target, varArgs) {\n // .length of function is 2\n if (target === null) {\n // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var to = Object(target);\n\n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n\n if (nextSource !== null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n };\n}\n\n/**\n * Initialization helper. This method is this module's exported entry point.\n * @param {string|Array|Element} selector - css selector, one element, array of nodes or html fragment\n * @param {node} [context=document] - context node in which to query\n * @returns {DOMQuery} A DOMQuery instance containing the selected set of nodes\n */\nfunction dq(selector, context) {\n var nodes = [];\n context = context || document;\n if (typeof selector === 'function') {\n if (context.attachEvent ? context.readyState === 'complete' : context.readyState !== 'loading') {\n selector();\n } else {\n context.addEventListener('DOMContentLoaded', selector);\n }\n } else if (selector instanceof Element) {\n nodes = [selector];\n } else if (typeof selector === 'string') {\n if (selector[0] === '<') {\n nodes = Array.prototype.slice.call(fragment(selector));\n } else {\n nodes = Array.prototype.slice.call(context.querySelectorAll(selector));\n }\n } else {\n nodes = selector;\n }\n return new DOMQuery(nodes, context);\n}\n\n/**\n * Contains a set of DOM nodes and provides methods to manipulate the nodes.\n * @constructor\n */\nfunction DOMQuery(elements, context) {\n this.length = elements.length;\n this.context = context;\n var self = this;\n each(elements, function (i) {\n self[i] = this;\n });\n}\n\n/**\n * Iterates through each node and calls the callback in its context.\n * @param {eachArrayCallback} callback - A function to be called with a node\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.each = function (callback) {\n for (var i = this.length - 1; i >= 0; i--) {\n callback.call(this[i], i, this[i]);\n }\n return this;\n};\n\n/**\n * Empties each node.\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.empty = function () {\n return this.each(empty);\n};\n\n/**\n * Sets the text content of each node. Returns the text content of the first node.\n * @param {string} [text] - The text content to set\n * @returns {DOMQuery|string}\n */\nDOMQuery.prototype.text = function (text) {\n if (text === undefined) {\n return this[0].textContent;\n }\n return this.each(function () {\n this.textContent = text;\n });\n};\n\n/**\n * Sets an attribute on each node. Returns the attribute's value of the first node.\n * @param {string} [name] - The attribute's name\n * @param {string} [value] - The value to set\n * @returns {DOMQuery|string}\n */\nDOMQuery.prototype.attr = function (name, value) {\n if (this.length < 1) {\n return null;\n }\n if (value === undefined) {\n return this[0].getAttribute(name);\n }\n return this.each(function () {\n this.setAttribute(name, value);\n });\n};\n\n/**\n * Sets a data attribute on each node. Returns the data attribute's value of the first node.\n * Supports deserialization of complex data types as values.\n * @param {string} [key] - The attribute's name\n * @param {string} [value] - The value to set\n * @returns {DOMQuery|string|Object}\n */\nDOMQuery.prototype.data = function (key, value) {\n if (value) {\n return this.attr('data-' + key, value);\n }\n if (key) {\n return this.attr('data-' + key);\n }\n var data = Object.assign({}, this[0].dataset);\n each(data, function (k, v) {\n data[k] = deserializeValue(v);\n });\n return data;\n};\n\n/**\n * Returns a new DOMQuery instance containing all matched nodes in the context\n * of the set of nodes.\n * @param {string} selector - The CSS selector\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.find = function (selector) {\n var matches;\n // querySelectorAll in the context of each element in the set\n matches = map(this, function (el) {\n return el.querySelectorAll(selector);\n });\n // convert NodeList matches into Array\n matches = map(matches, function (el) {\n return Array.prototype.slice.call(el);\n });\n // flatten the array\n matches = Array.prototype.concat.apply([], matches);\n return new DOMQuery(matches);\n};\n\n/**\n * Appends nodes to the end of the first node in the set.\n * @param {string|Array} html - Nodes to append. May be a string containing HTML.\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.append = function (html) {\n if (typeof html === 'string') {\n html = fragment(html);\n }\n append(this[0], html);\n return this;\n};\n\n/**\n * Prepends nodes at the top of the first node in the set.\n * @param {string|Array} html - Nodes to append. May be a string containing HTML.\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.prepend = function (html) {\n if (typeof html === 'string') {\n html = fragment(html);\n }\n prepend(this[0], html);\n return this;\n};\n\n/**\n * Adds a CSS class name to the nodes in the set.\n * @param {string} name - Class name to add\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.addClass = function (names) {\n return this.each(function () {\n var _classList;\n\n (_classList = this.classList).add.apply(_classList, _toConsumableArray(names.split(' ')));\n });\n};\n\n/**\n * Removes a CSS class name from the nodes in the set.\n * @param {string} name - Class name to remove\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.removeClass = function (name) {\n return this.each(function () {\n this.classList.remove(name);\n });\n};\n\n/**\n * Delegates an event for a node matching a selector to each element in the set.\n * @param {string} event - The event name\n * @param {string} selector - The CSS selector\n * @param {eventHandler} handler - The event handler function\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.on = function (event, selector, handler) {\n return this.each(function () {\n delegateEvent(selector, event, handler, this);\n });\n};\n\n/**\n * Removes each child of a node.\n * @private\n */\nvar empty = function empty() {\n while (this.hasChildNodes()) {\n this.removeChild(this.firstChild);\n }\n};\n\n/**\n * Callback function used for map(array, callback).\n *\n * @callback mapCallback\n * @param {Object} object - An element of the array\n * @return {Array}\n * @see map\n */\n\n/**\n * Runs a callback with each element in an array and returns a new array.\n * @param {Array} objects - The array to iterate\n * @param {function} callback - The callback function\n * @returns {Array}\n */\nvar map = function map(objects, callback) {\n return Array.prototype.map.call(objects, callback);\n};\n\n/**\n * Callback function used for each(array, callback).\n * Called in the context of each element in the array.\n *\n * @callback eachArrayCallback\n * @param {number} index - Index of the current array element\n * @param {object} value - Element of the array\n * @return {Array}\n * @see each\n */\n\n/**\n * Callback function used for each(object, callback).\n * Called in the context of each object property value.\n *\n * @callback eachObjectCallback\n * @param {Object} key - The object's property key\n * @param {object} value - The object's property value\n * @return {Array}\n * @see each\n */\n\n/**\n * Runs a callback with each element in an array or key-value pair of an object.\n * Returns the original object/array.\n * @param {Object} object - The object to itrate\n * @param {eachArrayCallback|eachObjectCallback} callback - The callback function\n * @returns {Array}\n */\nvar each = function each(object, callback) {\n if (object instanceof Array) {\n for (var i = 0; i < object.length; i++) {\n callback.call(object[i], i, object[i]);\n }\n } else if (object instanceof Object) {\n for (var prop in object) {\n callback.call(object[prop], prop, object[prop], object);\n }\n }\n return object;\n};\n\n/**\n * Constructs HTML nodes from a string of HTML.\n * @param {string} html - String of HTML code\n * @returns {Array}\n * @private\n */\nvar fragment = function fragment(html) {\n var div = document.createElement('div');\n div.innerHTML = html;\n return div.children;\n};\n\n/**\n * Appends an array of nodes to the end of an HTML element.\n * @param {Element} parent - Element to append to\n * @param {Array} nodes - Collection of nodes to append\n * @private\n */\nvar append = function append(parent, nodes) {\n for (var i = 0; i < nodes.length; i++) {\n parent.appendChild(nodes[i]);\n }\n};\n\n/**\n * Prepends an array of nodes to the top of an HTML element.\n * @param {Element} parent - Element to prepend to\n * @param {Array} nodes - Collection of nodes to prepend\n * @private\n */\nvar prepend = function prepend(parent, nodes) {\n for (var i = nodes.length - 1; i >= 0; i--) {\n parent.insertBefore(nodes[nodes.length - 1], parent.firstChild);\n }\n};\n\n/**\n * Returns the closest parent of a node matching a CSS selector.\n * @param {HTMLElement} element - Element to append to\n * @param {string} selector - CSS selector\n * @param {HTMLElement}\n * @private\n * @see {@link https://gist.github.com/Daniel-Hug/abbded91dd55466e590b}\n */\nvar closest = function () {\n var element = HTMLElement.prototype;\n var matches = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.msMatchesSelector;\n\n return function closest(element, selector) {\n if (element === null) return;\n return matches.call(element, selector) ? element : closest(element.parentElement, selector);\n };\n}();\n\n/**\n * An event handler.\n *\n * @callback eventHandler\n * @param {Event} event - The event this handler was triggered for\n */\n\n/**\n * Delegates an event for a node matching a selector.\n * @param {string} selector - The CSS selector\n * @param {string} event - The event name\n * @param {eventHandler} handler - The event handler function\n * @param {HTMLElement} [scope=document] - Element to add the event listener to\n * @private\n */\nvar delegateEvent = function delegateEvent(selector, event, handler, scope) {\n (scope || document).addEventListener(event, function (event) {\n var listeningTarget = closest(event.target, selector);\n if (listeningTarget) {\n handler.call(listeningTarget, event);\n }\n });\n};\n\n/**\n * Extends properties of all arguments into a single object.\n * @param {...Object} objects - Objects to merge\n * @param {string} event - The event name\n * @param {function} handler - The event handler function\n * @returns {Object}\n * @see {@link https://gomakethings.com/vanilla-javascript-version-of-jquery-extend/}\n */\nvar extend = function extend(objects) {\n // Variables\n var extended = {};\n var deep = false;\n var i = 0;\n var length = arguments.length;\n\n // Check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n\n // Merge the object into the extended object\n var merge = function merge(obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // If deep merge and property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = extend(true, extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n\n // Loop through each object and conduct a merge\n for (; i < length; i++) {\n var obj = arguments[i];\n merge(obj);\n }\n\n return extended;\n};\n\n/**\n * The callback function for getJSON().\n *\n * @callback xhrCallback\n * @param {boolean} success - True on success. False on error.\n * @param {Object} data - The parsed data. null if success == false\n * @param {XMLHttpRequest} xhr - The request object\n * @see getJSON\n */\n\n/**\n * Runs an Ajax request against a url and calls the callback function with\n * the parsed JSON result.\n * @param {string} url - The url to request\n * @param {xhrCallback} callback - The callback function\n * @returns {XMLHttpRequest}\n */\nvar getJSON = function getJSON(url, callback) {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, true);\n xhr.setRequestHeader('Content-Type', 'application/json');\n xhr.setRequestHeader('Accept', 'application/json');\n\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 400) {\n var data = JSON.parse(xhr.responseText);\n callback(data, xhr.status, xhr);\n } else {\n callback(null, xhr.status, xhr);\n }\n };\n\n xhr.onerror = function (e) {\n callback(new Error(e), null, xhr);\n };\n\n xhr.send();\n};\n\n/**\n * Deserializes JSON values from strings. Used with data attributes.\n * @param {string} value - String to parse\n * @returns {Object}\n * @private\n */\nvar deserializeValue = function deserializeValue(value) {\n /* jshint maxcomplexity:7 */\n // boolean\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n // null\n if (value === 'null') {\n return null;\n }\n // number\n if (+value + '' === value) {\n return +value;\n }\n // json\n if (/^[[{]/.test(value)) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n // everything else\n return value;\n};\n\ndq.extend = extend;\ndq.map = map;\ndq.each = each;\ndq.getJSON = getJSON;\n\nmodule.exports = dq;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'addthis',\n faName: 'fa-plus',\n title: {\n 'bg': 'Сподели в AddThis',\n 'da': 'Del p? AddThis',\n 'de': 'Bei AddThis teilen',\n 'en': 'Share on AddThis',\n 'es': 'Compartir en AddThis',\n 'fi': 'Jaa AddThisiss?',\n 'fr': 'Partager sur AddThis',\n 'hr': 'Podijelite na AddThis',\n 'hu': 'Megosztás AddThisen',\n 'it': 'Condividi su AddThis',\n 'ja': 'AddThis上で共有',\n 'ko': 'AddThis?? ????',\n 'nl': 'Delen op AddThis',\n 'no': 'Del p? AddThis',\n 'pl': 'Udost?pnij przez AddThis',\n 'pt': 'Compartilhar no AddThis',\n 'ro': 'Partajeaz? pe AddThis',\n 'ru': 'Поделиться на AddThis',\n 'sk': 'Zdie?a? na AddThis',\n 'sl': 'Deli na AddThis',\n 'sr': 'Podeli na AddThis',\n 'sv': 'Dela p? AddThis',\n 'tr': 'AddThis\\'ta payla?',\n 'zh': '在AddThis上分享'\n },\n shareUrl: 'http://api.addthis.com/oexchange/0.8/offer?url=' + url + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar url = __webpack_require__(1);\n\nmodule.exports = function (shariff) {\n var shareUrl = url.parse('https://share.diasporafoundation.org/', true);\n shareUrl.query.url = shariff.getURL();\n shareUrl.query.title = shariff.getTitle();\n shareUrl.protocol = 'https';\n delete shareUrl.search;\n\n return {\n popup: true,\n shareText: {\n 'de': 'teilen',\n 'en': 'share',\n 'zh': '分享'\n },\n name: 'diaspora',\n faName: 'fa-asterisk',\n title: {\n 'de': 'Bei Diaspora teilen',\n 'en': 'Share on Diaspora',\n 'zh': '分享至Diaspora'\n },\n shareUrl: url.format(shareUrl) + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'facebook',\n faName: 'fa-facebook',\n title: {\n 'bg': 'Сподели във Facebook',\n 'da': 'Del p? Facebook',\n 'de': 'Bei Facebook teilen',\n 'en': 'Share on Facebook',\n 'es': 'Compartir en Facebook',\n 'fi': 'Jaa Facebookissa',\n 'fr': 'Partager sur Facebook',\n 'hr': 'Podijelite na Facebooku',\n 'hu': 'Megosztás Facebookon',\n 'it': 'Condividi su Facebook',\n 'ja': 'フェイスブック上で共有',\n 'ko': '?????? ????',\n 'nl': 'Delen op Facebook',\n 'no': 'Del p? Facebook',\n 'pl': 'Udost?pnij na Facebooku',\n 'pt': 'Compartilhar no Facebook',\n 'ro': 'Partajeaz? pe Facebook',\n 'ru': 'Поделиться на Facebook',\n 'sk': 'Zdie?a? na Facebooku',\n 'sl': 'Deli na Facebooku',\n 'sr': 'Podeli na Facebook-u',\n 'sv': 'Dela p? Facebook',\n 'tr': 'Facebook\\'ta payla?',\n 'zh': '在Facebook上分享'\n },\n shareUrl: 'https://www.facebook.com/sharer/sharer.php?u=' + url + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n var title = shariff.getTitle();\n var description = shariff.getMeta('description');\n\n return {\n popup: true,\n shareText: 'Flattr',\n name: 'flattr',\n faName: 'fa-money',\n title: {\n 'de': 'Artikel flattrn',\n 'en': 'Flattr this'\n },\n shareUrl: 'https://flattr.com/submit/auto?title=' + encodeURIComponent(title) + '&description=' + encodeURIComponent(description) + '&category=' + encodeURIComponent(shariff.options.flattrCategory || 'text') + '&user_id=' + encodeURIComponent(shariff.options.flattrUser) + '&url=' + url + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'googleplus',\n faName: 'fa-google-plus',\n title: {\n 'bg': 'Сподели в Google+',\n 'da': 'Del p? Google+',\n 'de': 'Bei Google+ teilen',\n 'en': 'Share on Google+',\n 'es': 'Compartir en Google+',\n 'fi': 'Jaa Google+:ssa',\n 'fr': 'Partager sur Goolge+',\n 'hr': 'Podijelite na Google+',\n 'hu': 'Megosztás Google+on',\n 'it': 'Condividi su Google+',\n 'ja': 'Google+上で共有',\n 'ko': 'Google+?? ????',\n 'nl': 'Delen op Google+',\n 'no': 'Del p? Google+',\n 'pl': 'Udost?pnij na Google+',\n 'pt': 'Compartilhar no Google+',\n 'ro': 'Partajeaz? pe Google+',\n 'ru': 'Поделиться на Google+',\n 'sk': 'Zdie?a? na Google+',\n 'sl': 'Deli na Google+',\n 'sr': 'Podeli na Google+',\n 'sv': 'Dela p? Google+',\n 'tr': 'Google+\\'da payla?',\n 'zh': '在Google+上分享'\n },\n shareUrl: 'https://plus.google.com/share?url=' + url + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n addthis: __webpack_require__(20),\n diaspora: __webpack_require__(21),\n facebook: __webpack_require__(22),\n flattr: __webpack_require__(23),\n googleplus: __webpack_require__(24),\n info: __webpack_require__(26),\n linkedin: __webpack_require__(27),\n mail: __webpack_require__(28),\n pinterest: __webpack_require__(29),\n print: __webpack_require__(30),\n qzone: __webpack_require__(31),\n reddit: __webpack_require__(32),\n stumbleupon: __webpack_require__(33),\n tencent: __webpack_require__(34),\n threema: __webpack_require__(35),\n tumblr: __webpack_require__(36),\n twitter: __webpack_require__(37),\n weibo: __webpack_require__(38),\n whatsapp: __webpack_require__(39),\n xing: __webpack_require__(40)\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n return {\n blank: true,\n popup: false,\n shareText: 'Info',\n name: 'info',\n faName: 'fa-info',\n title: {\n 'de': 'weitere Informationen',\n 'en': 'more information',\n 'es': 'más informaciones',\n 'fr': 'plus d\\'informations',\n 'it': 'maggiori informazioni',\n 'da': 'flere oplysninger',\n 'nl': 'verdere informatie',\n 'zh': '更多信息'\n },\n shareUrl: shariff.getInfoUrl()\n };\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n var title = encodeURIComponent(shariff.getTitle());\n var descr = encodeURIComponent(shariff.getMeta('description'));\n return {\n popup: true,\n shareText: {\n 'de': 'mitteilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': 'シェア',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'distribui?i',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'linkedin',\n faName: 'fa-linkedin',\n title: {\n 'bg': 'Сподели в LinkedIn',\n 'da': 'Del p? LinkedIn',\n 'de': 'Bei LinkedIn teilen',\n 'en': 'Share on LinkedIn',\n 'es': 'Compartir en LinkedIn',\n 'fi': 'Jaa LinkedIniss?',\n 'fr': 'Partager sur LinkedIn',\n 'hr': 'Podijelite na LinkedIn',\n 'hu': 'Megosztás LinkedInen',\n 'it': 'Condividi su LinkedIn',\n 'ja': 'LinkedIn上で共有',\n 'ko': 'LinkedIn?? ????',\n 'nl': 'Delen op LinkedIn',\n 'no': 'Del p? LinkedIn',\n 'pl': 'Udost?pnij przez LinkedIn',\n 'pt': 'Compartilhar no LinkedIn',\n 'ro': 'Partajeaz? pe LinkedIn',\n 'ru': 'Поделиться на LinkedIn',\n 'sk': 'Zdie?a? na LinkedIn',\n 'sl': 'Deli na LinkedIn',\n 'sr': 'Podeli na LinkedIn-u',\n 'sv': 'Dela p? LinkedIn',\n 'tr': 'LinkedIn\\'ta payla?',\n 'zh': '在LinkedIn上分享'\n },\n shareUrl: 'https://www.linkedin.com/shareArticle?mini=true&summary=' + descr + '&title=' + title + '&url=' + url\n };\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = shariff.getOption('mailUrl');\n\n // mailto: link? Add body and subject.\n if (url.indexOf('mailto:') === 0) {\n url += '?subject=' + encodeURIComponent(shariff.getTitle());\n url += '&body=' + encodeURIComponent(shariff.getOption('mailBody').replace(/\\{url\\}/i, shariff.getURL()));\n }\n\n return {\n blank: url.indexOf('http') === 0,\n popup: false,\n shareText: {\n 'en': 'mail',\n 'zh': '分享'\n },\n name: 'mail',\n faName: 'fa-envelope',\n title: {\n 'bg': 'Изпрати по имейл',\n 'da': 'Sende via e-mail',\n 'de': 'Per E-Mail versenden',\n 'en': 'Send by email',\n 'es': 'Enviar por email',\n 'fi': 'L?het? s?hk?postitse',\n 'fr': 'Envoyer par courriel',\n 'hr': 'Po?aljite emailom',\n 'hu': 'Elküldés e-mailben',\n 'it': 'Inviare via email',\n 'ja': '電子メールで送信',\n 'ko': '???? ???',\n 'nl': 'Sturen via e-mail',\n 'no': 'Send via epost',\n 'pl': 'Wy?lij e-mailem',\n 'pt': 'Enviar por e-mail',\n 'ro': 'Trimite prin e-mail',\n 'ru': 'Отправить по эл. почте',\n 'sk': 'Posla? e-mailom',\n 'sl': 'Po?lji po elektronski po?ti',\n 'sr': 'Po?alji putem email-a',\n 'sv': 'Skicka via e-post',\n 'tr': 'E-posta ile g?nder',\n 'zh': '通过电子邮件传送'\n },\n shareUrl: url\n };\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar url = __webpack_require__(1);\n\nmodule.exports = function (shariff) {\n var title = shariff.getTitle();\n var creator = shariff.getMeta('DC.creator');\n if (creator.length > 0) {\n title += ' - ' + creator;\n }\n var img = shariff.getOption('mediaUrl');\n if (!img || img.length <= 0) {\n img = shariff.getMeta('og:image');\n }\n\n var shareUrl = url.parse('https://www.pinterest.com/pin/create/link/', true);\n shareUrl.query.url = shariff.getURL();\n shareUrl.query.media = img;\n shareUrl.query.description = title;\n delete shareUrl.search;\n\n return {\n popup: true,\n shareText: 'pin it',\n name: 'pinterest',\n faName: 'fa-pinterest-p',\n title: {\n 'de': 'Bei Pinterest pinnen',\n 'en': 'Pin it on Pinterest',\n 'es': 'Compartir en Pinterest',\n 'fr': 'Partager sur Pinterest',\n 'it': 'Condividi su Pinterest',\n 'da': 'Del p? Pinterest',\n 'nl': 'Delen op Pinterest',\n 'zh': '分享至Pinterest'\n },\n shareUrl: url.format(shareUrl) + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* jshint scripturl:true */\n\n\nmodule.exports = function (shariff) {\n var url = 'javascript:window.print();';\n\n return {\n name: 'print',\n faName: 'fa-print',\n popup: false,\n shareText: {\n 'bg': '',\n 'da': '',\n 'de': 'drucken',\n 'en': 'print',\n 'es': '',\n 'fi': '',\n 'fr': '',\n 'hr': '',\n 'hu': '',\n 'it': '',\n 'ja': '',\n 'ko': '',\n 'nl': '',\n 'no': '',\n 'pl': '',\n 'pt': '',\n 'ro': '',\n 'ru': '',\n 'sk': '',\n 'sl': '',\n 'sr': '',\n 'sv': '',\n 'tr': '',\n 'zh': ''\n },\n title: {\n 'bg': '',\n 'da': '',\n 'de': 'drucken',\n 'en': 'print',\n 'es': '',\n 'fi': '',\n 'fr': '',\n 'hr': '',\n 'hu': '',\n 'it': '',\n 'ja': '',\n 'ko': '',\n 'nl': '',\n 'no': '',\n 'pl': '',\n 'pt': '',\n 'ro': '',\n 'ru': '',\n 'sk': '',\n 'sl': '',\n 'sr': '',\n 'sv': '',\n 'tr': '',\n 'zh': ''\n },\n shareUrl: url\n };\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'qzone',\n faName: 'fa-qq',\n title: {\n 'de': 'Bei Qzone teilen',\n 'en': 'Share on Qzone',\n 'zh': '分享至QQ空间'\n },\n shareUrl: 'http://sns.qzone./cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&title=' + title + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n var title = encodeURIComponent(shariff.getTitle());\n\n if (title !== '') {\n title = '&title=' + title;\n }\n\n return {\n popup: true,\n shareText: {\n 'de': 'teilen',\n 'en': 'share',\n 'zh': '分享'\n },\n name: 'reddit',\n faName: 'fa-reddit',\n title: {\n 'de': 'Bei Reddit teilen',\n 'en': 'Share on Reddit',\n 'zh': '分享至Reddit'\n },\n shareUrl: 'https://reddit.com/submit?url=' + url + title + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n var title = encodeURIComponent(shariff.getTitle());\n\n if (title !== '') {\n title = '&title=' + title;\n }\n\n return {\n popup: true,\n shareText: {\n 'de': 'teilen',\n 'en': 'share',\n 'zh': '分享'\n },\n name: 'stumbleupon',\n faName: 'fa-stumbleupon',\n title: {\n 'de': 'Bei Stumbleupon teilen',\n 'en': 'Share on Stumbleupon',\n 'zh': '分享至Stumbleupon'\n },\n shareUrl: 'https://www.stumbleupon.com/submit?url=' + url + title + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'tencent-weibo',\n faName: 'fa-tencent-weibo',\n title: {\n 'de': 'Bei tencent weibo teilen',\n 'en': 'Share on tencent weibo',\n 'zh': '分享至腾讯微博'\n },\n shareUrl: 'http://v.t./share/share.php?url=' + url + '&title=' + title + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: false,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'threema',\n faName: 'fa-lock',\n title: {\n 'bg': 'Сподели в Threema',\n 'da': 'Del p? Threema',\n 'de': 'Bei Threema teilen',\n 'en': 'Share on Threema',\n 'es': 'Compartir en Threema',\n 'fi': 'Jaa Threemaiss?',\n 'fr': 'Partager sur Threema',\n 'hr': 'Podijelite na Threema',\n 'hu': 'Megosztás Threemaen',\n 'it': 'Condividi su Threema',\n 'ja': 'Threema上で共有',\n 'ko': 'Threema?? ????',\n 'nl': 'Delen op Threema',\n 'no': 'Del p? Threema',\n 'pl': 'Udost?pnij przez Threema',\n 'pt': 'Compartilhar no Threema',\n 'ro': 'Partajeaz? pe Threema',\n 'ru': 'Поделиться на Threema',\n 'sk': 'Zdie?a? na Threema',\n 'sl': 'Deli na Threema',\n 'sr': 'Podeli na Threema-u',\n 'sv': 'Dela p? Threema',\n 'tr': 'Threema\\'ta payla?',\n 'zh': '在Threema上分享'\n },\n shareUrl: 'threema://compose?text=' + encodeURIComponent(title) + '%20' + url + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'tumblr',\n faName: 'fa-tumblr',\n title: {\n 'bg': 'Сподели в tumblr',\n 'da': 'Del p? tumblr',\n 'de': 'Bei tumblr teilen',\n 'en': 'Share on tumblr',\n 'es': 'Compartir en tumblr',\n 'fi': 'Jaa tumblriss?',\n 'fr': 'Partager sur tumblr',\n 'hr': 'Podijelite na tumblr',\n 'hu': 'Megosztás tumblren',\n 'it': 'Condividi su tumblr',\n 'ja': 'tumblr上で共有',\n 'ko': 'tumblr?? ????',\n 'nl': 'Delen op tumblr',\n 'no': 'Del p? tumblr',\n 'pl': 'Udost?pnij przez tumblr',\n 'pt': 'Compartilhar no tumblr',\n 'ro': 'Partajeaz? pe tumblr',\n 'ru': 'Поделиться на tumblr',\n 'sk': 'Zdie?a? na tumblr',\n 'sl': 'Deli na tumblr',\n 'sr': 'Podeli na tumblr-u',\n 'sv': 'Dela p? tumblr',\n 'tr': 'tumblr\\'ta payla?',\n 'zh': '在tumblr上分享'\n },\n shareUrl: 'http://tumblr.com/widgets/share/tool?canonicalUrl=' + url + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar url = __webpack_require__(1);\n\n// abbreviate at last blank before length and add \"\\u2026\" (horizontal ellipsis)\nvar abbreviateText = function abbreviateText(text, length) {\n var div = document.createElement('div');\n div.innerHTML = text;\n var abbreviated = div.textContent;\n if (abbreviated.length <= length) {\n return text;\n }\n\n var lastWhitespaceIndex = abbreviated.substring(0, length - 1).lastIndexOf(' ');\n abbreviated = abbreviated.substring(0, lastWhitespaceIndex) + '\\u2026';\n\n return abbreviated;\n};\n\nmodule.exports = function (shariff) {\n var shareUrl = url.parse('https://twitter.com/intent/tweet', true);\n\n var title = shariff.getTitle();\n\n // 120 is the max character count left after twitters automatic url shortening with t.co\n shareUrl.query.text = abbreviateText(title, 120);\n shareUrl.query.url = shariff.getURL();\n if (shariff.options.twitterVia !== null) {\n shareUrl.query.via = shariff.options.twitterVia;\n }\n delete shareUrl.search;\n\n return {\n popup: true,\n shareText: {\n 'en': 'tweet',\n 'zh': '分享'\n },\n name: 'twitter',\n faName: 'fa-twitter',\n title: {\n 'bg': 'Сподели в Twitter',\n 'da': 'Del p? Twitter',\n 'de': 'Bei Twitter teilen',\n 'en': 'Share on Twitter',\n 'es': 'Compartir en Twitter',\n 'fi': 'Jaa Twitteriss?',\n 'fr': 'Partager sur Twitter',\n 'hr': 'Podijelite na Twitteru',\n 'hu': 'Megosztás Twitteren',\n 'it': 'Condividi su Twitter',\n 'ja': 'ツイッター上で共有',\n 'ko': '????? ????',\n 'nl': 'Delen op Twitter',\n 'no': 'Del p? Twitter',\n 'pl': 'Udost?pnij na Twitterze',\n 'pt': 'Compartilhar no Twitter',\n 'ro': 'Partajeaz? pe Twitter',\n 'ru': 'Поделиться на Twitter',\n 'sk': 'Zdie?a? na Twitteri',\n 'sl': 'Deli na Twitterju',\n 'sr': 'Podeli na Twitter-u',\n 'sv': 'Dela p? Twitter',\n 'tr': 'Twitter\\'da payla?',\n 'zh': '在Twitter上分享'\n },\n // shareUrl: 'https://twitter.com/intent/tweet?text='+ shariff.getShareText() + '&url=' + url\n shareUrl: url.format(shareUrl) + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'weibo',\n faName: 'fa-weibo',\n title: {\n 'de': 'Bei weibo teilen',\n 'en': 'Share on weibo',\n 'zh': '分享至新浪微博'\n },\n shareUrl: 'http://service.weibo.com/share/share.php?url=' + url + '&title=' + title + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: false,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'whatsapp',\n faName: 'fa-whatsapp',\n title: {\n 'bg': 'Сподели в Whatsapp',\n 'da': 'Del p? Whatsapp',\n 'de': 'Bei Whatsapp teilen',\n 'en': 'Share on Whatsapp',\n 'es': 'Compartir en Whatsapp',\n 'fi': 'Jaa WhatsAppiss?',\n 'fr': 'Partager sur Whatsapp',\n 'hr': 'Podijelite na Whatsapp',\n 'hu': 'Megosztás WhatsAppen',\n 'it': 'Condividi su Whatsapp',\n 'ja': 'Whatsapp上で共有',\n 'ko': 'Whatsapp?? ????',\n 'nl': 'Delen op Whatsapp',\n 'no': 'Del p? Whatsapp',\n 'pl': 'Udost?pnij przez WhatsApp',\n 'pt': 'Compartilhar no Whatsapp',\n 'ro': 'Partajeaz? pe Whatsapp',\n 'ru': 'Поделиться на Whatsapp',\n 'sk': 'Zdie?a? na Whatsapp',\n 'sl': 'Deli na Whatsapp',\n 'sr': 'Podeli na WhatsApp-u',\n 'sv': 'Dela p? Whatsapp',\n 'tr': 'Whatsapp\\'ta payla?',\n 'zh': '在Whatsapp上分享'\n },\n shareUrl: 'whatsapp://send?text=' + encodeURIComponent(title) + '%20' + url + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n return {\n popup: true,\n shareText: {\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fr': 'partager',\n 'it': 'condividi',\n 'da': 'del',\n 'nl': 'delen',\n 'zh': '分享'\n },\n name: 'xing',\n faName: 'fa-xing',\n title: {\n 'de': 'Bei XING teilen',\n 'en': 'Share on XING',\n 'es': 'Compartir en XING',\n 'fr': 'Partager sur XING',\n 'it': 'Condividi su XING',\n 'da': 'Del p? XING',\n 'nl': 'Delen op XING',\n 'zh': '分享至XING'\n },\n shareUrl: 'https://www.xing.com/social_plugins/share?url=' + url + shariff.getReferrerTrack()\n };\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\n// require('babel-polyfill')\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar $ = __webpack_require__(19);\nvar services = __webpack_require__(25);\nvar url = __webpack_require__(1);\n\n// Defaults may be overridden either by passing \"options\" to Shariff constructor\n// or by setting data attributes.\nvar Defaults = {\n theme: 'color',\n\n // URL to backend that requests social counts. null means \"disabled\"\n backendUrl: null,\n\n // Link to the \"about\" page\n infoUrl: 'http://ct.de/-2467514',\n\n // localisation: \"de\" or \"en\"\n lang: 'de',\n\n // fallback language for not fully localized services\n langFallback: 'en',\n\n mailUrl: function mailUrl() {\n var shareUrl = url.parse(this.getURL(), true);\n shareUrl.query.view = 'mail';\n delete shareUrl.search;\n return url.format(shareUrl);\n },\n\n mailBody: function mailBody() {\n return this.getURL();\n },\n\n // Media (e.g. image) URL to be shared\n mediaUrl: null,\n\n // horizontal/vertical\n orientation: 'horizontal',\n\n // a string to suffix current URL\n referrerTrack: null,\n\n // services to be enabled in the following order\n services: ['twitter', 'facebook', 'googleplus', 'info'],\n\n title: function title() {\n return $('head title').text();\n },\n\n twitterVia: null,\n\n flattrUser: null,\n\n flattrCategory: null,\n\n // build URI from rel=\"canonical\" or document.location\n url: function url() {\n var url = global.document.location.href;\n var canonical = $('link[rel=canonical]').attr('href') || this.getMeta('og:url') || '';\n\n if (canonical.length > 0) {\n if (canonical.indexOf('http') < 0) {\n canonical = global.document.location.protocol + '//' + global.document.location.host + canonical;\n }\n url = canonical;\n }\n\n return url;\n }\n};\n\nvar Shariff = function () {\n function Shariff(element, options) {\n var _this = this;\n\n _classCallCheck(this, Shariff);\n\n // the DOM element that will contain the buttons\n this.element = element;\n\n // Ensure elemnt is empty\n $(element).empty();\n\n this.options = $.extend({}, Defaults, options, $(element).data());\n\n // filter available services to those that are enabled and initialize them\n this.services = Object.keys(services).filter(function (service) {\n return _this.isEnabledService(service);\n }).sort(function (a, b) {\n var services = _this.options.services;\n return services.indexOf(a) - services.indexOf(b);\n }).map(function (serviceName) {\n return services[serviceName](_this);\n });\n\n this._addButtonList();\n\n if (this.options.backendUrl !== null) {\n this.getShares(this._updateCounts.bind(this));\n }\n }\n\n _createClass(Shariff, [{\n key: 'isEnabledService',\n value: function isEnabledService(serviceName) {\n return this.options.services.indexOf(serviceName) > -1;\n }\n }, {\n key: '$socialshareElement',\n value: function $socialshareElement() {\n return $(this.element);\n }\n }, {\n key: 'getLocalized',\n value: function getLocalized(data, key) {\n if (_typeof(data[key]) === 'object') {\n if (typeof data[key][this.options.lang] === 'undefined') {\n return data[key][this.options.langFallback];\n } else {\n return data[key][this.options.lang];\n }\n } else if (typeof data[key] === 'string') {\n return data[key];\n }\n return undefined;\n }\n\n // returns content of tags or '' if empty/non existant\n\n }, {\n key: 'getMeta',\n value: function getMeta(name) {\n var metaContent = $('meta[name=\"' + name + '\"],[property=\"' + name + '\"]').attr('content');\n return metaContent || '';\n }\n }, {\n key: 'getInfoUrl',\n value: function getInfoUrl() {\n return this.options.infoUrl;\n }\n }, {\n key: 'getURL',\n value: function getURL() {\n return this.getOption('url');\n }\n }, {\n key: 'getOption',\n value: function getOption(name) {\n var option = this.options[name];\n return typeof option === 'function' ? option.call(this) : option;\n }\n }, {\n key: 'getTitle',\n value: function getTitle() {\n var title = this.getOption('title') || this.getMeta('DC.title');\n var creator = this.getMeta('DC.creator');\n if (title && creator) title = title + ' - ' + creator;\n return title;\n }\n }, {\n key: 'getReferrerTrack',\n value: function getReferrerTrack() {\n return this.options.referrerTrack || '';\n }\n\n // returns shareCounts of document\n\n }, {\n key: 'getShares',\n value: function getShares(callback) {\n var baseUrl = url.parse(this.options.backendUrl, true);\n baseUrl.query.url = this.getURL();\n delete baseUrl.search;\n return $.getJSON(url.format(baseUrl), callback);\n }\n\n // add value of shares for each service\n\n }, {\n key: '_updateCounts',\n value: function _updateCounts(data, status, xhr) {\n var _this2 = this;\n\n if (!data) return;\n $.each(data, function (serviceName, value) {\n if (!_this2.isEnabledService(serviceName)) {\n return;\n }\n if (value >= 1000) {\n value = Math.round(value / 1000) + 'k';\n }\n $(_this2.element).find('.' + serviceName + ' a').append($('').addClass('share_count').text(value));\n });\n }\n\n // add html for button-container\n\n }, {\n key: '_addButtonList',\n value: function _addButtonList() {\n var _this3 = this;\n\n var $buttonList = $('').addClass(['theme-' + this.options.theme, 'orientation-' + this.options.orientation, 'col-' + this.options.services.length].join(' '));\n\n // add html for service-links\n this.services.forEach(function (service) {\n var $li = $('').addClass('shariff-button ' + service.name);\n var $shareText = $('').addClass('share_text').text(_this3.getLocalized(service, 'shareText'));\n\n var $shareLink = $('').attr('href', service.shareUrl).append($shareText);\n\n if (typeof service.faName !== 'undefined') {\n $shareLink.prepend($('').addClass('fa ' + service.faName));\n }\n\n if (service.popup) {\n $shareLink.attr('data-rel', 'popup');\n } else if (service.blank) {\n $shareLink.attr('target', '_blank');\n }\n $shareLink.attr('title', _this3.getLocalized(service, 'title'));\n\n // add attributes for screen readers\n $shareLink.attr('role', 'button');\n $shareLink.attr('aria-label', _this3.getLocalized(service, 'title'));\n\n $li.append($shareLink);\n\n $buttonList.append($li);\n });\n\n // event delegation\n $buttonList.on('click', '[data-rel=\"popup\"]', function (e) {\n e.preventDefault();\n\n var url = $(this).attr('href');\n\n // if a twitter widget is embedded on current site twitter's widget.js\n // will open a popup so we should not open a second one.\n if (url.match(/twitter\\.com\\/intent\\/(\\w+)/)) {\n var w = global.window;\n if (w.__twttr && w.__twttr.widgets && w.__twttr.widgets.loaded) {\n return;\n }\n }\n\n global.window.open(url, '_blank', 'width=600,height=460');\n });\n\n this.$socialshareElement().append($buttonList);\n }\n }]);\n\n return Shariff;\n}();\n\nmodule.exports = Shariff;\n\n// export Shariff class to global (for non-Node users)\nglobal.Shariff = Shariff;\n\n$(function () {\n // initialize .shariff elements\n $('.shariff').each(function () {\n if (!this.hasOwnProperty('shariff')) {\n this.shariff = new Shariff(this);\n }\n });\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n/***/ })\n],[14]);\n\n\n// WEBPACK FOOTER //\n// site.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/url/url.js\n// module id = 1\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","export default function($) {\n\n $('.accordion-item').click(function() {\n if($('section', this).css('display') == 'block'){\n $(this).find('section').slideUp(150);\n } \n else {\n $(this).find('section').slideDown(150);\n $(this).siblings('section').slideUp(150);\n }\n });\n\n $('.accordion-close-all').click(function(e){\n \n $(this).parent().next().each(function(){\n $('section', this).slideUp(150);\n });\n\n });\n \n $('.accordion-open-all').click(function(e){ \n $(this).parent().next().each(function(){\n $('section', this).slideDown(150);\n });\n });\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/accordion.js","export default function($) {\n \n $('#filter-dropdown option').each(function(){\n var $this = $(this);\n var year = $this.html().trim();\n var url = window.location.pathname.split('?')[0];\n\n if($.isNumeric(year)){\n // if(window.location.pathname == \"/recording_type/grant-recipient/\"){\n // console.log(\"You're on the grant recipient page\");\n // $this.attr(\"value\", \"/recording_type/grant-recipient/?mgyear=\"+year+\"\" );\n // }\n // if(window.location.pathname == \"/recording_type/webinar/\"){\n // console.log(\"You're on the webinar page\");\n // $this.attr(\"value\", \"/recording_type/webinar/?mgyear=\"+year+\"\" );\n // }\n \n // $this.attr(\"value\", url+\"?mgyear=\"+year );\n $this.attr(\"value\", year );\n }\n \n if($this.html() == \"All\"){\n $this.attr(\"value\", url );\n }\n })\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/js/archive.js","export default function($) {\n\n $('.menu-toggle').on('click',function(){\n $('.site-header-menu').toggle();\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/nav.js","import slick from 'slick-carousel';\n\nexport default function ($) {\n $('.publication').slick({\n centerMode: true,\n centerPadding: '60px',\n slidesToShow: 8,\n nextArrow: '',\n prevArrow: '',\n responsive: [\n {\n breakpoint: 1980,\n settings: {\n slidesToShow: 6\n }\n },\n {\n breakpoint: 1600,\n settings: {\n slidesToShow: 4\n }\n },\n {\n breakpoint: 800,\n settings: {\n arrows: false,\n centerMode: true,\n centerPadding: '40px',\n slidesToShow: 2\n }\n },\n {\n breakpoint: 480,\n settings: {\n arrows: false,\n centerMode: true,\n centerPadding: '40px',\n slidesToShow: 1\n }\n }\n ]\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/pub-slick-slider.js","export default function($) {\n \n $('#reports-dropdown option').each(function(){\n var $this = $(this);\n var year = $this.html().trim();\n if($.isNumeric(year.charAt(0))){\n if(window.location.pathname == \"/community/chapters/annual-reports/\"){\n console.log(\"You're on the annual reports page\");\n $this.attr(\"value\", window.location.pathname+'?mgyear='+year );\n }\n }\n })\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/js/reports.js","export default function($) {\n\n $('.aall-search').on('submit', function(e) {\n e.preventDefault();\n var searchPhrase = $(this).find('[name=s]').val();\n goToSearchResults(searchPhrase, \"\");\n });\n\n $('#advsearchform').on('submit', function(e) {\n e.preventDefault();\n var searchPhrase = $(this).find('[name=advs]').val();\n if(!searchPhrase){\n searchPhrase = '*';\n }\n var searchFilters = '%7B%22facets%22:%5B';\n var subject = $.trim(encodeURI($(this).find('[name=Subject]').val()));\n var entity = $.trim(encodeURI($(this).find('[name=Entity]').val()));\n var contentType = $.trim(encodeURI($(this).find('[name=Content_Type]').val()));\n var format = encodeURI($(this).find('[name=Format]').val());\n var yearStart = encodeURI($(this).find('#yearStart').val());\n var yearEnd = encodeURI($(this).find('#yearEnd').val());\n if(subject){\n searchFilters = searchFilters + '%22f.aall_subject.filter='+ subject +'%22';\n }\n if(entity){\n if (subject || contentType){\n searchFilters = searchFilters +',';\n }\n searchFilters = searchFilters + '%22f.aall_entity.filter='+ entity +'%22';\n }\n if(contentType){\n if (subject || entity){\n searchFilters = searchFilters +',';\n }\n searchFilters = searchFilters + '%22f.aall_type.filter='+ contentType +'%22';\n }\n if(format){\n if (subject || entity || contentType){\n searchFilters = searchFilters +',';\n }\n searchFilters = searchFilters + '%22f.aall_type.contenttype='+ contentType +'%22';\n }\n searchFilters = searchFilters + '%5D%7D?sortBy=relevance';\n if(!subject && !entity && !contentType){\n searchFilters = \"\";\n }\n if(yearStart && yearEnd){\n if(!subject && !entity && !contentType){\n searchFilters = searchFilters + '?startdate=' + yearStart + '-01-01' + '&enddate=' + yearEnd + '-12-31'; \n }\n else{\n searchFilters = searchFilters + '&startdate=' + yearStart + '-01-01' + '&enddate=' + yearEnd + '-12-31'; \n }\n }\n if(yearStart && !yearEnd){\n if(!subject && !entity && !contentType){\n searchFilters = searchFilters + '?startdate=' + yearStart + '-01-01' + '&enddate=' + '2050-12-31'; \n }\n else{\n searchFilters = searchFilters + '&startdate=' + yearStart + '-01-01' + '&enddate=' + '2050-12-31'; \n }\n }\n if(!yearStart && yearEnd){\n if(!subject && !entity && !contentType){\n searchFilters = searchFilters + '?startdate=' + '1901-01-01' + '&enddate=' + yearEnd + '-12-31'; \n }\n else{\n searchFilters = searchFilters + '&startdate=' + '1901-01-01' + '&enddate=' + yearEnd + '-12-31'; \n }\n }\n goToSearchResults(searchPhrase, searchFilters);\n //console.log(yearStart);\n });\n\n\n function goToSearchResults(searchPhrase, searchFilters) {\n var resultsUrl = '/search-results/#/';\n window.location.href = resultsUrl + encodeURIComponent(searchPhrase) + '/page=1/' + searchFilters;\n }\n\n}\n// %7B%22facets%22:%5B\n// %22f.aall_type.filter=eBriefing%22,\n// %22f.aall_entity.filter=Vendor%20Relations%22,\n// %22f.aall_subject.filter=w53q%22%5D%7D?sortBy=relevance\n// %7B%22contenttype%22\n\n// &facet.field=contenttype&f.contenttype.filter=pdf\n\n// %7B%22facets%22:%5B%22f.published.filter=2017-01-01%22%5D%7D?sortBy=relevance\n// %7B%22facets%22:%5B%22f.published.range=%5B2017-01-01TO2017-12-31%5D,%22f.published.filter=%5B2017-01-01TO2017-12-31%5D%22%5D%7D?sortBy=relevance\n// %7B%22facets%22:%5B%22f.aall_type.filter=eBriefing%22%5D%7D?sortBy=relevance\n\n\n// WEBPACK FOOTER //\n// ./src/js/search.js","export default function($) {\n $('.side-nav').each(function() {\n $('.page_item_has_children').each(function() {\n $('ul', this).hide();\n $(this).append('');\n $('.current_page_ancestor > ul').show();\n $('.current_page_ancestor > .plus').addClass('active');\n });\n $('.plus').on('click', function() {\n $(this)\n .prev()\n .toggle();\n $(this).toggleClass('active');\n });\n });\n\n //opens sidenav for archive pages\n const archiveForElement = document.querySelector('[data-mg-archive-for]');\n if (archiveForElement) {\n var postId = $(archiveForElement).data('mg-archive-for');\n $('.side-nav')\n .find('.page-item-' + postId)\n .addClass('current_page_item')\n .parents('ul')\n .show();\n $('.current_page_item')\n .parent()\n .next()\n .toggleClass('active');\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/side-nav.js","/* global document:true */\n\nimport Shariff from \"shariff\";\n\n/**\n * Social Media sharing\n */\nexport default function socialSharing($) {\n let services = [\"facebook\", \"twitter\", \"linkedin\", \"mail\"];\n const buttonsContainer = document.querySelector(\".share-options\");\n let jButtonsContainer;\n\n if (!buttonsContainer) return false;\n\n jButtonsContainer = $(buttonsContainer);\n new Shariff(jButtonsContainer, {\n lang: \"en\",\n mailUrl: \"mailto:\",\n orientation: \"horizontal\",\n services: services,\n title: document.title\n });\n\n $(\".mg-share-trigger\").on(\"click\", function (e) {\n e.preventDefault();\n $(\".share-options\").slideToggle();\n\n const faItems = buttonsContainer.querySelectorAll(\".fa\");\n const solidIcons = [\"fa-envelope\"];\n faItems.forEach((element) => {\n const isSolidIcon = solidIcons.some((icon) =>\n element.classList.contains(icon)\n );\n\n if (element.classList.contains(\"fa-twitter\")) {\n element.classList.remove(\"fa-twitter\");\n element.classList.add(\"fa-x-twitter\");\n }\n\n if (isSolidIcon) {\n element.classList.add(\"fa-solid\");\n } else {\n element.classList.add(\"fa-brands\");\n }\n });\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/social.js","export default function($) {\n\n var navTopOffset;\n $(function(){\n\n $('.mega-menu-heading > a').each(function(){\n $(this).attr('rel', 'nofollow');\n });\n\n //toggle main nav\n $(document).on('click', '.toggle-main-nav', function(e){\n e.preventDefault();\n var $nav = $('.main-nav .top-level');\n $nav.toggleClass('showing');\n });\n\n //sub menus toggle on mobile\n $('.main-nav .top-level > li').each(function(){\n var $a = $(this).children('a'),\n $ul = $(this).children('ul');\n\n if( $ul.length ) {\n $a.append('');\n }\n });\n\n $(document).on('click', '.main-nav .sub-nav-toggle', function(e){\n e.preventDefault();\n e.stopPropagation();\n var $ul = $(this).closest('li').find('ul');\n\n if( $ul.hasClass('opened') ){\n $(this).removeClass('icon-minus-circle');\n } else {\n $(this).addClass('icon-minus-circle');\n }\n\n $ul.toggleClass('opened');\n });\n\n //for sticky main nav\n navTopOffset = $('.site-header-menu').offset().top;\n\n //update sticky header logo to larger image once dom is loaded\n\n\n $('.nav-logo img').attr('src', '/wp-content/uploads/2017/07/fill-26.png');\n\n //sticky nav - initial call\n var scrollDepth = $(window).scrollTop();\n stickyNav(scrollDepth);\n\n }); //dom ready\n\n $(window).on('scroll', function(){\n var scrollDepth = $(window).scrollTop();\n\n //sticky nav - on scroll\n stickyNav(scrollDepth);\n });\n\n function stickyNav(scrollDepth){\n var $nav = $('.site-header-menu');\n\n if( scrollDepth >= navTopOffset ){\n $nav.addClass('stick-me');\n } else {\n $nav.removeClass('stick-me');\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/sticky-nav.js","import jquery from 'jquery';\n\nimport sitcky_nav from \"./js/sticky-nav\";\nimport pub_slider from './js/pub-slick-slider';\nimport nav from './js/nav';\nimport side_nav from './js/side-nav';\nimport accordion from './js/accordion';\nimport archive from './js/archive';\nimport reports from './js/reports';\nimport search from './js/search';\nimport social from './js/social';\n\n//execution\nsitcky_nav(jquery);\npub_slider(jquery);\nnav(jquery);\nside_nav(jquery);\naccordion(jquery);\narchive(jquery);\nreports(jquery);\nsearch(jquery);\nsocial(jquery);\n\nimport \"./sass/style.scss\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/site.js","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/punycode/punycode.js\n// module id = 15\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/querystring-es3/decode.js\n// module id = 16\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/querystring-es3/encode.js\n// module id = 17\n// module chunks = 0","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/querystring-es3/index.js\n// module id = 18\n// module chunks = 0","'use strict';\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nif (typeof Object.assign !== 'function') {\n // jshint maxdepth:4\n Object.assign = function (target, varArgs) {\n // .length of function is 2\n if (target === null) {\n // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var to = Object(target);\n\n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n\n if (nextSource !== null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n };\n}\n\n/**\n * Initialization helper. This method is this module's exported entry point.\n * @param {string|Array|Element} selector - css selector, one element, array of nodes or html fragment\n * @param {node} [context=document] - context node in which to query\n * @returns {DOMQuery} A DOMQuery instance containing the selected set of nodes\n */\nfunction dq(selector, context) {\n var nodes = [];\n context = context || document;\n if (typeof selector === 'function') {\n if (context.attachEvent ? context.readyState === 'complete' : context.readyState !== 'loading') {\n selector();\n } else {\n context.addEventListener('DOMContentLoaded', selector);\n }\n } else if (selector instanceof Element) {\n nodes = [selector];\n } else if (typeof selector === 'string') {\n if (selector[0] === '<') {\n nodes = Array.prototype.slice.call(fragment(selector));\n } else {\n nodes = Array.prototype.slice.call(context.querySelectorAll(selector));\n }\n } else {\n nodes = selector;\n }\n return new DOMQuery(nodes, context);\n}\n\n/**\n * Contains a set of DOM nodes and provides methods to manipulate the nodes.\n * @constructor\n */\nfunction DOMQuery(elements, context) {\n this.length = elements.length;\n this.context = context;\n var self = this;\n each(elements, function (i) {\n self[i] = this;\n });\n}\n\n/**\n * Iterates through each node and calls the callback in its context.\n * @param {eachArrayCallback} callback - A function to be called with a node\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.each = function (callback) {\n for (var i = this.length - 1; i >= 0; i--) {\n callback.call(this[i], i, this[i]);\n }\n return this;\n};\n\n/**\n * Empties each node.\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.empty = function () {\n return this.each(empty);\n};\n\n/**\n * Sets the text content of each node. Returns the text content of the first node.\n * @param {string} [text] - The text content to set\n * @returns {DOMQuery|string}\n */\nDOMQuery.prototype.text = function (text) {\n if (text === undefined) {\n return this[0].textContent;\n }\n return this.each(function () {\n this.textContent = text;\n });\n};\n\n/**\n * Sets an attribute on each node. Returns the attribute's value of the first node.\n * @param {string} [name] - The attribute's name\n * @param {string} [value] - The value to set\n * @returns {DOMQuery|string}\n */\nDOMQuery.prototype.attr = function (name, value) {\n if (this.length < 1) {\n return null;\n }\n if (value === undefined) {\n return this[0].getAttribute(name);\n }\n return this.each(function () {\n this.setAttribute(name, value);\n });\n};\n\n/**\n * Sets a data attribute on each node. Returns the data attribute's value of the first node.\n * Supports deserialization of complex data types as values.\n * @param {string} [key] - The attribute's name\n * @param {string} [value] - The value to set\n * @returns {DOMQuery|string|Object}\n */\nDOMQuery.prototype.data = function (key, value) {\n if (value) {\n return this.attr('data-' + key, value);\n }\n if (key) {\n return this.attr('data-' + key);\n }\n var data = Object.assign({}, this[0].dataset);\n each(data, function (k, v) {\n data[k] = deserializeValue(v);\n });\n return data;\n};\n\n/**\n * Returns a new DOMQuery instance containing all matched nodes in the context\n * of the set of nodes.\n * @param {string} selector - The CSS selector\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.find = function (selector) {\n var matches;\n // querySelectorAll in the context of each element in the set\n matches = map(this, function (el) {\n return el.querySelectorAll(selector);\n });\n // convert NodeList matches into Array\n matches = map(matches, function (el) {\n return Array.prototype.slice.call(el);\n });\n // flatten the array\n matches = Array.prototype.concat.apply([], matches);\n return new DOMQuery(matches);\n};\n\n/**\n * Appends nodes to the end of the first node in the set.\n * @param {string|Array} html - Nodes to append. May be a string containing HTML.\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.append = function (html) {\n if (typeof html === 'string') {\n html = fragment(html);\n }\n append(this[0], html);\n return this;\n};\n\n/**\n * Prepends nodes at the top of the first node in the set.\n * @param {string|Array} html - Nodes to append. May be a string containing HTML.\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.prepend = function (html) {\n if (typeof html === 'string') {\n html = fragment(html);\n }\n prepend(this[0], html);\n return this;\n};\n\n/**\n * Adds a CSS class name to the nodes in the set.\n * @param {string} name - Class name to add\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.addClass = function (names) {\n return this.each(function () {\n var _classList;\n\n (_classList = this.classList).add.apply(_classList, _toConsumableArray(names.split(' ')));\n });\n};\n\n/**\n * Removes a CSS class name from the nodes in the set.\n * @param {string} name - Class name to remove\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.removeClass = function (name) {\n return this.each(function () {\n this.classList.remove(name);\n });\n};\n\n/**\n * Delegates an event for a node matching a selector to each element in the set.\n * @param {string} event - The event name\n * @param {string} selector - The CSS selector\n * @param {eventHandler} handler - The event handler function\n * @returns {DOMQuery}\n */\nDOMQuery.prototype.on = function (event, selector, handler) {\n return this.each(function () {\n delegateEvent(selector, event, handler, this);\n });\n};\n\n/**\n * Removes each child of a node.\n * @private\n */\nvar empty = function empty() {\n while (this.hasChildNodes()) {\n this.removeChild(this.firstChild);\n }\n};\n\n/**\n * Callback function used for map(array, callback).\n *\n * @callback mapCallback\n * @param {Object} object - An element of the array\n * @return {Array}\n * @see map\n */\n\n/**\n * Runs a callback with each element in an array and returns a new array.\n * @param {Array} objects - The array to iterate\n * @param {function} callback - The callback function\n * @returns {Array}\n */\nvar map = function map(objects, callback) {\n return Array.prototype.map.call(objects, callback);\n};\n\n/**\n * Callback function used for each(array, callback).\n * Called in the context of each element in the array.\n *\n * @callback eachArrayCallback\n * @param {number} index - Index of the current array element\n * @param {object} value - Element of the array\n * @return {Array}\n * @see each\n */\n\n/**\n * Callback function used for each(object, callback).\n * Called in the context of each object property value.\n *\n * @callback eachObjectCallback\n * @param {Object} key - The object's property key\n * @param {object} value - The object's property value\n * @return {Array}\n * @see each\n */\n\n/**\n * Runs a callback with each element in an array or key-value pair of an object.\n * Returns the original object/array.\n * @param {Object} object - The object to itrate\n * @param {eachArrayCallback|eachObjectCallback} callback - The callback function\n * @returns {Array}\n */\nvar each = function each(object, callback) {\n if (object instanceof Array) {\n for (var i = 0; i < object.length; i++) {\n callback.call(object[i], i, object[i]);\n }\n } else if (object instanceof Object) {\n for (var prop in object) {\n callback.call(object[prop], prop, object[prop], object);\n }\n }\n return object;\n};\n\n/**\n * Constructs HTML nodes from a string of HTML.\n * @param {string} html - String of HTML code\n * @returns {Array}\n * @private\n */\nvar fragment = function fragment(html) {\n var div = document.createElement('div');\n div.innerHTML = html;\n return div.children;\n};\n\n/**\n * Appends an array of nodes to the end of an HTML element.\n * @param {Element} parent - Element to append to\n * @param {Array} nodes - Collection of nodes to append\n * @private\n */\nvar append = function append(parent, nodes) {\n for (var i = 0; i < nodes.length; i++) {\n parent.appendChild(nodes[i]);\n }\n};\n\n/**\n * Prepends an array of nodes to the top of an HTML element.\n * @param {Element} parent - Element to prepend to\n * @param {Array} nodes - Collection of nodes to prepend\n * @private\n */\nvar prepend = function prepend(parent, nodes) {\n for (var i = nodes.length - 1; i >= 0; i--) {\n parent.insertBefore(nodes[nodes.length - 1], parent.firstChild);\n }\n};\n\n/**\n * Returns the closest parent of a node matching a CSS selector.\n * @param {HTMLElement} element - Element to append to\n * @param {string} selector - CSS selector\n * @param {HTMLElement}\n * @private\n * @see {@link https://gist.github.com/Daniel-Hug/abbded91dd55466e590b}\n */\nvar closest = function () {\n var element = HTMLElement.prototype;\n var matches = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.msMatchesSelector;\n\n return function closest(element, selector) {\n if (element === null) return;\n return matches.call(element, selector) ? element : closest(element.parentElement, selector);\n };\n}();\n\n/**\n * An event handler.\n *\n * @callback eventHandler\n * @param {Event} event - The event this handler was triggered for\n */\n\n/**\n * Delegates an event for a node matching a selector.\n * @param {string} selector - The CSS selector\n * @param {string} event - The event name\n * @param {eventHandler} handler - The event handler function\n * @param {HTMLElement} [scope=document] - Element to add the event listener to\n * @private\n */\nvar delegateEvent = function delegateEvent(selector, event, handler, scope) {\n (scope || document).addEventListener(event, function (event) {\n var listeningTarget = closest(event.target, selector);\n if (listeningTarget) {\n handler.call(listeningTarget, event);\n }\n });\n};\n\n/**\n * Extends properties of all arguments into a single object.\n * @param {...Object} objects - Objects to merge\n * @param {string} event - The event name\n * @param {function} handler - The event handler function\n * @returns {Object}\n * @see {@link https://gomakethings.com/vanilla-javascript-version-of-jquery-extend/}\n */\nvar extend = function extend(objects) {\n // Variables\n var extended = {};\n var deep = false;\n var i = 0;\n var length = arguments.length;\n\n // Check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n\n // Merge the object into the extended object\n var merge = function merge(obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // If deep merge and property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = extend(true, extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n\n // Loop through each object and conduct a merge\n for (; i < length; i++) {\n var obj = arguments[i];\n merge(obj);\n }\n\n return extended;\n};\n\n/**\n * The callback function for getJSON().\n *\n * @callback xhrCallback\n * @param {boolean} success - True on success. False on error.\n * @param {Object} data - The parsed data. null if success == false\n * @param {XMLHttpRequest} xhr - The request object\n * @see getJSON\n */\n\n/**\n * Runs an Ajax request against a url and calls the callback function with\n * the parsed JSON result.\n * @param {string} url - The url to request\n * @param {xhrCallback} callback - The callback function\n * @returns {XMLHttpRequest}\n */\nvar getJSON = function getJSON(url, callback) {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, true);\n xhr.setRequestHeader('Content-Type', 'application/json');\n xhr.setRequestHeader('Accept', 'application/json');\n\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 400) {\n var data = JSON.parse(xhr.responseText);\n callback(data, xhr.status, xhr);\n } else {\n callback(null, xhr.status, xhr);\n }\n };\n\n xhr.onerror = function (e) {\n callback(new Error(e), null, xhr);\n };\n\n xhr.send();\n};\n\n/**\n * Deserializes JSON values from strings. Used with data attributes.\n * @param {string} value - String to parse\n * @returns {Object}\n * @private\n */\nvar deserializeValue = function deserializeValue(value) {\n /* jshint maxcomplexity:7 */\n // boolean\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n // null\n if (value === 'null') {\n return null;\n }\n // number\n if (+value + '' === value) {\n return +value;\n }\n // json\n if (/^[[{]/.test(value)) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n // everything else\n return value;\n};\n\ndq.extend = extend;\ndq.map = map;\ndq.each = each;\ndq.getJSON = getJSON;\n\nmodule.exports = dq;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/dom.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'addthis',\n faName: 'fa-plus',\n title: {\n 'bg': 'Сподели в AddThis',\n 'da': 'Del p? AddThis',\n 'de': 'Bei AddThis teilen',\n 'en': 'Share on AddThis',\n 'es': 'Compartir en AddThis',\n 'fi': 'Jaa AddThisiss?',\n 'fr': 'Partager sur AddThis',\n 'hr': 'Podijelite na AddThis',\n 'hu': 'Megosztás AddThisen',\n 'it': 'Condividi su AddThis',\n 'ja': 'AddThis上で共有',\n 'ko': 'AddThis?? ????',\n 'nl': 'Delen op AddThis',\n 'no': 'Del p? AddThis',\n 'pl': 'Udost?pnij przez AddThis',\n 'pt': 'Compartilhar no AddThis',\n 'ro': 'Partajeaz? pe AddThis',\n 'ru': 'Поделиться на AddThis',\n 'sk': 'Zdie?a? na AddThis',\n 'sl': 'Deli na AddThis',\n 'sr': 'Podeli na AddThis',\n 'sv': 'Dela p? AddThis',\n 'tr': 'AddThis\\'ta payla?',\n 'zh': '在AddThis上分享'\n },\n shareUrl: 'http://api.addthis.com/oexchange/0.8/offer?url=' + url + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/addthis.js\n// module id = 20\n// module chunks = 0","'use strict';\n\nvar url = require('url');\n\nmodule.exports = function (shariff) {\n var shareUrl = url.parse('https://share.diasporafoundation.org/', true);\n shareUrl.query.url = shariff.getURL();\n shareUrl.query.title = shariff.getTitle();\n shareUrl.protocol = 'https';\n delete shareUrl.search;\n\n return {\n popup: true,\n shareText: {\n 'de': 'teilen',\n 'en': 'share',\n 'zh': '分享'\n },\n name: 'diaspora',\n faName: 'fa-asterisk',\n title: {\n 'de': 'Bei Diaspora teilen',\n 'en': 'Share on Diaspora',\n 'zh': '分享至Diaspora'\n },\n shareUrl: url.format(shareUrl) + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/diaspora.js\n// module id = 21\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'facebook',\n faName: 'fa-facebook',\n title: {\n 'bg': 'Сподели във Facebook',\n 'da': 'Del p? Facebook',\n 'de': 'Bei Facebook teilen',\n 'en': 'Share on Facebook',\n 'es': 'Compartir en Facebook',\n 'fi': 'Jaa Facebookissa',\n 'fr': 'Partager sur Facebook',\n 'hr': 'Podijelite na Facebooku',\n 'hu': 'Megosztás Facebookon',\n 'it': 'Condividi su Facebook',\n 'ja': 'フェイスブック上で共有',\n 'ko': '?????? ????',\n 'nl': 'Delen op Facebook',\n 'no': 'Del p? Facebook',\n 'pl': 'Udost?pnij na Facebooku',\n 'pt': 'Compartilhar no Facebook',\n 'ro': 'Partajeaz? pe Facebook',\n 'ru': 'Поделиться на Facebook',\n 'sk': 'Zdie?a? na Facebooku',\n 'sl': 'Deli na Facebooku',\n 'sr': 'Podeli na Facebook-u',\n 'sv': 'Dela p? Facebook',\n 'tr': 'Facebook\\'ta payla?',\n 'zh': '在Facebook上分享'\n },\n shareUrl: 'https://www.facebook.com/sharer/sharer.php?u=' + url + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/facebook.js\n// module id = 22\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n var title = shariff.getTitle();\n var description = shariff.getMeta('description');\n\n return {\n popup: true,\n shareText: 'Flattr',\n name: 'flattr',\n faName: 'fa-money',\n title: {\n 'de': 'Artikel flattrn',\n 'en': 'Flattr this'\n },\n shareUrl: 'https://flattr.com/submit/auto?title=' + encodeURIComponent(title) + '&description=' + encodeURIComponent(description) + '&category=' + encodeURIComponent(shariff.options.flattrCategory || 'text') + '&user_id=' + encodeURIComponent(shariff.options.flattrUser) + '&url=' + url + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/flattr.js\n// module id = 23\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'googleplus',\n faName: 'fa-google-plus',\n title: {\n 'bg': 'Сподели в Google+',\n 'da': 'Del p? Google+',\n 'de': 'Bei Google+ teilen',\n 'en': 'Share on Google+',\n 'es': 'Compartir en Google+',\n 'fi': 'Jaa Google+:ssa',\n 'fr': 'Partager sur Goolge+',\n 'hr': 'Podijelite na Google+',\n 'hu': 'Megosztás Google+on',\n 'it': 'Condividi su Google+',\n 'ja': 'Google+上で共有',\n 'ko': 'Google+?? ????',\n 'nl': 'Delen op Google+',\n 'no': 'Del p? Google+',\n 'pl': 'Udost?pnij na Google+',\n 'pt': 'Compartilhar no Google+',\n 'ro': 'Partajeaz? pe Google+',\n 'ru': 'Поделиться на Google+',\n 'sk': 'Zdie?a? na Google+',\n 'sl': 'Deli na Google+',\n 'sr': 'Podeli na Google+',\n 'sv': 'Dela p? Google+',\n 'tr': 'Google+\\'da payla?',\n 'zh': '在Google+上分享'\n },\n shareUrl: 'https://plus.google.com/share?url=' + url + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/googleplus.js\n// module id = 24\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n addthis: require('./addthis'),\n diaspora: require('./diaspora'),\n facebook: require('./facebook'),\n flattr: require('./flattr'),\n googleplus: require('./googleplus'),\n info: require('./info'),\n linkedin: require('./linkedin'),\n mail: require('./mail'),\n pinterest: require('./pinterest'),\n print: require('./print'),\n qzone: require('./qzone'),\n reddit: require('./reddit'),\n stumbleupon: require('./stumbleupon'),\n tencent: require('./tencent-weibo'),\n threema: require('./threema'),\n tumblr: require('./tumblr'),\n twitter: require('./twitter'),\n weibo: require('./weibo'),\n whatsapp: require('./whatsapp'),\n xing: require('./xing')\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/index.js\n// module id = 25\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n return {\n blank: true,\n popup: false,\n shareText: 'Info',\n name: 'info',\n faName: 'fa-info',\n title: {\n 'de': 'weitere Informationen',\n 'en': 'more information',\n 'es': 'más informaciones',\n 'fr': 'plus d\\'informations',\n 'it': 'maggiori informazioni',\n 'da': 'flere oplysninger',\n 'nl': 'verdere informatie',\n 'zh': '更多信息'\n },\n shareUrl: shariff.getInfoUrl()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/info.js\n// module id = 26\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n var title = encodeURIComponent(shariff.getTitle());\n var descr = encodeURIComponent(shariff.getMeta('description'));\n return {\n popup: true,\n shareText: {\n 'de': 'mitteilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': 'シェア',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'distribui?i',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'linkedin',\n faName: 'fa-linkedin',\n title: {\n 'bg': 'Сподели в LinkedIn',\n 'da': 'Del p? LinkedIn',\n 'de': 'Bei LinkedIn teilen',\n 'en': 'Share on LinkedIn',\n 'es': 'Compartir en LinkedIn',\n 'fi': 'Jaa LinkedIniss?',\n 'fr': 'Partager sur LinkedIn',\n 'hr': 'Podijelite na LinkedIn',\n 'hu': 'Megosztás LinkedInen',\n 'it': 'Condividi su LinkedIn',\n 'ja': 'LinkedIn上で共有',\n 'ko': 'LinkedIn?? ????',\n 'nl': 'Delen op LinkedIn',\n 'no': 'Del p? LinkedIn',\n 'pl': 'Udost?pnij przez LinkedIn',\n 'pt': 'Compartilhar no LinkedIn',\n 'ro': 'Partajeaz? pe LinkedIn',\n 'ru': 'Поделиться на LinkedIn',\n 'sk': 'Zdie?a? na LinkedIn',\n 'sl': 'Deli na LinkedIn',\n 'sr': 'Podeli na LinkedIn-u',\n 'sv': 'Dela p? LinkedIn',\n 'tr': 'LinkedIn\\'ta payla?',\n 'zh': '在LinkedIn上分享'\n },\n shareUrl: 'https://www.linkedin.com/shareArticle?mini=true&summary=' + descr + '&title=' + title + '&url=' + url\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/linkedin.js\n// module id = 27\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = shariff.getOption('mailUrl');\n\n // mailto: link? Add body and subject.\n if (url.indexOf('mailto:') === 0) {\n url += '?subject=' + encodeURIComponent(shariff.getTitle());\n url += '&body=' + encodeURIComponent(shariff.getOption('mailBody').replace(/\\{url\\}/i, shariff.getURL()));\n }\n\n return {\n blank: url.indexOf('http') === 0,\n popup: false,\n shareText: {\n 'en': 'mail',\n 'zh': '分享'\n },\n name: 'mail',\n faName: 'fa-envelope',\n title: {\n 'bg': 'Изпрати по имейл',\n 'da': 'Sende via e-mail',\n 'de': 'Per E-Mail versenden',\n 'en': 'Send by email',\n 'es': 'Enviar por email',\n 'fi': 'L?het? s?hk?postitse',\n 'fr': 'Envoyer par courriel',\n 'hr': 'Po?aljite emailom',\n 'hu': 'Elküldés e-mailben',\n 'it': 'Inviare via email',\n 'ja': '電子メールで送信',\n 'ko': '???? ???',\n 'nl': 'Sturen via e-mail',\n 'no': 'Send via epost',\n 'pl': 'Wy?lij e-mailem',\n 'pt': 'Enviar por e-mail',\n 'ro': 'Trimite prin e-mail',\n 'ru': 'Отправить по эл. почте',\n 'sk': 'Posla? e-mailom',\n 'sl': 'Po?lji po elektronski po?ti',\n 'sr': 'Po?alji putem email-a',\n 'sv': 'Skicka via e-post',\n 'tr': 'E-posta ile g?nder',\n 'zh': '通过电子邮件传送'\n },\n shareUrl: url\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/mail.js\n// module id = 28\n// module chunks = 0","'use strict';\n\nvar url = require('url');\n\nmodule.exports = function (shariff) {\n var title = shariff.getTitle();\n var creator = shariff.getMeta('DC.creator');\n if (creator.length > 0) {\n title += ' - ' + creator;\n }\n var img = shariff.getOption('mediaUrl');\n if (!img || img.length <= 0) {\n img = shariff.getMeta('og:image');\n }\n\n var shareUrl = url.parse('https://www.pinterest.com/pin/create/link/', true);\n shareUrl.query.url = shariff.getURL();\n shareUrl.query.media = img;\n shareUrl.query.description = title;\n delete shareUrl.search;\n\n return {\n popup: true,\n shareText: 'pin it',\n name: 'pinterest',\n faName: 'fa-pinterest-p',\n title: {\n 'de': 'Bei Pinterest pinnen',\n 'en': 'Pin it on Pinterest',\n 'es': 'Compartir en Pinterest',\n 'fr': 'Partager sur Pinterest',\n 'it': 'Condividi su Pinterest',\n 'da': 'Del p? Pinterest',\n 'nl': 'Delen op Pinterest',\n 'zh': '分享至Pinterest'\n },\n shareUrl: url.format(shareUrl) + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/pinterest.js\n// module id = 29\n// module chunks = 0","/* jshint scripturl:true */\n'use strict';\n\nmodule.exports = function (shariff) {\n var url = 'javascript:window.print();';\n\n return {\n name: 'print',\n faName: 'fa-print',\n popup: false,\n shareText: {\n 'bg': '',\n 'da': '',\n 'de': 'drucken',\n 'en': 'print',\n 'es': '',\n 'fi': '',\n 'fr': '',\n 'hr': '',\n 'hu': '',\n 'it': '',\n 'ja': '',\n 'ko': '',\n 'nl': '',\n 'no': '',\n 'pl': '',\n 'pt': '',\n 'ro': '',\n 'ru': '',\n 'sk': '',\n 'sl': '',\n 'sr': '',\n 'sv': '',\n 'tr': '',\n 'zh': ''\n },\n title: {\n 'bg': '',\n 'da': '',\n 'de': 'drucken',\n 'en': 'print',\n 'es': '',\n 'fi': '',\n 'fr': '',\n 'hr': '',\n 'hu': '',\n 'it': '',\n 'ja': '',\n 'ko': '',\n 'nl': '',\n 'no': '',\n 'pl': '',\n 'pt': '',\n 'ro': '',\n 'ru': '',\n 'sk': '',\n 'sl': '',\n 'sr': '',\n 'sv': '',\n 'tr': '',\n 'zh': ''\n },\n shareUrl: url\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/print.js\n// module id = 30\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'qzone',\n faName: 'fa-qq',\n title: {\n 'de': 'Bei Qzone teilen',\n 'en': 'Share on Qzone',\n 'zh': '分享至QQ空间'\n },\n shareUrl: 'http://sns.qzone./cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&title=' + title + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/qzone.js\n// module id = 31\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n var title = encodeURIComponent(shariff.getTitle());\n\n if (title !== '') {\n title = '&title=' + title;\n }\n\n return {\n popup: true,\n shareText: {\n 'de': 'teilen',\n 'en': 'share',\n 'zh': '分享'\n },\n name: 'reddit',\n faName: 'fa-reddit',\n title: {\n 'de': 'Bei Reddit teilen',\n 'en': 'Share on Reddit',\n 'zh': '分享至Reddit'\n },\n shareUrl: 'https://reddit.com/submit?url=' + url + title + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/reddit.js\n// module id = 32\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n var title = encodeURIComponent(shariff.getTitle());\n\n if (title !== '') {\n title = '&title=' + title;\n }\n\n return {\n popup: true,\n shareText: {\n 'de': 'teilen',\n 'en': 'share',\n 'zh': '分享'\n },\n name: 'stumbleupon',\n faName: 'fa-stumbleupon',\n title: {\n 'de': 'Bei Stumbleupon teilen',\n 'en': 'Share on Stumbleupon',\n 'zh': '分享至Stumbleupon'\n },\n shareUrl: 'https://www.stumbleupon.com/submit?url=' + url + title + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/stumbleupon.js\n// module id = 33\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'tencent-weibo',\n faName: 'fa-tencent-weibo',\n title: {\n 'de': 'Bei tencent weibo teilen',\n 'en': 'Share on tencent weibo',\n 'zh': '分享至腾讯微博'\n },\n shareUrl: 'http://v.t./share/share.php?url=' + url + '&title=' + title + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/tencent-weibo.js\n// module id = 34\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: false,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'threema',\n faName: 'fa-lock',\n title: {\n 'bg': 'Сподели в Threema',\n 'da': 'Del p? Threema',\n 'de': 'Bei Threema teilen',\n 'en': 'Share on Threema',\n 'es': 'Compartir en Threema',\n 'fi': 'Jaa Threemaiss?',\n 'fr': 'Partager sur Threema',\n 'hr': 'Podijelite na Threema',\n 'hu': 'Megosztás Threemaen',\n 'it': 'Condividi su Threema',\n 'ja': 'Threema上で共有',\n 'ko': 'Threema?? ????',\n 'nl': 'Delen op Threema',\n 'no': 'Del p? Threema',\n 'pl': 'Udost?pnij przez Threema',\n 'pt': 'Compartilhar no Threema',\n 'ro': 'Partajeaz? pe Threema',\n 'ru': 'Поделиться на Threema',\n 'sk': 'Zdie?a? na Threema',\n 'sl': 'Deli na Threema',\n 'sr': 'Podeli na Threema-u',\n 'sv': 'Dela p? Threema',\n 'tr': 'Threema\\'ta payla?',\n 'zh': '在Threema上分享'\n },\n shareUrl: 'threema://compose?text=' + encodeURIComponent(title) + '%20' + url + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/threema.js\n// module id = 35\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'tumblr',\n faName: 'fa-tumblr',\n title: {\n 'bg': 'Сподели в tumblr',\n 'da': 'Del p? tumblr',\n 'de': 'Bei tumblr teilen',\n 'en': 'Share on tumblr',\n 'es': 'Compartir en tumblr',\n 'fi': 'Jaa tumblriss?',\n 'fr': 'Partager sur tumblr',\n 'hr': 'Podijelite na tumblr',\n 'hu': 'Megosztás tumblren',\n 'it': 'Condividi su tumblr',\n 'ja': 'tumblr上で共有',\n 'ko': 'tumblr?? ????',\n 'nl': 'Delen op tumblr',\n 'no': 'Del p? tumblr',\n 'pl': 'Udost?pnij przez tumblr',\n 'pt': 'Compartilhar no tumblr',\n 'ro': 'Partajeaz? pe tumblr',\n 'ru': 'Поделиться на tumblr',\n 'sk': 'Zdie?a? na tumblr',\n 'sl': 'Deli na tumblr',\n 'sr': 'Podeli na tumblr-u',\n 'sv': 'Dela p? tumblr',\n 'tr': 'tumblr\\'ta payla?',\n 'zh': '在tumblr上分享'\n },\n shareUrl: 'http://tumblr.com/widgets/share/tool?canonicalUrl=' + url + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/tumblr.js\n// module id = 36\n// module chunks = 0","'use strict';\n\nvar url = require('url');\n\n// abbreviate at last blank before length and add \"\\u2026\" (horizontal ellipsis)\nvar abbreviateText = function abbreviateText(text, length) {\n var div = document.createElement('div');\n div.innerHTML = text;\n var abbreviated = div.textContent;\n if (abbreviated.length <= length) {\n return text;\n }\n\n var lastWhitespaceIndex = abbreviated.substring(0, length - 1).lastIndexOf(' ');\n abbreviated = abbreviated.substring(0, lastWhitespaceIndex) + '\\u2026';\n\n return abbreviated;\n};\n\nmodule.exports = function (shariff) {\n var shareUrl = url.parse('https://twitter.com/intent/tweet', true);\n\n var title = shariff.getTitle();\n\n // 120 is the max character count left after twitters automatic url shortening with t.co\n shareUrl.query.text = abbreviateText(title, 120);\n shareUrl.query.url = shariff.getURL();\n if (shariff.options.twitterVia !== null) {\n shareUrl.query.via = shariff.options.twitterVia;\n }\n delete shareUrl.search;\n\n return {\n popup: true,\n shareText: {\n 'en': 'tweet',\n 'zh': '分享'\n },\n name: 'twitter',\n faName: 'fa-twitter',\n title: {\n 'bg': 'Сподели в Twitter',\n 'da': 'Del p? Twitter',\n 'de': 'Bei Twitter teilen',\n 'en': 'Share on Twitter',\n 'es': 'Compartir en Twitter',\n 'fi': 'Jaa Twitteriss?',\n 'fr': 'Partager sur Twitter',\n 'hr': 'Podijelite na Twitteru',\n 'hu': 'Megosztás Twitteren',\n 'it': 'Condividi su Twitter',\n 'ja': 'ツイッター上で共有',\n 'ko': '????? ????',\n 'nl': 'Delen op Twitter',\n 'no': 'Del p? Twitter',\n 'pl': 'Udost?pnij na Twitterze',\n 'pt': 'Compartilhar no Twitter',\n 'ro': 'Partajeaz? pe Twitter',\n 'ru': 'Поделиться на Twitter',\n 'sk': 'Zdie?a? na Twitteri',\n 'sl': 'Deli na Twitterju',\n 'sr': 'Podeli na Twitter-u',\n 'sv': 'Dela p? Twitter',\n 'tr': 'Twitter\\'da payla?',\n 'zh': '在Twitter上分享'\n },\n // shareUrl: 'https://twitter.com/intent/tweet?text='+ shariff.getShareText() + '&url=' + url\n shareUrl: url.format(shareUrl) + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/twitter.js\n// module id = 37\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: true,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'weibo',\n faName: 'fa-weibo',\n title: {\n 'de': 'Bei weibo teilen',\n 'en': 'Share on weibo',\n 'zh': '分享至新浪微博'\n },\n shareUrl: 'http://service.weibo.com/share/share.php?url=' + url + '&title=' + title + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/weibo.js\n// module id = 38\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n\n var title = shariff.getTitle();\n\n return {\n popup: false,\n shareText: {\n 'bg': 'cподеляне',\n 'da': 'del',\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fi': 'Jaa',\n 'fr': 'partager',\n 'hr': 'podijelite',\n 'hu': 'megosztás',\n 'it': 'condividi',\n 'ja': '共有',\n 'ko': '????',\n 'nl': 'delen',\n 'no': 'del',\n 'pl': 'udost?pnij',\n 'pt': 'compartilhar',\n 'ro': 'partajeaz?',\n 'ru': 'поделиться',\n 'sk': 'zdie?a?',\n 'sl': 'deli',\n 'sr': 'podeli',\n 'sv': 'dela',\n 'tr': 'payla?',\n 'zh': '分享'\n },\n name: 'whatsapp',\n faName: 'fa-whatsapp',\n title: {\n 'bg': 'Сподели в Whatsapp',\n 'da': 'Del p? Whatsapp',\n 'de': 'Bei Whatsapp teilen',\n 'en': 'Share on Whatsapp',\n 'es': 'Compartir en Whatsapp',\n 'fi': 'Jaa WhatsAppiss?',\n 'fr': 'Partager sur Whatsapp',\n 'hr': 'Podijelite na Whatsapp',\n 'hu': 'Megosztás WhatsAppen',\n 'it': 'Condividi su Whatsapp',\n 'ja': 'Whatsapp上で共有',\n 'ko': 'Whatsapp?? ????',\n 'nl': 'Delen op Whatsapp',\n 'no': 'Del p? Whatsapp',\n 'pl': 'Udost?pnij przez WhatsApp',\n 'pt': 'Compartilhar no Whatsapp',\n 'ro': 'Partajeaz? pe Whatsapp',\n 'ru': 'Поделиться на Whatsapp',\n 'sk': 'Zdie?a? na Whatsapp',\n 'sl': 'Deli na Whatsapp',\n 'sr': 'Podeli na WhatsApp-u',\n 'sv': 'Dela p? Whatsapp',\n 'tr': 'Whatsapp\\'ta payla?',\n 'zh': '在Whatsapp上分享'\n },\n shareUrl: 'whatsapp://send?text=' + encodeURIComponent(title) + '%20' + url + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/whatsapp.js\n// module id = 39\n// module chunks = 0","'use strict';\n\nmodule.exports = function (shariff) {\n var url = encodeURIComponent(shariff.getURL());\n return {\n popup: true,\n shareText: {\n 'de': 'teilen',\n 'en': 'share',\n 'es': 'compartir',\n 'fr': 'partager',\n 'it': 'condividi',\n 'da': 'del',\n 'nl': 'delen',\n 'zh': '分享'\n },\n name: 'xing',\n faName: 'fa-xing',\n title: {\n 'de': 'Bei XING teilen',\n 'en': 'Share on XING',\n 'es': 'Compartir en XING',\n 'fr': 'Partager sur XING',\n 'it': 'Condividi su XING',\n 'da': 'Del p? XING',\n 'nl': 'Delen op XING',\n 'zh': '分享至XING'\n },\n shareUrl: 'https://www.xing.com/social_plugins/share?url=' + url + shariff.getReferrerTrack()\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/services/xing.js\n// module id = 40\n// module chunks = 0","'use strict';\n\n// require('babel-polyfill')\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar $ = require('./dom');\nvar services = require('./services');\nvar url = require('url');\n\n// Defaults may be overridden either by passing \"options\" to Shariff constructor\n// or by setting data attributes.\nvar Defaults = {\n theme: 'color',\n\n // URL to backend that requests social counts. null means \"disabled\"\n backendUrl: null,\n\n // Link to the \"about\" page\n infoUrl: 'http://ct.de/-2467514',\n\n // localisation: \"de\" or \"en\"\n lang: 'de',\n\n // fallback language for not fully localized services\n langFallback: 'en',\n\n mailUrl: function mailUrl() {\n var shareUrl = url.parse(this.getURL(), true);\n shareUrl.query.view = 'mail';\n delete shareUrl.search;\n return url.format(shareUrl);\n },\n\n mailBody: function mailBody() {\n return this.getURL();\n },\n\n // Media (e.g. image) URL to be shared\n mediaUrl: null,\n\n // horizontal/vertical\n orientation: 'horizontal',\n\n // a string to suffix current URL\n referrerTrack: null,\n\n // services to be enabled in the following order\n services: ['twitter', 'facebook', 'googleplus', 'info'],\n\n title: function title() {\n return $('head title').text();\n },\n\n twitterVia: null,\n\n flattrUser: null,\n\n flattrCategory: null,\n\n // build URI from rel=\"canonical\" or document.location\n url: function url() {\n var url = global.document.location.href;\n var canonical = $('link[rel=canonical]').attr('href') || this.getMeta('og:url') || '';\n\n if (canonical.length > 0) {\n if (canonical.indexOf('http') < 0) {\n canonical = global.document.location.protocol + '//' + global.document.location.host + canonical;\n }\n url = canonical;\n }\n\n return url;\n }\n};\n\nvar Shariff = function () {\n function Shariff(element, options) {\n var _this = this;\n\n _classCallCheck(this, Shariff);\n\n // the DOM element that will contain the buttons\n this.element = element;\n\n // Ensure elemnt is empty\n $(element).empty();\n\n this.options = $.extend({}, Defaults, options, $(element).data());\n\n // filter available services to those that are enabled and initialize them\n this.services = Object.keys(services).filter(function (service) {\n return _this.isEnabledService(service);\n }).sort(function (a, b) {\n var services = _this.options.services;\n return services.indexOf(a) - services.indexOf(b);\n }).map(function (serviceName) {\n return services[serviceName](_this);\n });\n\n this._addButtonList();\n\n if (this.options.backendUrl !== null) {\n this.getShares(this._updateCounts.bind(this));\n }\n }\n\n _createClass(Shariff, [{\n key: 'isEnabledService',\n value: function isEnabledService(serviceName) {\n return this.options.services.indexOf(serviceName) > -1;\n }\n }, {\n key: '$socialshareElement',\n value: function $socialshareElement() {\n return $(this.element);\n }\n }, {\n key: 'getLocalized',\n value: function getLocalized(data, key) {\n if (_typeof(data[key]) === 'object') {\n if (typeof data[key][this.options.lang] === 'undefined') {\n return data[key][this.options.langFallback];\n } else {\n return data[key][this.options.lang];\n }\n } else if (typeof data[key] === 'string') {\n return data[key];\n }\n return undefined;\n }\n\n // returns content of tags or '' if empty/non existant\n\n }, {\n key: 'getMeta',\n value: function getMeta(name) {\n var metaContent = $('meta[name=\"' + name + '\"],[property=\"' + name + '\"]').attr('content');\n return metaContent || '';\n }\n }, {\n key: 'getInfoUrl',\n value: function getInfoUrl() {\n return this.options.infoUrl;\n }\n }, {\n key: 'getURL',\n value: function getURL() {\n return this.getOption('url');\n }\n }, {\n key: 'getOption',\n value: function getOption(name) {\n var option = this.options[name];\n return typeof option === 'function' ? option.call(this) : option;\n }\n }, {\n key: 'getTitle',\n value: function getTitle() {\n var title = this.getOption('title') || this.getMeta('DC.title');\n var creator = this.getMeta('DC.creator');\n if (title && creator) title = title + ' - ' + creator;\n return title;\n }\n }, {\n key: 'getReferrerTrack',\n value: function getReferrerTrack() {\n return this.options.referrerTrack || '';\n }\n\n // returns shareCounts of document\n\n }, {\n key: 'getShares',\n value: function getShares(callback) {\n var baseUrl = url.parse(this.options.backendUrl, true);\n baseUrl.query.url = this.getURL();\n delete baseUrl.search;\n return $.getJSON(url.format(baseUrl), callback);\n }\n\n // add value of shares for each service\n\n }, {\n key: '_updateCounts',\n value: function _updateCounts(data, status, xhr) {\n var _this2 = this;\n\n if (!data) return;\n $.each(data, function (serviceName, value) {\n if (!_this2.isEnabledService(serviceName)) {\n return;\n }\n if (value >= 1000) {\n value = Math.round(value / 1000) + 'k';\n }\n $(_this2.element).find('.' + serviceName + ' a').append($('').addClass('share_count').text(value));\n });\n }\n\n // add html for button-container\n\n }, {\n key: '_addButtonList',\n value: function _addButtonList() {\n var _this3 = this;\n\n var $buttonList = $('').addClass(['theme-' + this.options.theme, 'orientation-' + this.options.orientation, 'col-' + this.options.services.length].join(' '));\n\n // add html for service-links\n this.services.forEach(function (service) {\n var $li = $('').addClass('shariff-button ' + service.name);\n var $shareText = $('').addClass('share_text').text(_this3.getLocalized(service, 'shareText'));\n\n var $shareLink = $('').attr('href', service.shareUrl).append($shareText);\n\n if (typeof service.faName !== 'undefined') {\n $shareLink.prepend($('').addClass('fa ' + service.faName));\n }\n\n if (service.popup) {\n $shareLink.attr('data-rel', 'popup');\n } else if (service.blank) {\n $shareLink.attr('target', '_blank');\n }\n $shareLink.attr('title', _this3.getLocalized(service, 'title'));\n\n // add attributes for screen readers\n $shareLink.attr('role', 'button');\n $shareLink.attr('aria-label', _this3.getLocalized(service, 'title'));\n\n $li.append($shareLink);\n\n $buttonList.append($li);\n });\n\n // event delegation\n $buttonList.on('click', '[data-rel=\"popup\"]', function (e) {\n e.preventDefault();\n\n var url = $(this).attr('href');\n\n // if a twitter widget is embedded on current site twitter's widget.js\n // will open a popup so we should not open a second one.\n if (url.match(/twitter\\.com\\/intent\\/(\\w+)/)) {\n var w = global.window;\n if (w.__twttr && w.__twttr.widgets && w.__twttr.widgets.loaded) {\n return;\n }\n }\n\n global.window.open(url, '_blank', 'width=600,height=460');\n });\n\n this.$socialshareElement().append($buttonList);\n }\n }]);\n\n return Shariff;\n}();\n\nmodule.exports = Shariff;\n\n// export Shariff class to global (for non-Node users)\nglobal.Shariff = Shariff;\n\n$(function () {\n // initialize .shariff elements\n $('.shariff').each(function () {\n if (!this.hasOwnProperty('shariff')) {\n this.shariff = new Shariff(this);\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shariff/src.es5/js/shariff.js\n// module id = 41\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/url/util.js\n// module id = 42\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 43\n// module chunks = 0"],"sourceRoot":""}