1if (!Date.now) { 2 Date.now = function now() { 3 return new Date().getTime(); 4 }; 5} 6 7(function(funcName, baseObj) { 8 "use strict"; 9 10 // The public function name defaults to window.docReady 11 // but you can modify the last line of this function to pass in a different object or method name 12 // if you want to put them in a different namespace and those will be used instead of 13 // window.docReady(...) 14 funcName = funcName || "docReady"; 15 baseObj = baseObj || window; 16 var readyList = []; 17 var readyFired = false; 18 var readyEventHandlersInstalled = false; 19 20 // call this when the document is ready 21 // this function protects itself against being called more than once 22 function ready() { 23 if (!readyFired) { 24 25 // this must be set to true before we start calling callbacks 26 readyFired = true; 27 for (var i = 0; i < readyList.length; i++) { 28 29 // if a callback here happens to add new ready handlers, 30 // the docReady() function will see that it already fired 31 // and will schedule the callback to run right after 32 // this event loop finishes so all handlers will still execute 33 // in order and no new ones will be added to the readyList 34 // while we are processing the list 35 readyList[i].fn.call(window, readyList[i].ctx); 36 } 37 38 // allow any closures held by these functions to free 39 readyList = []; 40 } 41 } 42 43 function readyStateChange() { 44 if ( document.readyState === "complete" ) { 45 ready(); 46 } 47 } 48 49 // This is the one public interface 50 // docReady(fn, context); 51 // the context argument is optional - if present, it will be passed 52 // as an argument to the callback 53 baseObj[funcName] = function(callback, context) { 54 if (typeof callback !== "function") { 55 throw new TypeError("callback for docReady(fn) must be a function"); 56 } 57 58 // if ready has already fired, then just schedule the callback 59 // to fire asynchronously, but right away 60 if (readyFired) { 61 setTimeout(function() {callback(context);}, 1); 62 return; 63 } else { 64 65 // add the function and context to the list 66 readyList.push({fn: callback, ctx: context}); 67 } 68 69 // if document already ready to go, schedule the ready function to run 70 // IE only safe when readyState is "complete", others safe when readyState is "interactive" 71 if (document.readyState === "complete" || (!document.attachEvent && document.readyState === "interactive")) { 72 setTimeout(ready, 1); 73 } else if (!readyEventHandlersInstalled) { 74 75 // otherwise if we don't have event handlers installed, install them 76 if (document.addEventListener) { 77 78 // first choice is DOMContentLoaded event 79 document.addEventListener("DOMContentLoaded", ready, false); 80 81 // backup is window load event 82 window.addEventListener("load", ready, false); 83 } else { 84 85 // must be IE 86 document.attachEvent("onreadystatechange", readyStateChange); 87 window.attachEvent("onload", ready); 88 } 89 readyEventHandlersInstalled = true; 90 } 91 } 92})("__sharethis__docReady", window); 93 94// Document.querySelectorAll method 95// http://ajaxian.com/archives/creating-a-queryselector-for-ie-that-runs-at-native-speed 96// Needed for: IE7- 97if (!document.querySelectorAll) { 98 document.querySelectorAll = function(selectors) { 99 var style = document.createElement('style'), elements = [], element; 100 document.documentElement.firstChild.appendChild(style); 101 document._qsa = []; 102 103 style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}'; 104 window.scrollBy(0, 0); 105 style.parentNode.removeChild(style); 106 107 while (document._qsa.length) { 108 element = document._qsa.shift(); 109 element.style.removeAttribute('x-qsa'); 110 elements.push(element); 111 } 112 document._qsa = null; 113 return elements; 114 }; 115} 116 117// Document.querySelector method 118// Needed for: IE7- 119if (!document.querySelector) { 120 document.querySelector = function(selectors) { 121 var elements = document.querySelectorAll(selectors); 122 return (elements.length) ? elements[0] : null; 123 }; 124} 125 126if (!Array.isArray) { 127 Array.isArray = function(arg) { 128 return Object.prototype.toString.call(arg) === '[object Array]'; 129 }; 130} 131 132Array.prototype.indexOf || (Array.prototype.indexOf = function(d, e) { 133 var a; 134 if (null == this) throw new TypeError('"this" is null or not defined'); 135 var c = Object(this); 136 var b = c.length >>> 0; 137 if (0 === b) return -1; 138 a = +e || 0; 139 Infinity === Math.abs(a) && (a = 0); 140 if (a >= b) return -1; 141 for (a = Math.max(0 <= a ? a : b - Math.abs(a), 0); a < b;) { 142 if (a in c && c[a] === d) return a; 143 a++; 144 } 145 return -1 146}); 147 148(function() { 149 var st, 150 indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; 151 152 if (window.__sharethis__ == null) { 153 window.__sharethis__ = { 154 v: '6.0.0' 155 }; 156 } 157 158 st = window.__sharethis__; 159 160 st.METRICS = "https://platform-metrics-api.sharethis.com"; 161 162 st.API = "https://platform-api.sharethis.com"; 163 164 st.SECOND = 1000; 165 166 st.MINUTE = 60 * st.SECOND; 167 168 st.HOUR = 60 * st.MINUTE; 169 170 st.DAY = 24 * st.HOUR; 171 172 st.WEEK = 7 * st.DAY; 173 174 st.BORDER_BOX = "-moz-box-sizing: border-box;\n-webkit-box-sizing: border-box;\nbox-sizing: border-box;"; 175 176 st.BORDER_RADIUS = function(radius) { 177 return "-moz-border-radius: " + (st.px(radius)) + ";\n-webkit-border-radius: " + (st.px(radius)) + ";\nborder-radius: " + (st.px(radius)) + ";"; 178 }; 179 180 st.BOX_SHADOW = function(value) { 181 return "-moz-box-shadow: " + value + ";\n-webkit-box-shadow: " + value + ";\nbox-shadow: " + value + ";"; 182 }; 183 184 st.FLEX = "-moz-flex: 1;\n-ms-flex: 1;\n-webkit-flex: 1;\nflex: 1;"; 185 186 st.FONT_FAMILY = "font-family: \"Helvetica Neue\", Verdana, Helvetica, Arial, sans-serif;"; 187 188 st.TRANSFORM = function(value) { 189 return "-ms-transform: " + value + ";\n-webkit-transform: " + value + ";\ntransform: " + value + ";"; 190 }; 191 192 st.TRANSITION = function(properties, duration) { 193 var i, len, property, value; 194 if (properties == null) { 195 properties = ['all']; 196 } 197 if (duration == null) { 198 duration = '0.2s'; 199 } 200 value = []; 201 for (i = 0, len = properties.length; i < len; i++) { 202 property = properties[i]; 203 value.push(property + " " + duration + " ease-in"); 204 } 205 value = value.join(', '); 206 return "-moz-transition: " + value + "; -ms-transition: " + value + "; -o-transition: " + value + "; -webkit-transition: " + value + "; transition: " + value + ";"; 207 }; 208 209 st._uid = 0; 210 211 st.uid = function() { 212 return ++st._uid; 213 }; 214 215 st.cache = {}; 216 217 st.get = function(key) { 218 return st.cache[key]; 219 }; 220 221 st.set = function(key, val) { 222 return st.cache[key] = val; 223 }; 224 225 st.has = function(key) { 226 return st.cache[key] != null; 227 }; 228 229 st.addClass = function($el, names) { 230 var current, i, len, name; 231 current = ($el.className || '').split(' '); 232 if (typeof names === 'string') { 233 names = [names]; 234 } 235 for (i = 0, len = names.length; i < len; i++) { 236 name = names[i]; 237 if ((name != null) && indexOf.call(current, name) < 0) { 238 current.push(name); 239 } 240 } 241 return $el.className = current.join(' '); 242 }; 243 244 st.addEventListener = function($el, event, callback) { 245 if (!($el && event && callback)) { 246 return; 247 } 248 if ($el.addEventListener) { 249 return $el.addEventListener(event, callback, false); 250 } else if ($el.attachEvent) { 251 return $el.attachEvent("on" + event, callback); 252 } else { 253 return $el["on" + event] = callback; 254 } 255 }; 256 257 st.capitalize = function(str) { 258 return "" + (str.charAt(0).toUpperCase()) + (str.substring(1).toLowerCase()); 259 }; 260 261 st.copy = function() { 262 var selection; 263 selection = typeof window.getSelection === "function" ? window.getSelection() : void 0; 264 if (!selection || selection.isCollapsed) { 265 return; 266 } 267 selection = selection.toString(); 268 if (selection.length > 500) { 269 selection = selection.slice(0, 497) + "..."; 270 } 271 if (selection.length > 0) { 272 return st.log({ 273 copy_text: selection, 274 destinations: "copy", 275 event: 'share', 276 url: st.href 277 }); 278 } 279 }; 280 281 st.close = function($el) { 282 st.removeClass(document.body, 'st-body-no-scroll'); 283 if (!$el) { 284 return; 285 } 286 st.addClass($el, 'st-hidden'); 287 return setTimeout((function() { 288 return st.remove($el); 289 }), 200); 290 }; 291 292 st.css = function(css) { 293 var head, s; 294 head = document.getElementsByTagName('head')[0]; 295 s = document.createElement('style'); 296 s.setAttribute('type', 'text/css'); 297 if (s.styleSheet) { 298 s.styleSheet.cssText = css; 299 } else { 300 s.appendChild(document.createTextNode(css)); 301 } 302 return head.appendChild(s); 303 }; 304 305 st.ecommerce = function() { 306 var ecommerce, has_ldjson, has_og, has_price; 307 has_ldjson = st.meta["@type"] === "Product"; 308 has_og = st.meta["og:type"] === "product"; 309 has_price = st.getMeta(['og:price:amount', 'price', 'product:price:amount']); 310 if (has_ldjson || has_og || has_price) { 311 ecommerce = JSON.stringify(st.omit({ 312 availability: st.getMeta(["og:availability", "product:availability", "availability"]), 313 brand: st.getMeta(["brand", "og:site_name"]), 314 category: st.getMeta(["category"]), 315 currency: st.getMeta(["og:price:currency", "product:price:currency", "priceCurrency"]), 316 description: st.getMeta(["og:description", "twitter:description", "description"]), 317 image: st.getMeta(["og:image:secure_url", "og:image", "twitter:image"]), 318 mpn: st.getMeta(["mpn"]),
319 name: st.getMeta(["og:title", "twitter:title", "name"]), 320 price: st.getMeta(["og:price:amount", "product:price:amount", "price"]), 321 rating: st.getMeta(["og:rating", "ratingValue"]), 322 reviews: st.getMeta(["reviewCount", "ratingCount"]), 323 sku: st.getMeta(["sku"]) 324 })); 325 st.log({ 326 event: 'ecommerce_pview', 327 ecommerce: ecommerce 328 }); 329 st.addEventListener(document, "click", function(e) { 330 var classes, cls, config, event, href, i, len; 331 if (!(e != null ? e.target : void 0)) { 332 return true; 333 } 334 if (e.target.tagName === "A") { 335 href = e.target.getAttribute('href') || ''; 336 if (new RegExp("/cart$").test(href)) { 337 st.log({ 338 event: "view_cart", 339 ecommerce: ecommerce 340 }); 341 return true; 342 } 343 } 344 config = { 345 add_to_cart: ["add_to_cart", "add-to-cart", "addtocart"], 346 add_to_wishlist: ["save-for-later", "wishlist"], 347 buy: ["payment-button"] 348 }; 349 for (event in config) { 350 classes = config[event]; 351 for (i = 0, len = classes.length; i < len; i++) { 352 cls = classes[i]; 353 if (st.hasClassOrId(e.target, cls)) { 354 st.log({ 355 event: event, 356 ecommerce: ecommerce 357 }); 358 return true; 359 } 360 } 361 } 362 return true; 363 }); 364 } 365 return true; 366 }; 367 368 st.emit = function(event, data) { 369 var handler, i, len, ref, ref1, results; 370 ref1 = ((ref = st.handlers) != null ? ref[event] : void 0) || []; 371 results = []; 372 for (i = 0, len = ref1.length; i < len; i++) { 373 handler = ref1[i]; 374 results.push(handler(data)); 375 } 376 return results; 377 }; 378 379 st.formatNumber = function(value) { 380 if (value > 1000000) { 381 return (Math.round(10 * (value / 1000000)) / 10) + "m"; 382 } 383 if (value > 100000) { 384 return (Math.round(value / 1000)) + "k"; 385 } 386 if (value > 1000) { 387 return (Math.round(10 * (value / 1000)) / 10) + "k"; 388 } 389 return "" + value; 390 }; 391 392 st.getCookie = function(name) { 393 var values; 394 values = document.cookie.match("(^|;)\\s*" + name + "\\s*=\\s*([^;]+)"); 395 if (values) { 396 return values.pop(); 397 } 398 return null; 399 }; 400 401 st.getDescription = function() { 402 return st.getMeta(['og:description', 'twitter:description', 'description', 'Description']); 403 }; 404 405 st.getImage = function() { 406 return st.getMeta(['og:image:secure_url', 'og:image', 'twitter:image']); 407 }; 408 409 st.getMeta = function(types) { 410 var i, len, type; 411 for (i = 0, len = types.length; i < len; i++) { 412 type = types[i]; 413 if ((st.meta[type] != null) && typeof st.meta[type] !== 'object') { 414 return "" + st.meta[type]; 415 } 416 } 417 return ''; 418 }; 419 420 st.getScrollbarWidth = function() { 421 var inner, outer, scrollbar_width; 422 outer = document.createElement('div'); 423 outer.style.visibility = 'hidden'; 424 outer.style.width = '100px'; 425 outer.style.msOverflowStyle = 'scrollbar'; 426 outer.style.overflow = 'scroll'; 427 document.body.appendChild(outer); 428 inner = document.createElement('div'); 429 inner.style.width = '100%'; 430 outer.appendChild(inner); 431 scrollbar_width = outer.offsetWidth - inner.offsetWidth; 432 outer.parentNode.removeChild(outer); 433 return scrollbar_width; 434 }; 435 436 st.getScrollDepth = function() { 437 var body, body_height, de, depth, percentage, window_height; 438 de = document.documentElement; 439 body = document.body; 440 body_height = Math.max.apply(Math, [body.scrollHeight || 0, body.offsetHeight || 0, de.clientHeight || 0, de.scrollHeight || 0, de.offsetHeight || 0]); 441 window_height = st.getWindowSize().height; 442 depth = window.pageYOffset || (de || body.parentNode || body).scrollTop; 443 percentage = Math.floor(100 * (window_height + depth) / body_height); 444 return percentage; 445 }; 446 447 st.getShareLabel = function(network, language) { 448 var value; 449 if (language == null) { 450 language = 'en'; 451 } 452 value = ''; 453 switch (network) { 454 case 'blm':
455 value = st.i18n['Support BLM'][language]; 456 break; 457 case 'email': 458 value = st.i18n['email'][language]; 459 break; 460 case 'gmail': 461 value = st.i18n['gmail'][language]; 462 break; 463 case 'flipboard': 464 value = st.i18n['flip'][language]; 465 break; 466 case 'googlebookmarks': 467 value = st.i18n['bookmark'][language]; 468 break; 469 case 'pinterest': 470 value = st.i18n['pin'][language]; 471 break; 472 case 'print': 473 value = st.i18n['print'][language]; 474 break; 475 case 'snapchat': 476 value = st.i18n['snapchat'][language]; 477 break; 478 case 'twitter': 479 value = st.i18n['tweet'][language]; 480 break; 481 case 'yahoomail': 482 value = st.i18n['email'][language]; 483 break; 484 default: 485 value = st.i18n['share'][language]; 486 } 487 if (network === 'blm') { 488 return value; 489 } 490 return st.capitalize(value); 491 }; 492 493 st.getTitle = function() { 494 return st.getMeta(['og:title', 'twitter:title']) || document.title; 495 }; 496 497 st.getQuerystring = function(url) { 498 var a; 499 a = document.createElement('a'); 500 a.setAttribute('href', url); 501 return a.search; 502 }; 503 504 st.getWindowSize = function() { 505 var body, documentElement, innerHeight, innerWidth; 506 body = document.body, documentElement = document.documentElement; 507 innerHeight = window.innerHeight, innerWidth = window.innerWidth; 508 return { 509 height: innerHeight || documentElement.clientHeight || body.clientHeight, 510 width: innerWidth || documentElement.clientWidth || body.clientWidth 511 }; 512 }; 513 514 st.hasClass = function($el, name) { 515 var re; 516 re = new RegExp(name); 517 return re.test(($el.className || '').toLowerCase()); 518 }; 519 520 st.hasClassOrId = function($el, name) { 521 var i, len, re, ref, str; 522 re = new RegExp(name); 523 ref = [$el.className, $el.id]; 524 for (i = 0, len = ref.length; i < len; i++) { 525 str = ref[i]; 526 if (typeof str !== 'string') { 527 continue; 528 } 529 if (re.test((str || '').toLowerCase())) { 530 return true; 531 } 532 } 533 return false; 534 }; 535 536 st.hasCookies = (function() { 537 var has_cookies, key; 538 key = '__sharethis_cookie_test__'; 539 document.cookie = key + "=1;"; 540 has_cookies = document.cookie.indexOf(key) > -1; 541 document.cookie = key + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 542 return has_cookies; 543 })(); 544 545 st.hasLocalStorage = (function() { 546 var key; 547 key = '__sharethis_local_storage_test__'; 548 try { 549 localStorage.setItem(key, 'hello world'); 550 localStorage.removeItem(key); 551 return true; 552 } catch (error1) { 553 return false; 554 } 555 })(); 556 557 st.hem = function(data) { 558 var params; 559 st._hem = data; 560 if ((data == null) || (data.sha1 == null) || (data.sha256 == null) || (data.md5 == null)) { 561 return 'Not valid data input'; 562 } 563 params = { 564 hem_sha1: data.sha1, 565 hem_sha256: data.sha256, 566 hem_md5: data.md5 567 }; 568 st.send("https://sync.sharethis.com/powr/hem?" + st.qs(params)); 569 }; 570 571 st.hostname = function(url) { 572 var a; 573 if (url == null) { 574 url = st.href; 575 } 576 a = document.createElement('a'); 577 a.setAttribute('href', url); 578 return a.hostname; 579 }; 580 581 st.ibl = function() { 582 var blacklist, domain, hostname, href, i, len, protocol; 583 href = document.referrer; 584 if (href) { 585 hostname = st.hostname(href) || ''; 586 protocol = st.protocol(href) || ''; 587 if (protocol === 'android-app:') { 588 return true; 589 } 590 blacklist = ['aol', 'bing', 'bs.to', 'facebook', 'google', 'yahoo', 'yandex', document.location.hostname]; 591 for (i = 0, len = blacklist.length; i < len; i++) { 592 domain = blacklist[i]; 593 if (hostname.indexOf(domain) > -1) { 594 return true; 595 } 596 } 597 st.log({ 598 event: 'ibl', 599 title: "", 600 url: href 601 }); 602 } 603 return true; 604 }; 605 606 st.img = function(name) { 607 var alt; 608 if (!name) { 609 return; 610 } 611 alt = (name.replace('.svg', '').replace('.png', '')) + " sharing button"; 612 return "<img alt='" + alt + "' src='https://platform-cdn.sharethis.com/img/" + name + "' />"; 613 }; 614 615 st.incLocalStorageShares = function(network, count_url) { 616 var all_counts, network_count, ref, ref1, ref2, ref3, ref4, ref5, total; 617 all_counts = st.storage.get("st_shares_" + count_url); 618 if (all_counts) { 619 network_count = (((ref = all_counts[network]) != null ? ref.value : void 0) + 1) || 0;
620 total = (((ref1 = all_counts["total"]) != null ? ref1.value : void 0) + 1) || 0; 621 if ((ref2 = all_counts[network]) != null) { 622 ref2.value = network_count; 623 } 624 if ((ref3 = all_counts[network]) != null) { 625 ref3.label = st.formatNumber(network_count); 626 } 627 if ((ref4 = all_counts["total"]) != null) { 628 ref4.value = total; 629 } 630 if ((ref5 = all_counts["total"]) != null) { 631 ref5.label = st.formatNumber(total); 632 } 633 all_counts["update_time"] = Math.round(new Date() / 1000); 634 return st.storage.set("st_shares_" + count_url, all_counts); 635 } 636 }; 637 638 st.inc = function($el) { 639 var value; 640 value = st.parseNumber($el.innerText); 641 $el.innerText = st.formatNumber(value + 1); 642 st.addClass($el, 'st-grow'); 643 return setTimeout((function() { 644 return st.removeClass($el, 'st-grow'); 645 }), 400); 646 }; 647 648 st.isEnter = function(e) { 649 return e.which === 13 || e.keyCode === 13; 650 }; 651 652 st.isEsc = function(e) { 653 var ref; 654 return ((ref = e.key) === 'Escape' || ref === 'Esc') || e.keyCode === 27; 655 }; 656 657 st.isValidEmail = function(email) { 658 var re; 659 re = /[^\.\s@][^\s@]*(?!\.)@[^\.\s@]+(?:\.[^\.\s@]+)*/; 660 return re.test(email); 661 }; 662 663 st.js = function(url, id) { 664 var $el, first; 665 $el = document.createElement('script'); 666 $el.async = 1; 667 $el.src = url; 668 if (id) { 669 $el.id = id; 670 } 671 first = document.getElementsByTagName('script')[0]; 672 return first.parentNode.insertBefore($el, first); 673 }; 674 675 st.ldjson = (function() { 676 var el, i, item, len, raw; 677 el = document.querySelector('script[type="application/ld+json"]'); 678 if (el) { 679 try { 680 raw = JSON.parse(el.innerText); 681 if (!Array.isArray(raw)) { 682 raw = [raw]; 683 } 684 for (i = 0, len = raw.length; i < len; i++) { 685 item = raw[i]; 686 if (item["@type"] === "Product") { 687 if (item.offers && !Array.isArray(item.offers)) { 688 item.offers = [item.offers]; 689 } 690 if (item.brand) { 691 item.brand = item.brand.name || item.brand; 692 } 693 if (item.category && Array.isArray(item.category)) { 694 item.category = item.category.join(";"); 695 } 696 return item; 697 } 698 } 699 return null; 700 } catch (error1) { 701 702 } 703 } 704 return null; 705 })(); 706 707 st.loadPixel = function() { 708 var domain, rnd, src; 709 domain = window.location.hostname; 710 rnd = (new Date()).getTime(); 711 src = "https://t.sharethis.com/1/k/t.dhj?" + st.qs({ 712 cid: 'c010', 713 cls: 'B', 714 dmn: domain, 715 gdpr_consent: st.gdpr_consent, 716 gdpr_domain: st.gdpr_consent && st.gdpr_domain, 717 rnd: rnd 718 }); 719 return st.js(src, 'pxscrpt'); 720 }; 721 722 if (st.loader == null) { 723 st.loader = {}; 724 } 725 726 st.load = function(product, config) { 727 var base; 728 return typeof (base = st.loader)[product] === "function" ? base[product](config) : void 0; 729 }; 730 731 if (st.load_counts_cache == null) { 732 st.load_counts_cache = {}; 733 } 734 735 st.loadCounts = function(options, next) { 736 var base, ourl, ref, ref1, ref2; 737 if (!next) { 738 ref = [{}, options], options = ref[0], next = ref[1]; 739 } 740 if (options.url == null) { 741 options.url = st.href; 742 } 743 ourl = options.url; 744 if ((base = st.load_counts_cache)[ourl] == null) { 745 base[ourl] = { 746 callbacks: [next], 747 response: null, 748 status: 'init' 749 }; 750 } 751 if (((ref1 = st.load_counts_cache[ourl]) != null ? ref1.status : void 0) === 'complete') { 752 return next(st.load_counts_cache[ourl].response); 753 } 754 if (((ref2 = st.load_counts_cache[ourl]) != null ? ref2.status : void 0) === 'in-progress') { 755 return st.load_counts_cache[ourl].callbacks.push(next); 756 } 757 st.load_counts_cache[ourl].status = 'in-progress'; 758 return st.js("https://count-server.sharethis.com/v2.0/get_counts?" + st.qs({ 759 cb: "window.__sharethis__.cb", 760 url: ourl 761 })); 762 }; 763 764 st.cb = function(resp) { 765 var callback, clicks, counts, i, j, len, len1, local_count, network, ourl, reaction, reactions, ref, ref1, shares, total, update_time, value; 766 if (resp == null) { 767 resp = {}; 768 } 769 clicks = resp.clicks, ourl = resp.ourl, reactions = resp.reactions, shares = resp.shares, total = resp.total, update_time = resp.update_time; 770 counts = {}; 771 for (reaction in st.REACTIONS || {}) { 772 value = (reactions != null ? reactions[reaction] : void 0) || 0; 773 counts[reaction] = { 774 value: value, 775 label: st.formatNumber(value) 776 }; 777 } 778 ref = st.networks || []; 779 for (i = 0, len = ref.length; i < len; i++) { 780 network = ref[i]; 781 value = ((clicks != null ? clicks[network] : void 0) || 0) + ((shares != null ? shares[network] : void 0) || 0); 782 counts[network] = { 783 value: value, 784 label: st.formatNumber(value) 785 }; 786 } 787 counts['total'] = { 788 value: total, 789 label: st.formatNumber(total) 790 }; 791 counts["update_time"] = update_time; 792 local_count = st.storage.get("st_shares_" + ourl); 793 if (update_time < (local_count != null ? local_count.update_time : void 0)) { 794 counts = local_count; 795 } 796 st.load_counts_cache[ourl].response = counts; 797 st.load_counts_cache[ourl].status = 'complete'; 798 st.storage.set("st_shares_" + ourl, counts); 799 ref1 = st.load_counts_cache[ourl].callbacks; 800 for (j = 0, len1 = ref1.length; j < len1; j++) { 801 callback = ref1[j]; 802 callback(counts); 803 } 804 return st.load_counts_cache[ourl].callbacks = []; 805 }; 806 807 st.log = function(data, url) { 808 var log, ref; 809 if (url == null) { 810 url = "https://l.sharethis.com/log"; 811 } 812 log = function() { 813 var fpestid, page_info, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7; 814 data.fcmp = typeof window.__cmp === 'function'; 815 data.fcmpv2 = typeof window.__tcfapi === 'function'; 816 data.has_segmentio = typeof (window.analytics && window.analytics.identify) === 'function'; 817 data.product = st.product; 818 data.publisher = st.property; 819 data.account = st.account; 820 data.ssb = st.ssb; 821 data.refDomain = st.hostname(window.document.referrer); 822 data.refQuery = st.getQuerystring(window.document.referrer); 823 data.source = 'sharethis.js'; 824 if (data.title == null) { 825 data.title = st.getTitle(); 826 } 827 data.ts = Date.now(); 828 data.sop = true; 829 data.cms = st.cms; 830 data.gdpr_consent = st.gdpr_consent; 831 data.gdpr_domain = st.gdpr_domain; 832 data.gdpr_method = st.gdpr_method; 833 data.usprivacy = st.usprivacy; 834 fpestid = st.getCookie("fpestid");
835 try { 836 if (!fpestid) { 837 fpestid = localStorage.getItem("fpestid"); 838 } 839 } catch (error1) {} 840 if (fpestid) { 841 data.fpestid = fpestid; 842 } 843 if (data.description == null) { 844 data.description = st.getDescription(); 845 } 846 data.ua = (ref = st.ua_fields) != null ? ref.ua : void 0; 847 data.ua_full_version_list = (ref1 = st.ua_fields) != null ? ref1.ua_full_version_list : void 0; 848 data.ua_mobile = (ref2 = st.ua_fields) != null ? ref2.ua_mobile : void 0; 849 data.ua_model = (ref3 = st.ua_fields) != null ? ref3.ua_model : void 0; 850 data.ua_platform = (ref4 = st.ua_fields) != null ? ref4.ua_platform : void 0; 851 data.ua_platform_version = (ref5 = st.ua_fields) != null ? ref5.ua_platform_version : void 0; 852 page_info = ((ref6 = window.__stdos__) != null ? (ref7 = ref6.data) != null ? ref7.pageInfo : void 0 : void 0) || {}; 853 if (page_info.override) { 854 data.override = page_info.override; 855 } 856 return st.send(url + "?" + st.qs(data)); 857 }; 858 if (st != null ? (ref = st.consent_queue) != null ? ref.initialized : void 0 : void 0) { 859 log(); 860 return; 861 } 862 if (st.consent_queue == null) { 863 st.consent_queue = { 864 functions: [] 865 }; 866 } 867 return st.consent_queue.functions.push(log); 868 }; 869 870 st.logGoogleAnalyticsEvent = function(category, action, label) { 871 var _gaq, ga; 872 ga = window.ga, _gaq = window._gaq; 873 if (ga) { 874 return ga('send', 'event', category, action, label); 875 } else if (_gaq) { 876 return _gaq.push(['_trackEvent', category, action, label]); 877 } 878 }; 879 880 st.meta = (function() { 881 var el, i, item, j, k, key, len, len1, offer, ref, ref1, ref2, v; 882 item = {}; 883 ref = document.querySelectorAll("meta,[itemprop]"); 884 for (i = 0, len = ref.length; i < len; i++) { 885 el = ref[i]; 886 key = el.getAttribute('property') || el.getAttribute('name') || el.getAttribute('itemprop'); 887 if (key) { 888 if (item[key] == null) { 889 item[key] = el.getAttribute('content') || el.getAttribute("href") || el.innerText; 890 } 891 } 892 } 893 try { 894 if (st.ldjson) { 895 ref1 = st.ldjson; 896 for (k in ref1) { 897 v = ref1[k]; 898 if (item[k] == null) { 899 item[k] = v; 900 } 901 } 902 if (st.ldjson.offers) { 903 ref2 = st.ldjson.offers; 904 for (j = 0, len1 = ref2.length; j < len1; j++) { 905 offer = ref2[j]; 906 for (k in offer) { 907 v = offer[k]; 908 if (item[k] == null) { 909 item[k] = v; 910 } 911 } 912 } 913 } 914 } 915 } catch (error1) { 916 917 } 918 return item; 919 })(); 920 921 st.newElement = function(parent) { 922 var $el, id; 923 if (parent === void 0) { 924 parent = document.body; 925 } 926 $el = document.createElement('div'); 927 id = "st-el-" + (st.uid()); 928 $el.setAttribute('id', id); 929 if (parent) { 930 parent.appendChild($el); 931 } 932 return { 933 $el: $el, 934 id: id 935 }; 936 }; 937 938 st.obl = function(e) { 939 var href, prefix, ref; 940 if ((e != null ? (ref = e.target) != null ? ref.tagName : void 0 : void 0) === 'A') { 941 href = e.target.getAttribute('href') || ''; 942 prefix = href.slice(0, href.indexOf(':')); 943 if (href.slice(0, 4) === 'http' && e.target.hostname !== document.location.hostname) { 944 st.log({ 945 event: 'obl', 946 title: "", 947 url: href 948 }); 949 } 950 } 951 return true; 952 }; 953 954 st.omit = function(obj) { 955 var k, res, v; 956 res = {}; 957 for (k in obj) { 958 v = obj[k]; 959 if (v) { 960 res[k] = v; 961 } 962 } 963 return res; 964 }; 965 966 st.on = function(event, callback) { 967 var base; 968 if (st.handlers == null) { 969 st.handlers = []; 970 } 971 if ((base = st.handlers)[event] == null) { 972 base[event] = []; 973 } 974 return st.handlers[event].push(callback); 975 }; 976 977 st.open = function(url) { 978 var h, w, wh, ww; 979 if (!url) { 980 return; 981 } 982 if (st.mobile) { 983 return window.open(url, '_blank'); 984 } else if (url.indexOf('mailto:') > -1 || url.indexOf('viber') > -1) { 985 return document.location = url; 986 } else {
987 wh = st.getWindowSize().height; 988 ww = st.getWindowSize().width; 989 h = Math.min(600, .6 * wh); 990 w = Math.min(800, .8 * ww); 991 return window.open(url, '', ["height=" + h, "left=" + ((ww - w) / 2), "top=" + ((wh - h) / 2), "width=" + w, 'status=1', 'toolbar=0'].join(',')); 992 } 993 }; 994 995 st.parseNumber = function(value) { 996 var multiplier; 997 multiplier = 1; 998 if (value.indexOf('k') > -1) { 999 multiplier = 1000; 1000 } 1001 if (value.indexOf('m') > -1) { 1002 multiplier = 1000000; 1003 } 1004 value = value.replace(/[km,]/g, ''); 1005 return multiplier * parseInt(value, 10) || 0; 1006 }; 1007 1008 st.position = function($el, container) { 1009 var _container, _el; 1010 if (container == null) { 1011 container = window; 1012 } 1013 _el = $el.getBoundingClientRect(); 1014 if (container === window) { 1015 return { 1016 left: _el.left + window.scrollX, 1017 top: _el.top + window.scrollY 1018 }; 1019 } else { 1020 _container = container.getBoundingClientRect(); 1021 return { 1022 left: _el.left - _container.left + container.scrollLeft, 1023 top: _el.top - _container.top + container.scrollTop 1024 }; 1025 } 1026 }; 1027 1028 st.protocol = function(url) { 1029 var a; 1030 if (url == null) { 1031 url = st.href; 1032 } 1033 a = document.createElement('a'); 1034 a.setAttribute('href', url); 1035 return a.protocol; 1036 }; 1037 1038 st.px = function(value) { 1039 if (typeof value === 'string') { 1040 return value; 1041 } 1042 return (Math.floor(value)) + "px"; 1043 }; 1044 1045 st.qs = function(params) { 1046 var k, v; 1047 return ((function() { 1048 var results; 1049 results = []; 1050 for (k in params) { 1051 v = params[k]; 1052 if (v != null) { 1053 results.push(k + "=" + (encodeURIComponent(v))); 1054 } 1055 } 1056 return results; 1057 })()).join('&'); 1058 }; 1059 1060 st.react = function(arg) { 1061 var reaction, url; 1062 reaction = arg.reaction, url = arg.url; 1063 if (url == null) { 1064 url = st.href; 1065 } 1066 st.logGoogleAnalyticsEvent('ShareThis', reaction, url); 1067 return st.log({ 1068 event: 'reaction', 1069 reactionType: reaction, 1070 url: url 1071 }); 1072 }; 1073 1074 st.remove = function($el) { 1075 if (!($el != null ? $el.parentNode : void 0)) { 1076 return; 1077 } 1078 return $el.parentNode.removeChild($el); 1079 }; 1080 1081 st.removeClass = function($el, name) { 1082 return $el.className = $el.className.replace(name, ''); 1083 }; 1084 1085 st.removeEventListener = function($el, event, callback) { 1086 if (!($el && event && callback)) { 1087 return; 1088 } 1089 if ($el.removeEventListener) { 1090 return $el.removeEventListener(event, callback, false); 1091 } else if ($el.detachEvent) { 1092 return $el.detachEvent("on" + event, callback); 1093 } else { 1094 return $el["on" + event] = null; 1095 } 1096 }; 1097 1098 st.send = function(resource, params, next) { 1099 var img; 1100 if (params) { 1101 resource = resource + "?" + (st.qs(params)); 1102 } 1103 img = new Image(1, 1); 1104 img.src = resource; 1105 img.onload = function() { 1106 return typeof next === "function" ? next(true) : void 0; 1107 }; 1108 return img.onerror = function() { 1109 return typeof next === "function" ? next(false) : void 0; 1110 }; 1111 }; 1112 1113 st.setCookie = function(name, value, days) { 1114 var date, expires; 1115 if (days) { 1116 date = new Date(); 1117 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 1118 expires = "; expires=" + (date.toGMTString()); 1119 } else { 1120 expires = ""; 1121 } 1122 return document.cookie = name + "=" + value + expires + "; path=/"; 1123 }; 1124 1125 st.share = function(config) { 1126 var channel_is_ssb, channels_displayed, copybutton, copymessage, count_url, description, hostname, image, is_android, is_ios, message, network, product, redirects, run, share_url, short_url, subject, title, url, username, wechat; 1127 if (config == null) { 1128 config = {}; 1129 } 1130 channel_is_ssb = config.channel_is_ssb, channels_displayed = config.channels_displayed, count_url = config.count_url, subject = config.subject, share_url = config.share_url, short_url = config.short_url, url = config.url, description = config.description, image = config.image, message = config.message, network = config.network, title = config.title, username = config.username; 1131 channel_is_ssb = false;
1132 if (channels_displayed == null) { 1133 channels_displayed = JSON.stringify([]); 1134 } 1135 count_url = count_url || url || st.href; 1136 if (description == null) { 1137 description = st.getDescription(); 1138 } 1139 if (image == null) { 1140 image = st.getImage(); 1141 } 1142 share_url = share_url || short_url || url || st.href; 1143 if (title == null) { 1144 title = st.getTitle(); 1145 } 1146 if (url == null) { 1147 url = count_url; 1148 } 1149 if (network === 'sharethis') { 1150 return st.load('share-all', { 1151 count_url: count_url, 1152 description: description, 1153 image: image, 1154 share_url: share_url, 1155 short_url: short_url, 1156 title: title, 1157 url: url, 1158 username: username 1159 }); 1160 } 1161 st.incLocalStorageShares(network, count_url); 1162 st.logGoogleAnalyticsEvent('ShareThis', network, count_url); 1163 st.log({ 1164 channel_is_ssb: channel_is_ssb, 1165 channels_displayed: channels_displayed, 1166 destinations: network, 1167 event: 'share', 1168 title: title, 1169 url: count_url 1170 }); 1171 st.emit('share', { 1172 count_url: count_url, 1173 description: description, 1174 image: image, 1175 message: message, 1176 share_url: share_url, 1177 title: title, 1178 url: url, 1179 username: username 1180 }); 1181 if (network === 'wechat') { 1182 if (st.mobile) { 1183 return st.load('share-wechat-mobile', { 1184 url: share_url 1185 }); 1186 } else { 1187 wechat = "https://api.qrserver.com/v1/create-qr-code/?" + st.qs({ 1188 size: "154x154", 1189 data: share_url 1190 }); 1191 st.open(wechat); 1192 } 1193 } 1194 if (network === 'print') { 1195 st.emit('print', { 1196 count_url: count_url, 1197 description: description, 1198 image: image, 1199 message: message, 1200 share_url: share_url, 1201 title: title, 1202 url: url, 1203 username: username 1204 }); 1205 return window.print(); 1206 } 1207 if (network === 'copy') { 1208 navigator.clipboard.writeText(window.location.href); 1209 copybutton = document.querySelector('div[data-network="copy"]'); 1210 if (copybutton) { 1211 copymessage = document.createElement('span'); 1212 copymessage.innerText = 'URL Copied!'; 1213 copymessage.className = 'copy-notify'; 1214 copymessage.style.opacity = '1'; 1215 copymessage.style.width = '100px'; 1216 copymessage.style.transition = 'all .6s'; 1217 copybutton.append(copymessage); 1218 run = function() { 1219 copymessage.style.opacity = '0'; 1220 copymessage.style.minWidth = '0'; 1221 copymessage.style.width = '0'; 1222 copymessage.style.padding = '0'; 1223 copymessage.style.overflow = 'hidden'; 1224 run = function() { 1225 return copymessage.remove(); 1226 }; 1227 return setTimeout(run, 1000); 1228 }; 1229 setTimeout(run, 1500); 1230 } 1231 } 1232 hostname = document.location.hostname; 1233 product = st.product; 1234 is_ios = /iPad|iPhone|iPod/.test(navigator.userAgent); 1235 is_android = /Android/i.test(navigator.userAgent); 1236 redirects = { 1237 blm: "https://secure.actblue.com/donate/ms_blm_homepage_2019", 1238 blogger: "https://www.blogger.com/blog-this.g?" + st.qs({ 1239 n: title, 1240 t: description, 1241 u: share_url 1242 }), 1243 bluesky: "https://bsky.app/intent/compose?" + st.qs({ 1244 text: title + ' url:' + share_url 1245 }), 1246 buffer: "https://buffer.com/add?" + st.qs({ 1247 text: title, 1248 url: share_url 1249 }), 1250 diaspora: "https://share.diasporafoundation.org/?" + st.qs({ 1251 title: title, 1252 url: share_url 1253 }), 1254 delicious: "https://del.icio.us/save?" + st.qs({ 1255 provider: 'sharethis', 1256 title: title, 1257 url: share_url, 1258 v: 5 1259 }), 1260 digg: "https://digg.com/submit?" + st.qs({ 1261 url: share_url 1262 }), 1263 diigo: "https://www.diigo.com/post?" + st.qs({ 1264 title: title, 1265 url: share_url 1266 }), 1267 douban: "http://www.douban.com/recommend/?" + st.qs({ 1268 title: title, 1269 url: share_url 1270 }), 1271 email: "mailto:?" + st.qs({
1272 subject: subject || "I'd like to share a link with you", 1273 body: message || ("" + url) 1274 }), 1275 evernote: "http://www.evernote.com/clip.action?" + st.qs({ 1276 title: title, 1277 url: share_url 1278 }), 1279 facebook: "https://www.facebook.com/sharer.php?" + st.qs({ 1280 t: title, 1281 u: share_url 1282 }), 1283 fark: "https://www.fark.com/submit?" + st.qs({ 1284 new_url: share_url 1285 }), 1286 flipboard: "https://share.flipboard.com/bookmarklet/popout?" + st.qs({ 1287 ext: 'sharethis', 1288 title: title, 1289 url: share_url, 1290 utm_campaign: 'widgets', 1291 utm_content: hostname, 1292 utm_source: 'sharethis', 1293 v: 2 1294 }), 1295 foursquare: 'https://foursquare.com/intent/venue/' + title, 1296 gab: "https://gab.com/compose?url=" + share_url, 1297 getpocket: "https://getpocket.com/edit?" + st.qs({ 1298 url: share_url 1299 }), 1300 gmail: "https://mail.google.com/mail/?view=cm&" + st.qs({ 1301 to: '', 1302 su: title, 1303 body: share_url, 1304 bcc: '', 1305 cc: '' 1306 }), 1307 goodreads: "https://www.goodreads.com/quotes?" + st.qs({ 1308 'quote[url]': share_url 1309 }), 1310 googlebookmarks: "https://www.google.com/bookmarks/mark?" + st.qs({ 1311 op: 'edit', 1312 bkmk: share_url, 1313 title: title, 1314 annotation: description 1315 }), 1316 hackernews: "https://news.ycombinator.com/submitlink?" + st.qs({ 1317 u: share_url, 1318 t: title 1319 }), 1320 houzz: "https://www.houzz.com/imageClipperUpload?" + st.qs({ 1321 link: share_url, 1322 source: 'link', 1323 hzid: '' 1324 }), 1325 instapaper: "http://www.instapaper.com/edit?" + st.qs({ 1326 url: share_url, 1327 title: title, 1328 description: description 1329 }), 1330 iorbix: "https://iorbix.com/m-share?" + st.qs({ 1331 url: share_url, 1332 title: title 1333 }), 1334 kakao: "https://story.kakao.com/share?" + st.qs({ 1335 url: share_url 1336 }), 1337 kindleit: "https://pushtokindle.fivefilters.org/send.php?" + st.qs({ 1338 url: share_url 1339 }), 1340 kooapp: "https://www.kooapp.com/create?" + st.qs({ 1341 title: title, 1342 link: share_url 1343 }), 1344 line: "https://lineit.line.me/share/ui?" + st.qs({ 1345 url: share_url, 1346 text: title || description 1347 }), 1348 linkedin: "https://www.linkedin.com/shareArticle?" + st.qs({ 1349 title: title, 1350 url: share_url 1351 }), 1352 livejournal: "https://www.livejournal.com/update.bml?" + st.qs({ 1353 event: share_url, 1354 subject: title 1355 }), 1356 mailru: "https://connect.mail.ru/share?" + st.qs({ 1357 share_url: share_url 1358 }), 1359 mailru: "https://connect.mail.ru/share?" + st.qs({ 1360 share_url: share_url 1361 }), 1362 meneame: "https://meneame.net/submit.php?" + st.qs({ 1363 url: share_url 1364 }), 1365 messenger: { 1366 "true": "fb-messenger://share/?" + st.qs({ 1367 link: share_url, 1368 app_id: 291494419107518 1369 }), 1370 "false": "https://www.facebook.com/dialog/send?" + st.qs({ 1371 link: share_url, 1372 app_id: 291494419107518, 1373 redirect_uri: "https://www.sharethis.com" 1374 }) 1375 }[st.mobile], 1376 microsoftteams: "https://teams.microsoft.com/l/entity/com.microsoft.teamspace.tab.url.share?" + st.qs({ 1377 webUrl: share_url, 1378 appName: title 1379 }), 1380 naver: "http://share.naver.com/web/shareView.nhn?" + st.qs({ 1381 url: share_url, 1382 title: title 1383 }), 1384 nextdoor: "https://nextdoor.com/sharekit/?" + st.qs({ 1385 source: share_url, 1386 body: title 1387 }), 1388 odnoklassniki: "https://connect.ok.ru/dk?" + st.qs({ 1389 'st.cmd': 'WidgetSharePreview', 1390 'st.shareUrl': share_url 1391 }), 1392 outlook: "https://outlook.live.com/mail/deeplink/compose?" + st.qs({ 1393 path: 'mail inbox', 1394 subject: subject || "I'd like to share a link with you", 1395 body: message || ("" + url) 1396 }), 1397 pinboard: "https://pinboard.in/add?" + st.qs({ 1398 url: share_url, 1399 title: title 1400 }), 1401 pinterest: "https://pinterest.com/pin/create/button/?" + st.qs({ 1402 description: title, 1403 media: image, 1404 url: share_url 1405 }), 1406 plurk: "http://www.plurk.com/?" + st.qs({ 1407 qualifier: 'shares', 1408 status: share_url 1409 }), 1410 qzone: "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?" + st.qs({ 1411 url: share_url 1412 }), 1413 reddit: "https://reddit.com/submit?" + st.qs({ 1414 title: title, 1415 url: share_url 1416 }), 1417 refind: "https://refind.com?" + st.qs({ 1418 url: share_url 1419 }), 1420 renren: "http://widget.renren.com/dialog/share?" + st.qs({ 1421 resourceUrl: share_url, 1422 srcUrl: share_url, 1423 title: title, 1424 description: description || title 1425 }), 1426 skype: "https://web.skype.com/share?" + st.qs({ 1427 url: share_url, 1428 text: title 1429 }), 1430 sms: "sms:" + (is_ios ? '&' : '?') + "body=" + (encodeURIComponent(share_url)), 1431 snapchat: "https://snapchat.com/scan?" + st.qs({ 1432 attachmentUrl: share_url, 1433 utm_source: 'sharethis' 1434 }), 1435 surfingbird: "http://surfingbird.ru/share?" + st.qs({ 1436 url: share_url, 1437 description: description || title, 1438 title: title 1439 }), 1440 telegram: "https://t.me/share/url?" + st.qs({ 1441 url: share_url, 1442 text: title, 1443 to: '' 1444 }), 1445 tencentqq: "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?" + st.qs({ 1446 url: share_url, 1447 title: title, 1448 summary: share_url, 1449 desc: description, 1450 pics: image 1451 }), 1452 threads: "https://threads.net/intent/post?" + st.qs({ 1453 text: share_url 1454 }), 1455 threema: "threema://compose?" + st.qs({ 1456 text: share_url, 1457 id: '' 1458 }), 1459 trello: "https://trello.com/add-card?" + st.qs({ 1460 mode: 'popup', 1461 url: share_url, 1462 desc: description || title 1463 }), 1464 tumblr: "https://www.tumblr.com/share?" + st.qs({ 1465 t: title, 1466 u: share_url, 1467 v: 3 1468 }), 1469 twitter: "https://twitter.com/intent/tweet?" + st.qs({ 1470 text: title || description, 1471 url: share_url, 1472 via: username 1473 }), 1474 vk: "https://vk.com/share.php?" + st.qs({ 1475 url: share_url 1476 }), 1477 viber: "viber://forward?" + st.qs({ 1478 text: share_url, 1479 url: 'viber' 1480 }), 1481 weibo: "http://service.weibo.com/share/share.php?" + st.qs({ 1482 title: title, 1483 url: share_url, 1484 pic: image 1485 }),
1486 whatsapp: (!st.mobile ? "https://web.whatsapp.com/send?" : "whatsapp://send?") + st.qs({ 1487 text: share_url 1488 }), 1489 wordpress: "http://wordpress.com/wp-admin/press-this.php?" + st.qs({ 1490 u: share_url, 1491 t: title, 1492 s: description || title, 1493 i: '' 1494 }), 1495 yahoomail: "http://compose.mail.yahoo.com/?" + st.qs({ 1496 to: '', 1497 subject: title, 1498 body: share_url 1499 }), 1500 yummly: "https://www.yummly.com/urb/verify?" + st.qs({ 1501 url: share_url, 1502 title: title, 1503 urbtype: 'bookmarklet', 1504 type: 'agg', 1505 vendor: 'sharethis', 1506 image: image 1507 }), 1508 xing: "https://www.xing.com/app/user?" + st.qs({ 1509 op: 'share', 1510 title: title, 1511 url: share_url 1512 }) 1513 }; 1514 return st.open(redirects[network]); 1515 }; 1516 1517 st.follow = (function(_this) { 1518 return function(config) { 1519 var follow_url, network, url; 1520 if (config == null) { 1521 config = {}; 1522 } 1523 follow_url = config.follow_url, network = config.network, url = config.url; 1524 if (url == null) { 1525 url = st.href; 1526 } 1527 st.log({ 1528 destinations: network, 1529 event: 'follow', 1530 followUrl: follow_url, 1531 url: url 1532 }); 1533 return window.open(follow_url, '_blank'); 1534 }; 1535 })(this); 1536 1537 st.storage = { 1538 get: function(key) { 1539 if (st.hasLocalStorage) { 1540 try { 1541 return JSON.parse(localStorage.getItem(key)); 1542 } catch (error1) {} 1543 } 1544 if (st.hasCookies) { 1545 return st.getCookie(key); 1546 } 1547 return st.get(key); 1548 }, 1549 set: function(key, value) { 1550 if (st.hasLocalStorage) { 1551 return localStorage.setItem(key, JSON.stringify(value)); 1552 } 1553 if (st.hasCookies) { 1554 return st.setCookie(key, value); 1555 } 1556 return st.set(key, value); 1557 } 1558 }; 1559 1560 st.svg = function(paths, size) { 1561 var d; 1562 if (size == null) { 1563 size = 40; 1564 } 1565 if (typeof paths === 'string') { 1566 paths = [paths]; 1567 } 1568 return "<svg fill=\"#fff\" preserveAspectRatio=\"xMidYMid meet\" height=\"1em\" width=\"1em\" viewBox=\"0 0 " + size + " " + size + "\">\n <g>\n " + (((function() { 1569 var i, len, results; 1570 results = []; 1571 for (i = 0, len = paths.length; i < len; i++) { 1572 d = paths[i]; 1573 results.push("<path d='" + d + "'></path>"); 1574 } 1575 return results; 1576 })()).join('')) + "\n </g>\n</svg>"; 1577 }; 1578 1579 st.toggleClass = function($el, name) { 1580 if (st.hasClass($el, name)) { 1581 return st.removeClass($el, name); 1582 } else { 1583 return st.addClass($el, name); 1584 } 1585 }; 1586 1587 st.filterInvalidNetworks = function(networks, valid) { 1588 var n; 1589 if (valid == null) { 1590 valid = st.networks; 1591 } 1592 return (function() { 1593 var i, len, results; 1594 results = []; 1595 for (i = 0, len = networks.length; i < len; i++) { 1596 n = networks[i]; 1597 if (valid.indexOf(n) !== -1) { 1598 results.push(n); 1599 } 1600 } 1601 return results; 1602 })(); 1603 }; 1604 1605 st.tcfapi_listener = (function() { 1606 var interval, start; 1607 start = Date.now(); 1608 return interval = setInterval((function() { 1609 var e; 1610 if (window.__tcfapi) { 1611 try { 1612 window.__tcfapi("addEventListener", 2, function(data) { 1613 if ((data != null ? data.eventStatus : void 0) === "useractioncomplete") { 1614 st.gdpr_consent = data.tcString; 1615 st.gdpr_domain = data.isServiceSpecific ? document.location.hostname : ".sharethis.com"; 1616 st.gdpr_method = "api"; 1617 return st.log({ 1618 event: "updated_consent", 1619 pview_had_consent: st.pview_had_consent 1620 }); 1621 } 1622 }); 1623 } catch (error1) { 1624 e = error1; 1625 } 1626 clearInterval(interval); 1627 } 1628 if (Date.now() - start > 10000) { 1629 return clearInterval(interval); 1630 } 1631 }), 1000); 1632 })(); 1633 1634 st.floc = function() { 1635 var error; 1636 try { 1637 if (document.interestCohort) { 1638 return document.interestCohort().then(function(cohort) { 1639 if (cohort) { 1640 return st.log({ 1641 event: 'floc', 1642 floc: JSON.stringify(cohort) 1643 }); 1644 } 1645 }); 1646 } 1647 } catch (error1) { 1648 error = error1; 1649 } 1650 }; 1651 1652 1653 /* 1654 * Add Listeners 1655 */ 1656 1657 st.addEventListener(document, "click", st.obl); 1658 1659 st.addEventListener(document, "copy", st.copy); 1660 1661}).call(this); 1662 1663(function(){ 1664 st = window.__sharethis__ 1665 1666 st.CustomColor = class CustomColor {
1667 constructor(r, g, b) { 1668 this.set(r, g, b); 1669 } 1670 1671 toString() { 1672 return `rgb(${Math.round(this.r)}, ${Math.round(this.g)}, ${Math.round(this.b)})`; 1673 } 1674 1675 set(r, g, b) { 1676 this.r = this.clamp(r); 1677 this.g = this.clamp(g); 1678 this.b = this.clamp(b); 1679 } 1680 1681 hueRotate(angle = 0) { 1682 angle = angle / 180 * Math.PI; 1683 const sin = Math.sin(angle); 1684 const cos = Math.cos(angle); 1685 1686 this.multiply([ 1687 0.213 + cos * 0.787 - sin * 0.213, 1688 0.715 - cos * 0.715 - sin * 0.715, 1689 0.072 - cos * 0.072 + sin * 0.928, 1690 0.213 - cos * 0.213 + sin * 0.143, 1691 0.715 + cos * 0.285 + sin * 0.140, 1692 0.072 - cos * 0.072 - sin * 0.283, 1693 0.213 - cos * 0.213 - sin * 0.787, 1694 0.715 - cos * 0.715 + sin * 0.715, 1695 0.072 + cos * 0.928 + sin * 0.072, 1696 ]); 1697 } 1698 1699 grayscale(value = 1) { 1700 this.multiply([ 1701 0.2126 + 0.7874 * (1 - value), 1702 0.7152 - 0.7152 * (1 - value), 1703 0.0722 - 0.0722 * (1 - value), 1704 0.2126 - 0.2126 * (1 - value), 1705 0.7152 + 0.2848 * (1 - value), 1706 0.0722 - 0.0722 * (1 - value), 1707 0.2126 - 0.2126 * (1 - value), 1708 0.7152 - 0.7152 * (1 - value), 1709 0.0722 + 0.9278 * (1 - value), 1710 ]); 1711 } 1712 1713 sepia(value = 1) { 1714 this.multiply([ 1715 0.393 + 0.607 * (1 - value), 1716 0.769 - 0.769 * (1 - value), 1717 0.189 - 0.189 * (1 - value), 1718 0.349 - 0.349 * (1 - value), 1719 0.686 + 0.314 * (1 - value), 1720 0.168 - 0.168 * (1 - value), 1721 0.272 - 0.272 * (1 - value), 1722 0.534 - 0.534 * (1 - value), 1723 0.131 + 0.869 * (1 - value), 1724 ]); 1725 } 1726 1727 saturate(value = 1) { 1728 this.multiply([ 1729 0.213 + 0.787 * value, 1730 0.715 - 0.715 * value, 1731 0.072 - 0.072 * value, 1732 0.213 - 0.213 * value, 1733 0.715 + 0.285 * value, 1734 0.072 - 0.072 * value, 1735 0.213 - 0.213 * value, 1736 0.715 - 0.715 * value, 1737 0.072 + 0.928 * value, 1738 ]); 1739 } 1740 1741 multiply(matrix) { 1742 const newR = this.clamp(this.r * matrix[0] + this.g * matrix[1] + this.b * matrix[2]); 1743 const newG = this.clamp(this.r * matrix[3] + this.g * matrix[4] + this.b * matrix[5]); 1744 const newB = this.clamp(this.r * matrix[6] + this.g * matrix[7] + this.b * matrix[8]); 1745 this.r = newR; 1746 this.g = newG; 1747 this.b = newB; 1748 } 1749 1750 brightness(value = 1) { 1751 this.linear(value); 1752 } 1753 contrast(value = 1) { 1754 this.linear(value, -(0.5 * value) + 0.5); 1755 } 1756 1757 linear(slope = 1, intercept = 0) { 1758 this.r = this.clamp(this.r * slope + intercept * 255); 1759 this.g = this.clamp(this.g * slope + intercept * 255); 1760 this.b = this.clamp(this.b * slope + intercept * 255); 1761 } 1762 1763 invert(value = 1) { 1764 this.r = this.clamp((value + this.r / 255 * (1 - 2 * value)) * 255); 1765 this.g = this.clamp((value + this.g / 255 * (1 - 2 * value)) * 255); 1766 this.b = this.clamp((value + this.b / 255 * (1 - 2 * value)) * 255); 1767 } 1768 1769 hsl() { 1770 // Code taken from https://stackoverflow.com/a/9493060/2688027, licensed under CC BY-SA. 1771 const r = this.r / 255; 1772 const g = this.g / 255; 1773 const b = this.b / 255; 1774 const max = Math.max(r, g, b); 1775 const min = Math.min(r, g, b); 1776 let h, s, l = (max + min) / 2; 1777 1778 if (max === min) { 1779 h = s = 0; 1780 } else { 1781 const d = max - min; 1782 s = l > 0.5 ? d / (2 - max - min) : d / (max + min); 1783 switch (max) { 1784 case r: 1785 h = (g - b) / d + (g < b ? 6 : 0); 1786 break; 1787 1788 case g: 1789 h = (b - r) / d + 2; 1790 break; 1791 1792 case b: 1793 h = (r - g) / d + 4; 1794 break; 1795 } 1796 h /= 6; 1797 } 1798 1799 return { 1800 h: h * 100, 1801 s: s * 100, 1802 l: l * 100, 1803 }; 1804 } 1805 1806 clamp(value) { 1807 if (value > 255) { 1808 value = 255; 1809 } else if (value < 0) { 1810 value = 0; 1811 } 1812 return value; 1813 } 1814 } 1815 1816 st.Solver = class Solver { 1817 constructor(target, baseColor) { 1818 this.target = target; 1819 this.targetHSL = target.hsl(); 1820 this.reusedColor = new st.CustomColor(0, 0, 0); 1821 } 1822 1823 solve() { 1824 const result = this.solveNarrow(this.solveWide()); 1825 return { 1826 values: result.values, 1827 loss: result.loss, 1828 filter: this.css(result.values), 1829 }; 1830 } 1831 1832 solveWide() { 1833 const A = 5; 1834 const c = 15; 1835 const a = [60, 180, 18000, 600, 1.2, 1.2]; 1836 1837 let best = { loss: Infinity }; 1838 for (let i = 0; best.loss > 25 && i < 3; i++) { 1839 const initial = [50, 20, 3750, 50, 100, 100]; 1840 const result = this.spsa(A, a, c, initial, 1000); 1841 if (result.loss < best.loss) { 1842 best = result; 1843 } 1844 } 1845 return best; 1846 } 1847 1848 solveNarrow(wide) { 1849 const A = wide.loss; 1850 const c = 2; 1851 const A1 = A + 1; 1852 const a = [0.25 * A1, 0.25 * A1, A1, 0.25 * A1, 0.2 * A1, 0.2 * A1]; 1853 return this.spsa(A, a, c, wide.values, 500); 1854 } 1855 1856 spsa(A, a, c, values, iters) {
1857 const alpha = 1; 1858 const gamma = 0.16666666666666666; 1859 1860 let best = null; 1861 let bestLoss = Infinity; 1862 const deltas = new Array(6); 1863 const highArgs = new Array(6); 1864 const lowArgs = new Array(6); 1865 1866 for (let k = 0; k < iters; k++) { 1867 const ck = c / Math.pow(k + 1, gamma); 1868 for (let i = 0; i < 6; i++) { 1869 deltas[i] = Math.random() > 0.5 ? 1 : -1; 1870 highArgs[i] = values[i] + ck * deltas[i]; 1871 lowArgs[i] = values[i] - ck * deltas[i]; 1872 } 1873 1874 const lossDiff = this.loss(highArgs) - this.loss(lowArgs); 1875 for (let i = 0; i < 6; i++) { 1876 const g = lossDiff / (2 * ck) * deltas[i]; 1877 const ak = a[i] / Math.pow(A + k + 1, alpha); 1878 values[i] = fix(values[i] - ak * g, i); 1879 } 1880 1881 const loss = this.loss(values); 1882 if (loss < bestLoss) { 1883 best = values.slice(0); 1884 bestLoss = loss; 1885 } 1886 } 1887 return { values: best, loss: bestLoss }; 1888 1889 function fix(value, idx) { 1890 let max = 100; 1891 if (idx === 2 /* saturate */) { 1892 max = 7500; 1893 } else if (idx === 4 /* brightness */ || idx === 5 /* contrast */) { 1894 max = 200; 1895 } 1896 1897 if (idx === 3 /* hue-rotate */) { 1898 if (value > max) { 1899 value %= max; 1900 } else if (value < 0) { 1901 value = max + value % max; 1902 } 1903 } else if (value < 0) { 1904 value = 0; 1905 } else if (value > max) { 1906 value = max; 1907 } 1908 return value; 1909 } 1910 } 1911 1912 loss(filters) { 1913 // Argument is array of percentages. 1914 const color = this.reusedColor; 1915 color.set(0, 0, 0); 1916 1917 color.invert(filters[0] / 100); 1918 color.sepia(filters[1] / 100); 1919 color.saturate(filters[2] / 100); 1920 color.hueRotate(filters[3] * 3.6); 1921 color.brightness(filters[4] / 100); 1922 color.contrast(filters[5] / 100); 1923 1924 const colorHSL = color.hsl(); 1925 return ( 1926 Math.abs(color.r - this.target.r) + 1927 Math.abs(color.g - this.target.g) + 1928 Math.abs(color.b - this.target.b) + 1929 Math.abs(colorHSL.h - this.targetHSL.h) + 1930 Math.abs(colorHSL.s - this.targetHSL.s) + 1931 Math.abs(colorHSL.l - this.targetHSL.l) 1932 ); 1933 } 1934 1935 css(filters) { 1936 function fmt(idx, multiplier = 1) { 1937 if (idx == 0) { 1938 return Math.round(100 - (filters[idx] * multiplier)) 1939 } 1940 return Math.round(filters[idx] * multiplier); 1941 } 1942 return `filter: invert(${fmt(0)}%) sepia(${fmt(1)}%) saturate(${fmt(2)}%) hue-rotate(${fmt(3, 3.6)}deg) brightness(${fmt(4)}%) contrast(${fmt(5)}%);`; 1943 } 1944 } 1945 1946})(); 1947 1948(function() { 1949 var st; 1950 1951 st = window.__sharethis__; 1952 1953 st.hexToRgb = function(hex) { 1954 var result, shorthandRegex; 1955 if (!hex) { 1956 return; 1957 } 1958 if (typeof hex !== 'string') { 1959 return 'Wrong type input'; 1960 } 1961 shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; 1962 hex = hex.replace(shorthandRegex, (function(_this) { 1963 return function(m, r, g, b) { 1964 return r + r + g + g + b + b; 1965 }; 1966 })(this)); 1967 result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); 1968 if (result) { 1969 return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)]; 1970 } 1971 }; 1972 1973 st.getFilter = function(rgb_hex) { 1974 var color, result, rgb, solver; 1975 rgb = st.hexToRgb(rgb_hex); 1976 if (!rgb) { 1977 return 'Invalid hex'; 1978 } 1979 if (rgb.length !== 3) { 1980 return 'Invalid hex format!'; 1981 } 1982 color = new st.CustomColor(rgb[0], rgb[1], rgb[2]); 1983 solver = new st.Solver(color); 1984 result = solver.solve(); 1985 return result.filter.split(': ')[1]; 1986 }; 1987 1988}).call(this); 1989 1990(function(a,b){window.__sharethis__.mobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
1990sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera); 1991 1992(function(){ 1993 window.__sharethis__.is_ie = /(MSIE|Trident|Edge)/i.test(navigator.userAgent); 1994 window.__sharethis__.is_ie8 = /MSIE 8/i.test(navigator.userAgent); 1995})(); 1996 1997/** 1998 * none: https://goop.com/wellness/ 1999 * anchor.fm: https://www.podcastinsights.com/podcast-embed-players/ 2000 * consensu.org: 2001 * embed.ly: https://embed.ly/code?url=http%3A%2F%2Fgoogle.com 2002 * gfycat: https://developers.gfycat.com/iframe/#gfycat-iframe 2003 * giphy: https://giphy.com/posts/how-to-embed-giphy-gifs-on-your-website 2004 * imgur: https://help.imgur.com/hc/en-us/articles/211273743-Embed-Unit 2005 * instagram: https://www.bbc.com/news/uk-wales-51311320 2006 * megaphone: https://www.podcastinsights.com/podcast-embed-players/ 2007 * reddit: https://redditblog.com/2017/06/14/why-publishers-should-use-reddit-embeds/ 2008 * redditmedia: https://redditblog.com/2017/06/14/why-publishers-should-use-reddit-embeds/ 2009 * soundcloud: https://en.support.wordpress.com/soundcloud-audio-player/ 2010 * spotify: https://www.usmagazine.com/entertainment/news/kim-kardashian-north-asks-if-she-can-visit-prisons-with-me/ 2011 * tiktok: https://jezebel.com/15-tiktoks-that-deserve-academy-awards-1838371668 2012 * twitch: https://www.dexerto.com/entertainment/top-10-most-viewed-twitch-clips-of-all-time-2-310900 2013 * twitter: https://time.com/4128887/kobe-bryant-retirement-celebrities-reaction/ 2014 * vimeo: https://vimeo.zendesk.com/hc/en-us/articles/224969968-Embedding-videos-overview 2015 * youtube: https://electricbikereview.com/gocycle/gs/ 2016 */ 2017 2018/** 2019 * anchor.fm 2020 * tags: iframe 2021 * format: anchor.fm/{content}/embed 2022 * suggestions: add requirement for iframe 2023 */ 2024 2025/** 2026 * facebook.com 2027 * tags: iframe 2028 * format: facebook.com/plugins/{plugin_type} 2029 * exclude: /plugins/like, /plugins/page, /plugins/comment, /plugins/group, /plugins/follow, /plugins/customerchat, /plugins/messenger_checkbox, /plugins/send_to_messenger 2030 * require: /plugins/post, /plugins/video, /plugins/share_button 2031 * even though rhombus collects plugins/share_button i'm not sold we should, doesn't seem to embed to any outside content 2032 * suggestions: add requirement for iframe and update exclude/require statements 2033 */ 2034 2035/** 2036 * gfycat.com 2037 * tags: iframe 2038 * format: gfycat.com/ifr 2039 * suggestions: add requirement for iframe 2040 */ 2041 2042/** 2043 * giphy.com 2044 * tags: iframe 2045 * format: giphy.com/embed 2046 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe? 2047 * suggestions: add requirement for iframe 2048 */ 2049 2050/** 2051 * imgur.com 2052 * tags: iframe 2053 * format: imgur.com/{hash}/embed 2054 * suggestions: add requirement for iframe 2055 */ 2056 2057/** 2058 * instagram.com 2059 * tags: iframe, blockquote 2060 * format: www.instagram.com/p 2061 * questions: what happens when we remove the requirement for /p and introduce a requirement for iframe and blockquote? 2062 * suggestions: add requirement for either iframe or blockquote 2063 */ 2064 2065/** 2066 * megaphone.fm 2067 * tags: iframe 2068 * format: player.megaphone.fm 2069 * questions: what happens when we remove the requirement for player and introduce a requirement for iframe? 2070 * suggestions: add requirement for iframe 2071 */ 2072 2073/** 2074 * redditmedia.com 2075 * it's difficult to find any records with redditmedia.com embeds 2076 * we may want to remove the requirment for /r and also look for reddit.com 2077 * suggestions: add requirement for iframe, remove requirement for /r 2078 */ 2079 2080/** 2081 * soundcloud.com 2082 * tags: iframe 2083 * format: w.soundcloud.com/player 2084 * questions: whats happens when we remove the requirement for /player and introduce a requirement for iframe? 2085 * suggestions: add requirement for iframe 2086 */ 2087 2088/** 2089 * spotify.com 2090 * tags: iframe 2091 * format: open.spotify.com/{endpoint} 2092 * exlude: /follow 2093 * require: /embed 2094 * suggestions: add requirement for iframe and update exclude/require statements 2095 */ 2096 2097/** 2098 * tiktok.com 2099 * tags: iframe 2100 * format: tiktok.com/embed/ 2101 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe? 2102 * suggestions: add requirement for iframe 2103 */ 2104 2105/** 2106 * twitch.tv 2107 * tags: iframe 2108 * format: clips.twitch.tv/embed 2109 * questions: what happens when we remove the requirement for clips and introduce a requirement for iframe? 2110 * suggestions: add requirement for iframe 2111 */ 2112 2113/** 2114 * twitter.com 2115 * tags: div, blockquote 2116 * format: twitter.com/{user}/status 2117 * questions: this one is difficult because twitter doesn't use iframes (at least in the data we collected) 2118 * questions: it looks like for every embed we pull identical srcs from a div and blockquote 2119 * questions: we probably only need to pull just div 2120 * questions: what happens when we remove the /status requirement? 2121 * suggestions: add requirement for div 2122 */ 2123 2124/** 2125 * vimeo.com 2126 * tags: iframe 2127 * format: player.vimeo.com/video 2128 * questions: what happens when we remove the player requirement and introduce a requirement for iframe? 2129 * suggestions: add requirement for iframe 2130 */ 2131 2132/** 2133 * youtube.com 2134 * tags: iframe 2135 * format: youtube.com/embed 2136 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe? 2137 * suggestions: add requirement for iframe 2138 */ 2139 2140// service list 2141var st = window.__sharethis__ || {}; 2142st.getEmbeds = function (next) { 2143 2144 var selectors = [ 2145 '.embed-twitter', 2146 '.embedly-card', 2147 '.fb-post', 2148 '.fb-video', 2149 '.instagram-media', 2150 '.reddit', 2151 '.reddit-card', 2152 '.rm-shortcode', 2153 '.spotify', 2154 '.tumblr-embed', 2155 '.twitter-embed', 2156 '.twitter-follow', 2157 '.twitter-tweet', 2158 '.twitter-video', 2159 '.twitter-widget', 2160 'embed', 2161 'iframe', 2162 '[class^="PIN"]' 2163 ]; 2164 2165 var config = [ 2166 { type: "audio", url: "anchor.fm" }, 2167 { type: "audio", url: "open.spotify.com/embed" }, 2168 { type: "audio", url: "player.megaphone.fm" }, 2169 { type: "audio", url: "playlist.megaphone.fm" }, 2170 { type: "audio", url: "w.soundcloud.com" }, 2171 { type: "image", url: "gfycat.com" }, 2172 { type: "image", url: "giphy.com/embed" }, 2173 { type: "image", url: "imgur.com" }, 2174 { type: "image", url: /(pinterest.com\/pin\/\d+\/)(?!.\S)/, span: true }, 2175 { type: "post", url: "facebook.com/plugins/post" }, 2176 { type: "post", url: "instagram.com/p", blockquote: true }, 2177 { type: "post", url: "linkedin.com/embed" }, 2178 { type: "post", url: "embed.tumblr.com/embed/post" }, 2179 { type: "post", url: /twitter.com\/.*\/status\/[0-9]+$/, blockquote: true }, 2180 { type: "video", url: /facebook.com\/.[^\/]*\/plugins\/video/ }, 2181 { type: "video", url: "facebook.com/plugins/video" }, 2182 { type: "video", url: /tiktok.com\/.[^\/]*\/video/, blockquote: true }, 2183 { type: "video", url: "player.vimeo.com" }, 2184 { type: "video", url: "youtube.com/embed" }, 2185 { type: "video", url: "clips.twitch.tv" }, 2186 { type: "video", url: "player.twitch.tv" } 2187 ]; 2188 2189 var sources = [ 2190 'cite', 2191 'data-click-to-open-target', 2192 'data-href', 2193 'data-instgrm-permalink', 2194 'data-lazy-src', 2195 'data-permalink', 2196 'data-pin-href', 2197 'data-src', 2198 'data-src-2x', 2199 'href', 2200 'src' 2201 ]; 2202 2203 // returns false if element is not an embed 2204 function getEmbedRule(tag, url) { 2205 // ensure the url has a proper prefix 2206 if (url.indexOf('http') != 0 && url.indexOf('//') != 0) { 2207 return false;
2208 } 2209 for (var i in config) { 2210 var rule = config[i]; 2211 var match = url.match(rule.url); 2212 if (match && match.length) { 2213 if (tag == 'iframe' || rule[tag]) { 2214 return rule; 2215 } 2216 return false; 2217 } 2218 } 2219 return false; 2220 } 2221 2222 // find elements 2223 var embeds = {}; 2224 var embed_els = document.querySelectorAll(selectors.join(',')); 2225 for (var i = 0; i < embed_els.length; i++) { 2226 var embed_el = embed_els[i]; 2227 try { 2228 var container = embed_el.shadowRoot || embed_el.parentElement; 2229 // find a valid url 2230 for (var j = 0; j < sources.length; j++) { 2231 var source = sources[j]; 2232 var source_els = container.querySelectorAll("[" + source + "]"); 2233 for (var k = 0; k < source_els.length; k++) { 2234 var source_el = source_els[k]; 2235 var tag = source_el.tagName.toLowerCase(); 2236 if (tag == 'iframe' || tag == 'blockquote' || tag == 'span') { 2237 var url = source_el.getAttribute(source); 2238 var rule = getEmbedRule(tag, url); 2239 if (rule) { 2240 if (url[url.length - 1] == '/') { 2241 url = url.substring(0, url.length - 1); 2242 } 2243 embeds[url] = { el: source_el, type: rule.type }; 2244 } 2245 } 2246 } 2247 } 2248 } 2249 catch (err) { 2250 } 2251 } 2252 2253 // gather output 2254 var result = []; 2255 for (var url in embeds) { 2256 if (next) { 2257 next(embeds[url].el, embeds[url].type, url); 2258 } 2259 result.push(url); 2260 } 2261 2262 return result; 2263} 2264st.embeds = st.getEmbeds(); 2265 2266(function() { 2267 window.__sharethis__.COLORS = { 2268 airbnb: '#FF5A5F', 2269 amazon: '#FFB300', 2270 bandcamp: '#1ca0c3', 2271 behance: '#135bf3', 2272 bitbucket: '#2584ff', 2273 blogger: '#ff8000', 2274 blm: '#000000', 2275 bluesky: '#097AFE', 2276 buffer: '#323B43', 2277 copy: '#14682B', 2278 delicious: '#205cc0', 2279 deviantart: '#21ce4e', 2280 diaspora: '#000000', 2281 discord: "#8c9eff", 2282 digg: '#262626', 2283 diigo: '#5285c4', 2284 douban: '#2E963D', 2285 dribbble: '#e44786', 2286 email: '#7d7d7d', 2287 evernote: '#5BA525', 2288 etsy: '#E67E22', 2289 facebook: '#4267B2', 2290 fark: '#6a6a9c', 2291 flickr: '#ff0084', 2292 flipboard: '#e12828', 2293 foursquare: '#0732A2', 2294 gab: '#1acf79', 2295 getpocket: '#ef4056', 2296 gitlab: '#ff492c', 2297 gmail: '#D44638', 2298 goodreads: '#382110', 2299 googlebookmarks: '#4285F4', 2300 googlemaps: '#4185f3', 2301 github: '#333333', 2302 hackernews: '#ff4000', 2303 houzz: '#4DBC15', 2304 instagram: '#bc2a8d', 2305 instapaper: '#000000', 2306 iorbix: '#364447', 2307 kakao: '#F9DD4A', 2308 kindleit: '#363C3D', 2309 kooapp: '#FACD00', 2310 line: '#00c300', 2311 linkedin: '#0077b5', 2312 livejournal: '#00b0ea', 2313 mailru: '#168de2', 2314 medium: '#333333', 2315 meetup: '#e61b3e', 2316 meneame: '#ff6400', 2317 messenger: '#448AFF', 2318 microsoftteams: '#515bc1', 2319 mix: '#ff8226', 2320 naver: '#07bc5e', 2321 nextdoor: '#8ed500', 2322 odnoklassniki: '#d7772d', 2323 outlook: '#3070CB', 2324 patreon: '#F96854', 2325 pinboard: '#1f36f2', 2326 pinterest: '#CB2027', 2327 plurk: '#FF574D', 2328 print: '#222222', 2329 qzone: '#F1C40F', 2330 quora: '#a62100', 2331 refind: '#4286f4', 2332 reddit: '#ff4500', 2333 renren: '#005baa', 2334 sharethis: '#95D03A', 2335 shares: '#0eb2b2', 2336 skype: '#00aff0', 2337 sms: '#ffbd00', 2338 snapchat: '#fffc00', 2339 slideshare: '#057eb0', 2340 soundcloud: '#ff8800', 2341 spotify: '#1ED760', 2342 stackoverflow: '#c66516', 2343 surfingbird: '#6dd3ff', 2344 telegram: '#0088cc', 2345 tencentqq: '#5790F7', 2346 threads: '#000000', 2347 threema: '#000000', 2348 trello: '#0D63DE', 2349 tiktok: '#4c4c4c', 2350 tripadvisor: '#1ABC9C', 2351 tumblr: '#32506d', 2352 twitch: '#6441A4', 2353 twitter: '#000000', 2354 vk: '#4c6c91', 2355 viber: '#645EA4', 2356 vimeo: '#29B6F6', 2357 wechat: '#4EC034', 2358 weibo: '#ff9933', 2359 whatsapp: '#25d366', 2360 wordpress: '#21759b', 2361 xing: '#1a7576', 2362 yelp: '#d32323', 2363 youtube: '#FF0000', 2364 yahoomail: '#720e9e', 2365 yummly: '#E16120', 2366 zillow: '#006aff', 2367 zomato: '#e23844' 2368 }; 2369 2370}).call(this); 2371 2372(function() { 2373 window.__sharethis__.PRODUCTS = ['custom-share-buttons', 'ecommerce', 'email-list-builder', 'ga', 'gdpr-compliance-tool', 'gdpr-compliance-tool-v2', 'image-share-buttons', 'image-share-buttons-wp', 'inline-follow-buttons', 'inline-reaction-buttons', 'inline-share-buttons', 'inline-share-buttons-wp', 'powr-form-builder', 'powr-popup', 'powr-social-feed', 'privacy-policy-generator', 'privy-share-buttons', 'reviews', 'sop', 'sop-wordpress-plugin', 'sticky-share-buttons', 'sticky-share-buttons-wp', 'top-content', 'unknown', 'video-share-buttons', 'viral-notifications']; 2374 2375}).call(this); 2376 2377(function() { 2378 var st; 2379 2380 st = window.__sharethis__; 2381 2382 st.i18n = { 2383 'angry': { 2384 de: 'wütend', 2385 en: 'angry', 2386 es: 'me enoja', 2387 fr: 'grrr', 2388 it: 'grrr', 2389 ja: 'ã²ã©ãã', 2390 ko: 'íëì', 2391 pt: 'ira', 2392 ru: 'bозмÑÑиÑелÑно', 2393 zh: 'æ' 2394 }, 2395 'Support BLM': { 2396 de: 'Steun BLM', 2397 en: 'Support BLM', 2398 es: 'Subtenu BLM', 2399 fr: 'Soutenir BLM', 2400 it: 'Supporta BLM', 2401 ja: 'BLMããµãã¼ã', 2402 ko: 'BLM ì§ì', 2403 pt: 'Suporte BLM', 2404 ru: 'ÐоддеÑжка BLM', 2405 zh: 'æ¯æBLM', 2406 nl: 'Steun BLM', 2407 ar: 'تبرع ÙØµØ§ÙØ BLM', 2408 bn: 'BLM à¦à§ সাপà§à¦°à§à¦ à¦à¦°à§à¦¨', 2409 hi: 'बà¥à¤à¤²à¤à¤® à¤à¥ सहयà¥à¤', 2410 tr: 'BLM yi Destekle', 2411 vi: 'Ủng há» BLM' 2412 }, 2413 'bookmark': { 2414 de: 'lesezeichen', 2415 en: 'mark', 2416 es: 'marcador',
2417 fr: 'signet', 2418 it: 'segnalibro', 2419 ja: 'ããã', 2420 ko: 'ìí', 2421 pt: 'marca páginas', 2422 ru: 'закладка', 2423 zh: '书ç¾', 2424 nl: 'Markeer', 2425 ar: 'ØªØ«Ø¨ÙØª', 2426 bn: 'মারà§à¦', 2427 hi: 'मारà¥à¤', 2428 tr: 'İÅaretle', 2429 vi: 'Äánh dấu' 2430 }, 2431 'email': { 2432 de: 'emailen', 2433 en: 'email', 2434 es: 'correo electrónico', 2435 fr: 'email', 2436 it: 'e-mail', 2437 ja: 'Eã¡ã¼ã«', 2438 ko: 'ì´ë©ì¼', 2439 pt: 'o email', 2440 ru: 'Ðл. адÑеÑ', 2441 zh: 'çµåé®ä»¶', 2442 nl: 'E-mail', 2443 ar: 'إرساÙ', 2444 bn: 'à¦à¦®à§à¦²', 2445 hi: 'à¤à¤®à¥à¤²', 2446 tr: 'E-posta', 2447 vi: 'Email' 2448 }, 2449 'flip': { 2450 de: 'flip', 2451 en: 'flip', 2452 es: 'Flipear', 2453 fr: 'Ajouter', 2454 it: 'Flip', 2455 ja: 'ããªãã', 2456 ko: 'ê³µì í기', 2457 pt: 'partilhar', 2458 ru: 'ФлипнÑÑÑ', 2459 zh: '翻转', 2460 nl: 'Flip', 2461 ar: 'تغÙÙØ±', 2462 bn: 'à¦à¦²à§à¦à¦¾à¦¨', 2463 hi: 'फ़à¥à¤²à¤¿à¤ª', 2464 tr: 'Döndür', 2465 vi: 'Láºt' 2466 }, 2467 'gmail': { 2468 de: 'emailen', 2469 en: 'email', 2470 es: 'correo electrónico', 2471 fr: 'email', 2472 it: 'e-mail', 2473 ja: 'Eã¡ã¼ã«', 2474 ko: 'ì´ë©ì¼', 2475 pt: 'o email', 2476 ru: 'Ðл. адÑеÑ', 2477 zh: 'çµåé®ä»¶' 2478 }, 2479 'like': { 2480 de: 'mögen', 2481 en: 'like', 2482 es: 'me gusta', 2483 fr: "j'aime", 2484 it: 'mi piace', 2485 ja: 'ãããï¼', 2486 ko: 'ì¢ìì', 2487 pt: 'gosto', 2488 ru: 'hÑавиÑÑÑ', 2489 zh: 'èµ' 2490 }, 2491 'lol': { 2492 de: 'lol', 2493 en: 'lol', 2494 es: 'me divierte', 2495 fr: 'haha', 2496 it: 'ahah', 2497 ja: 'ãããã', 2498 ko: 'ì겨ì', 2499 pt: 'riso', 2500 ru: 'xа-Ñ Ð°', 2501 zh: 'ç¬è¶´' 2502 }, 2503 'love': { 2504 de: 'lieben', 2505 en: 'love', 2506 es: 'me encanta', 2507 fr: "jâadore", 2508 it: 'love', 2509 ja: 'è¶ ãããï¼', 2510 ko: 'ìµê³ ìì', 2511 pt: 'adoro', 2512 ru: 'cÑпеÑ', 2513 zh: '大ç±' 2514 }, 2515 'pin': { 2516 de: 'pin', 2517 en: 'pin', 2518 es: 'pin', 2519 fr: 'épingle', 2520 it: 'pin', 2521 ja: 'ãã³', 2522 ko: 'í', 2523 pt: 'pin', 2524 ru: 'Ðин', 2525 zh: 'é', 2526 nl: 'Pin', 2527 ar: 'Ø¨ÙØªØ±Ø³Øª', 2528 bn: 'পিন', 2529 hi: 'पिन', 2530 tr: 'Pinle', 2531 vi: 'Ghim' 2532 }, 2533 'print': { 2534 de: 'drucken', 2535 en: 'print', 2536 es: 'impresión', 2537 fr: 'mpression', 2538 it: 'stampa', 2539 ja: 'ããªã³ã', 2540 ko: 'ì¸ì', 2541 pt: 'impressão', 2542 ru: 'РаÑпеÑаÑаÑÑ', 2543 zh: 'æå°', 2544 nl: 'Print', 2545 ar: 'طباعة', 2546 bn: 'পà§à¦°à¦¿à¦¨à§à¦ à¦à¦°à§à¦¨', 2547 hi: 'पà¥à¤°à¤¿à¤à¤', 2548 tr: 'Yazdır', 2549 vi: 'In' 2550 }, 2551 'sad': { 2552 de: 'traurig', 2553 en: 'sad', 2554 es: 'me entristece', 2555 fr: 'triste', 2556 it: 'sigh', 2557 ja: 'æ²ããã', 2558 ko: 'ì¬í¼ì', 2559 pt: 'tristeza', 2560 ru: 'cоÑÑвÑÑвÑÑ', 2561 zh: 'å¿ç¢' 2562 }, 2563 'send message': { 2564 zh: 'åä¿¡æ¯' 2565 }, 2566 'share': { 2567 de: 'teilen', 2568 en: 'share', 2569 es: 'compartir', 2570 fr: 'partager', 2571 it: 'condividi', 2572 ja: 'ã·ã§ã¢ãã', 2573 ko: 'ê³µì í기', 2574 pt: 'partilhar', 2575 ru: 'ÐоделиÑÑÑÑ', 2576 zh: 'å享', 2577 nl: 'Deel', 2578 ar: 'Ù Ø´Ø§Ø±ÙØ©', 2579 bn: 'শà§à§à¦¾à¦°', 2580 hi: 'शà¥à¤¯à¤°', 2581 tr: 'PaylaÅ', 2582 vi: 'Chia sẻ' 2583 }, 2584 'shares': { 2585 de: 'teilen', 2586 en: 'shares', 2587 es: 'veces compartido', 2588 fr: 'partages', 2589 it: 'condivisioni', 2590 ja: 'ã·ã§ã¢æ°', 2591 ko: 'ì¬ìí', 2592 pt: 'partilhas', 2593 ru: 'ÐеÑепоÑÑÑ', 2594 zh: '次转å', 2595 nl: 'Deel', 2596 ar: 'Ù Ø´Ø§Ø±ÙØ©', 2597 bn: 'শà§à§à¦¾à¦°', 2598 hi: 'शà¥à¤¯à¤°', 2599 tr: 'PaylaÅ', 2600 vi: 'Chia sẻ' 2601 }, 2602 'snapchat': { 2603 de: 'schnappen', 2604 en: 'snap', 2605 es: 'quebrar',
2606 fr: 'se casser', 2607 it: 'affrettato', 2608 ja: 'ã¹ããã', 2609 ko: 'ì¤ë ', 2610 pt: 'foto', 2611 ru: 'ÑелÑок', 2612 zh: 'å¿«ç §', 2613 nl: 'snap', 2614 ar: 'ÙÙØ±ÙØ¹Ø ÙÙÙØ¬Ø±', 2615 bn: 'аÑнаÑÑка', 2616 hi: 'à¤à¤à¤à¤¾à¤¨à¤¾', 2617 tr: 'patlatmak', 2618 vi: 'búng tay' 2619 }, 2620 'sticky-width': { 2621 de: 120, 2622 en: 120, 2623 es: 140, 2624 fr: 130, 2625 it: 140, 2626 ja: 160, 2627 ko: 120, 2628 pt: 130, 2629 ru: 160, 2630 zh: 120 2631 }, 2632 'subjects': { 2633 'en': "I'd like to share a link with you", 2634 'es': "Me gustarÃa compartir este enlace contigo", 2635 'ru': "Я Ñ Ð¾Ñел Ð±Ñ Ð¿Ð¾Ð´ÐµÐ»Ð¸ÑÑÑÑ Ñ Ð²Ð°Ð¼Ð¸ ÑÑÑлкой", 2636 'zh': "ææ³åä½ å享ä¸ä¸ªä¿¡æ¯" 2637 }, 2638 'tweet': { 2639 de: 'tweeten', 2640 en: 'tweet', 2641 es: 'twittear', 2642 fr: 'tweeter', 2643 it: 'twittare', 2644 ja: 'ãã¤ã¼ããã', 2645 ko: 'í¸ìí기', 2646 pt: 'tweetar', 2647 ru: 'tвиÑнÑÑÑ', 2648 zh: '忍', 2649 nl: 'Tweet', 2650 ar: 'تÙÙØªØ±', 2651 bn: 'à¦à§à¦à¦', 2652 hi: 'à¤à¥à¤µà¥à¤', 2653 tr: 'Tweet', 2654 vi: 'Tweet' 2655 }, 2656 'wow': { 2657 de: 'wow', 2658 en: 'wow', 2659 es: 'me asombra', 2660 fr: 'wouah', 2661 it: 'wow', 2662 ja: 'ãããã', 2663 ko: 'ë©ì ¸ì', 2664 pt: 'surpresa', 2665 ru: 'yÑ ÑÑ!', 2666 zh: 'å' 2667 }, 2668 'yahoomail': { 2669 de: 'emailen', 2670 en: 'email', 2671 es: 'correo electrónico', 2672 fr: 'email', 2673 it: 'e-mail', 2674 ja: 'Eã¡ã¼ã«', 2675 ko: 'ì´ë©ì¼', 2676 pt: 'o email', 2677 ru: 'Ðл. адÑеÑ', 2678 zh: 'çµåé®ä»¶' 2679 } 2680 }; 2681 2682}).call(this); 2683 2684(function() { 2685 var img, is_ie8; 2686 2687 img = window.__sharethis__.img; 2688 2689 is_ie8 = /MSIE 8.0/.test(navigator.userAgent); 2690 2691 window.__sharethis__.cdn = 'https://platform-cdn.sharethis.com'; 2692 2693 window.__sharethis__.ICONS = { 2694 airbnb: img('airbnb.svg'), 2695 amazon: img('amazon.svg'), 2696 arrow_left: img('arrow_left.svg'), 2697 arrow_right: img('arrow_right.svg'), 2698 bandcamp: img('bandcamp.svg'), 2699 behance: img('behance.svg'), 2700 blogger: img('blogger.svg'), 2701 blm: img('blm.svg'), 2702 bluesky: img('bluesky.svg'), 2703 bitbucket: img('bitbucket.svg'), 2704 buffer: img('buffer.svg'), 2705 close: img('close.svg'), 2706 copy: img('copy.svg'), 2707 delicious: img('delicious.svg'), 2708 deviantart: img('deviantart.svg'), 2709 diaspora: img('diaspora.svg'), 2710 digg: img('digg.svg'), 2711 diigo: img('diigo.svg'), 2712 discord: img('discord.svg'), 2713 douban: img('douban.svg'), 2714 dribbble: img('dribbble.svg'), 2715 email: img('email.svg'), 2716 evernote: img('evernote.svg'), 2717 etsy: img('etsy.svg'), 2718 facebook: img('facebook.svg'), 2719 fark: img('fark.svg'), 2720 flickr: img('flickr.svg'), 2721 flipboard: img('flipboard.svg'), 2722 gab: img('gab.svg'), 2723 getpocket: img('pocket.svg'), 2724 github: img('github.svg'), 2725 gitlab: img('gitlab.svg'), 2726 gmail: img('gmail.svg'), 2727 googlebookmarks: img('googlebookmarks.svg'), 2728 googlemaps: img('googlemaps.svg'), 2729 hackernews: img('hackernews.svg'), 2730 houzz: img('houzz.svg'), 2731 instagram: img('instagram.svg'), 2732 instapaper: img('instapaper.svg'), 2733 iorbix: img('iorbix.svg'), 2734 kakao: img('kakao.svg'), 2735 kindleit: img('kindleit.svg'), 2736 kooapp: img('kooapp.svg'), 2737 line: img('line.svg'), 2738 linkedin: img('linkedin.svg'), 2739 livejournal: img('livejournal.svg'), 2740 mailru: img('mailru.svg'), 2741 medium: img('medium.svg'), 2742 meneame: img('meneame.svg'), 2743 messenger: img('messenger.svg'), 2744 meetup: img('meetup.svg'), 2745 microsoftteams: img('microsoftteams.svg'), 2746 mix: img('mix.svg'), 2747 naver: img('naver.svg'), 2748 nextdoor: img('nextdoor.svg'), 2749 odnoklassniki: img('odnoklassniki.svg'), 2750 outlook: img('outlook.svg'), 2751 patreon: img('patreon.svg'), 2752 pinboard: img('pinboard.svg'), 2753 pinterest: img('pinterest.svg'), 2754 plurk: img('plurk.svg'), 2755 print: img('print.svg'), 2756 quora: img('quora.svg'), 2757 qzone: img('qzone.svg'), 2758 reddit: img('reddit.svg'), 2759 refind: img('refind.svg'), 2760 renren: img('renren.svg'), 2761 sharethis: img('sharethis.svg'), 2762 skype: img('skype.svg'), 2763 slideshare: img('slideshare.svg'), 2764 sms: img('sms.svg'), 2765 snapchat: img('snapchat.svg'), 2766 soundcloud: img('soundcloud.svg'), 2767 spotify: img('spotify.svg'), 2768 stackoverflow: img('stackoverflow.svg'), 2769 surfingbird: img('surfingbird.svg'), 2770 telegram: img('telegram.svg'), 2771 tencentqq: img('tencentqq.svg'), 2772 threads: img('threads.svg'), 2773 threema: img('threema.svg'), 2774 trello: img('trello.svg'), 2775 tiktok: img('tiktok.svg'), 2776 tripadvisor: img('tripadvisor.svg'), 2777 tumblr: img('tumblr.svg'), 2778 twitch: img('twitch.svg'), 2779 twitter: img('twitter.svg'), 2780 vk: img('vk.svg'), 2781 viber: img('viber.svg'), 2782 vimeo: img('vimeo.svg'), 2783 wechat: img('wechat.svg'), 2784 weibo: img('weibo.svg'), 2785 whatsapp: img('whatsapp.svg'), 2786 wordpress: img('wordpress.svg'), 2787 xing: img('xing.svg'), 2788 yahoomail: img('yahoomail.svg'), 2789 yelp: img('yelp.svg'), 2790 youtube: img('youtube.svg'), 2791 yummly: img('yummly.svg'), 2792 zillow: img('zillow.svg'), 2793 zomato: img('zomato.svg') 2794 }; 2795 2796 window.__sharethis__.ICONS_WHITE = { 2797 airbnb: img('airbnb-white.svg'), 2798 amazon: img('amazon-white.svg'), 2799 bandcamp: img('bandcamp-white.svg'), 2800 behance: img('behance-white.svg'), 2801 blogger: img('blogger-white.svg'), 2802 blm: img('blm-white.svg'), 2803 bluesky: img('bluesky-white.svg'), 2804 bitbucket: img('bitbucket-white.svg'), 2805 buffer: img('buffer-white.svg'), 2806 copy: img('copy-white.svg'), 2807 delicious: img('delicious-white.svg'), 2808 deviantart: img('deviantart-white.svg'), 2809 diaspora: img('diaspora-white.svg'), 2810 digg: img('digg-white.svg'), 2811 diigo: img('diigo-white.svg'), 2812 discord: img('discord-white.svg'), 2813 douban: img('douban-white.svg'), 2814 dribbble: img('dribbble-white.svg'), 2815 email: img('email-white.svg'), 2816 etsy: img('etsy-white.svg'), 2817 evernote: img('evernote-white.svg'), 2818 facebook: img('facebook-white.svg'), 2819 fark: img('fark-white.svg'), 2820 flickr: img('flickr-white.svg'), 2821 flipboard: img('flipboard-white.svg'), 2822 gab: img('gab-white.svg'), 2823 getpocket: img('pocket-white.svg'), 2824 github: img('github-white.svg'), 2825 gitlab: img('gitlab-white.svg'), 2826 gmail: img('gmail-white.svg'), 2827 googlebookmarks: img('googlebookmarks-white.svg'), 2828 googlemaps: img('googlemaps-white.svg'), 2829 hackernews: img('hackernews-white.svg'), 2830 houzz: img('houzz-white.svg'), 2831 instagram: img('instagram-white.svg'), 2832 instapaper: img('instapaper-white.svg'), 2833 iorbix: img('iorbix-white.svg'), 2834 kakao: img('kakao-white.svg'), 2835 kindleit: img('kindleit-white.svg'), 2836 kooapp: img('kooapp-white.svg'), 2837 line: img('line-white.svg'), 2838 linkedin: img('linkedin-white.svg'), 2839 livejournal: img('livejournal-white.svg'), 2840 mailru: img('mailru-white.svg'), 2841 medium: img('medium-white.svg'), 2842 meetup: img('meetup-white.svg'), 2843 meneame: img('meneame-white.svg'), 2844 messenger: img('messenger-white.svg'),
2845 microsoftteams: img('microsoftteams-white.svg'), 2846 mix: img('mix-white.svg'), 2847 naver: img('naver-white.svg'), 2848 nextdoor: img('nextdoor-white.svg'), 2849 odnoklassniki: img('odnoklassniki-white.svg'), 2850 outlook: img('outlook-white.svg'), 2851 patreon: img('patreon-white.svg'), 2852 pinboard: img('pinboard-white.svg'), 2853 pinterest: img('pinterest-white.svg'), 2854 plurk: img('plurk-white.svg'), 2855 print: img('print-white.svg'), 2856 quora: img('quora-white.svg'), 2857 qzone: img('qzone-white.svg'), 2858 reddit: img('reddit-white.svg'), 2859 refind: img('refind-white.svg'), 2860 renren: img('renren-white.svg'), 2861 sharethis: img('sharethis-white.svg'), 2862 skype: img('skype-white.svg'), 2863 slideshare: img('slideshare-white.svg'), 2864 sms: img('sms-white.svg'), 2865 snapchat: img('snapchat-white.svg'), 2866 soundcloud: img('soundcloud-white.svg'), 2867 spotify: img('spotify-white.svg'), 2868 stackoverflow: img('stackoverflow-white.svg'), 2869 surfingbird: img('surfingbird-white.svg'), 2870 telegram: img('telegram-white.svg'), 2871 telegram: img('telegram-white.svg'), 2872 tencentqq: img('tencentqq-white.svg'), 2873 threads: img('threads-white.svg'), 2874 threema: img('threema-white.svg'), 2875 trello: img('trello-white.svg'), 2876 tiktok: img('tiktok-white.svg'), 2877 tripadvisor: img('tripadvisor-white.svg'), 2878 tumblr: img('tumblr-white.svg'), 2879 twitch: img('twitch-white.svg'), 2880 twitter: img('twitter-white.svg'), 2881 vk: img('vk-white.svg'), 2882 viber: img('viber-white.svg'), 2883 vimeo: img('vimeo-white.svg'), 2884 wechat: img('wechat-white.svg'), 2885 weibo: img('weibo-white.svg'), 2886 whatsapp: img('whatsapp-white.svg'), 2887 wordpress: img('wordpress-white.svg'), 2888 xing: img('xing-white.svg'), 2889 yahoomail: img('yahoomail-white.svg'), 2890 ycombinator: img('ycombinator-white.svg'), 2891 yelp: img('yelp-white.svg'), 2892 youtube: img('youtube-white.svg'), 2893 yummly: img('yummly-white.svg'), 2894 zillow: img('zillow-white.svg'), 2895 zomato: img('zomato-white.svg') 2896 }; 2897 2898 if (is_ie8) { 2899 window.__sharethis__.ICONS = { 2900 arrow_left: img('left-arrow.png'), 2901 arrow_right: img('right-arrow.png'), 2902 blogger: img('blogger.png'), 2903 bluesky: img('bluesky.png'), 2904 delicious: img('delicious.png'), 2905 digg: img('digg.png'), 2906 email: img('email.png'), 2907 facebook: img('facebook.png'), 2908 flipboard: img('flipboard.png'), 2909 linkedin: img('linkedin.png'), 2910 livejournal: img('livejournal.png'), 2911 mailru: img('mailru.png'), 2912 meneame: img('mename.png'), 2913 odnoklassniki: img('odnoklassniki.png'), 2914 pinterest: img('pinterest.png'), 2915 print: img('print.png'), 2916 reddit: img('reddit.png'), 2917 sharethis: img('sharethis.png'), 2918 sms: img('sms.png'), 2919 tumblr: img('tumblr.png'), 2920 twitter: img('twitter.png'), 2921 vk: img('vk.png'), 2922 weibo: img('weibo.png'), 2923 whatsapp: img('whatsapp.png'), 2924 xing: img('xing.png'), 2925 wechat: img('wechat.png') 2926 }; 2927 } 2928 2929}).call(this); 2930 2931(function() { 2932 var st; 2933 2934 st = window.__sharethis__; 2935 2936 st.networks = ['airbnb', 'amazon', 'blogger', 'blm', 'bluesky', 'buffer', 'copy', 'diaspora', 'diigo', 'digg', 'discord', 'douban', 'email', 'evernote', 'etsy', 'facebook', 'fark', 'flipboard', 'foursquare', 'gab', 'getpocket', 'github', 'gmail', 'googlebookmarks', 'hackernews', 'houzz', 'instapaper', 'iorbix', 'kakao', 'kindleit', 'kooapp', 'line', 'linkedin', 'livejournal', 'mailru', 'meneame', 'messenger', 'microsoftteams', 'naver', 'nextdoor', 'odnoklassniki', 'outlook', 'pinboard', 'pinterest', 'plurk', 'print', 'qzone', 'reddit', 'refind', 'renren', 'sharethis', 'skype', 'sms', 'snapchat', 'surfingbird', 'telegram', 'tencentqq', 'threads', 'threema', 'tiktok', 'trello', 'tripadvisor', 'tumblr', 'twitter', 'vk', 'viber', 'vimeo', 'wechat', 'weibo', 'whatsapp', 'wordpress', 'xing', 'yahoomail', 'yummly', 'zillow']; 2937 2938 st.shareNetworks = ['blm', 'blogger', 'bluesky', 'buffer', 'copy', 'diaspora', 'digg', 'diigo', 'douban', 'email', 'evernote', 'facebook', 'fark', 'flipboard', 'gab', 'getpocket', 'gmail', 'googlebookmarks', 'hackernews', 'houzz', 'instapaper', 'iorbix', 'kakao', 'kindleit', 'kooapp', 'line', 'linkedin', 'livejournal', 'mailru', 'meneame', 'messenger', 'microsoftteam
2938s', 'naver', 'nextdoor', 'odnoklassniki', 'outlook', 'pinboard', 'pinterest', 'plurk', 'print', 'qzone', 'reddit', 'refind', 'renren', 'sharethis', 'skype', 'sms', 'surfingbird', 'telegram', 'tencentqq', 'threema', 'trello', 'tumblr', 'twitter', 'vk', 'viber', 'wechat', 'weibo', 'whatsapp', 'wordpress', 'xing', 'yahoomail', 'yummly']; 2939 2940 st.followNetworks = ['airbnb', 'amazon', 'bandcamp', 'behance', 'bitbucket', 'blogger', 'bluesky', 'deviantart', 'digg', 'discord', 'dribbble', 'etsy', 'facebook', 'flickr', 'flipboard', 'foursquare', 'github', 'gitlab', 'goodreads', 'googlemaps', 'houzz', 'instagram', 'linkedin', 'medium', 'meetup', 'messenger', 'mix', 'odnoklassniki', 'patreon', 'pinterest', 'quora', 'reddit', 'shares', 'skype', 'slideshare', 'snapchat', 'soundcloud', 'spotify', 'stackoverflow', 'telegram', 'threads', 'tiktok', 'trello', 'tripadvisor', 'tumblr', 'twitch', 'twitter', 'vimeo', 'vk', 'wechat', 'weibo', 'whatsapp', 'xing', 'yelp', 'youtube', 'zillow', 'zomato']; 2941 2942}).call(this); 2943 2944(function() { 2945 var st; 2946 2947 st = window.__sharethis__; 2948 2949 st.loader['share-all'] = function(config) { 2950 var $backdrop, $button, $buttons, $close, $el, common_css, count_url, css, description, html, i, id, image, j, len, len1, logo_link, message, network, network_css, ref, ref1, share_url, src, title, url, username; 2951 if (config == null) { 2952 config = {}; 2953 } 2954 count_url = config.count_url, share_url = config.share_url, url = config.url, description = config.description, image = config.image, message = config.message, network = config.network, title = config.title, username = config.username; 2955 ref = st.newElement(), $el = ref.$el, id = ref.id; 2956 st.addClass($el, 'st-hidden'); 2957 common_css = "body.st-body-no-scroll {\n bottom: 0;\n left: 0;\n overflow: hidden;\n position: fixed;\n right: 0;\n top: 0;\n}\n#" + id + " {\n " + st.FONT_FAMILY + "\n " + (st.TRANSITION()) + "\n height: 100%;\n left: 0;\n opacity: 1;\n position: fixed;\n top: 0;\n width: 100%;\n z-index: 99999;\n}\n#" + id + ".st-hidden {\n opacity: 0;\n top: 100%;\n}\n#" + id + " .st-backdrop {\n background: rgba(0, 0, 0, 0.8);\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 10;\n}\n#" + id + " .st-btns {\n bottom: 56px;\n left: 0;\n margin: 100px auto 0;\n max-width: 90%;\n position: absolute;\n right: 0;\n text-align: center;\n top: 10px;\n z-index: 20;\n overflow-y: auto;\n}\n#" + id + " .st-logo {\n background: #4c4c4c;\n bottom: 0;\n cursor: pointer;\n padding: 20px;\n position: absolute;\n text-align: center;\n width: 100%;\n z-index: 30;\n}\n#" + id + " .st-close {\n " + (st.BORDER_RADIUS(28)) + "\n " + st.BORDER_BOX + "\n background: #999;\n bottom: 28px;\n color: #fff;\n cursor: pointer;\n font-size: 36px;\n height: 56px;\n line-height: 28px;\n padding: 10px;\n position: absolute;\n right: 14px;\n width: 56px;\n z-index: 40;\n}\n#" + id + " .st-disclaimer {\n bottom: 72px;\n color: white;\n font-size: 12px;\n left: 50%;\n position: absolute;\n transform: translate(-50%, 0);\n z-index: 30;\n}\n#" + id + " .st-close > img {\n height: 40px;\n width: 40px;\n}\n#" + id + " .st-btn {\n " + (st.BORDER_RADIUS(4)) + "\n " + st.BORDER_BOX + "\n " + (st.TRANSITION()) + "\n color: white;\n cursor: pointer;\n display: inline-block;\n font-size: 12px;\n font-weight: 400;\n height: 48px;\n line-height: 30px;\n margin: 4px;\n opacity: 1;\n overflow: hidden;\n padding: 8px 12px;\n position: relative;\n text-align: left;\n top: 0;\n vertical-align: top;\n width: 148px;\n}\n#" + id + " .st-btn::before {\n " + (st.BORDER_RADIUS(4)) + "\n " + (st.TRANSITION()) + "\n background: #fff;\n content: '';\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n#" + id + " .st-btn:hover::before {\n opacity: .2;\n}\n#" + id + " .st-btn > svg {\n display: inline-block;\n height: 20px;\n margin-top: 6px;\n vertical-align: top;\n width: 20px;\n}\n#" + id + " .st-btn > img {\n display: inline-block;\n height: 20px;\n margin-top: 6px;\n vertical-align: top;
2957\n width: 20px;\n}\n#" + id + " .st-btn > span {\n display: inline-block;\n letter-spacing: 0.5px;\n text-align: center;\n vertical-align: top;\n width: 96px;\n}\n@media(max-width: 1200px) {\n #" + id + " .st-btns {\n margin-top: 50px;\n }\n}\n@media(max-width: 800px) {\n #" + id + " .st-btns {\n margin: 0 auto;\n max-width: 100%;\n padding: 32px 10px 50px;\n }\n #" + id + " .st-btn {\n width: 130px;\n }\n #" + id + " .st-btn > span {\n width: 74px;\n }\n #" + id + " .st-disclaimer {\n background: #000;\n bottom: 44px;\n font-size: 10px;\n padding: 8px;\n text-align: center;\n width: 100%\n }\n}"; 2958 network_css = ((function() { 2959 var i, len, ref1, results; 2960 ref1 = st.shareNetworks; 2961 results = []; 2962 for (i = 0, len = ref1.length; i < len; i++) { 2963 network = ref1[i]; 2964 results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n background-color: " + st.COLORS[network] + ";\n}"); 2965 } 2966 return results; 2967 })()).join('\n'); 2968 css = common_css; 2969 css += network_css; 2970 st.css(css); 2971 html = "<div class='st-backdrop'></div>"; 2972 html += "<div class='st-btns'>"; 2973 ref1 = st.shareNetworks; 2974 for (i = 0, len = ref1.length; i < len; i++) { 2975 network = ref1[i]; 2976 if (network === 'sharethis') { 2977 continue; 2978 } 2979 if (!st.mobile && (network === 'sms')) { 2980 continue; 2981 } 2982 html += "<div class='st-btn' data-network='" + network + "'>\n " + st.ICONS[network] + "\n <span>" + network + "</span>\n</div>"; 2983 } 2984 html += "</div>"; 2985 src = 'https://platform-cdn.sharethis.com/img/share-this-logo%402x.png'; 2986 logo_link = "https://sharethis.com/platform/share-buttons?" + st.qs({ 2987 utm_source: "share-buttons", 2988 utm_medium: "referral", 2989 utm_campaign: "sharethis-button-referral" 2990 }); 2991 html += "<div class=\"st-logo\">\n <a href=\"" + logo_link + "\" target=\"_blank\">\n <img height=\"16\" width=\"96\" src=\"" + src + "\">\n </a>\n</div>"; 2992 html += "<div class=\"st-close\">\n " + st.ICONS['close'] + "\n</div>"; 2993 html += "<div class=\"st-disclaimer\">\n Third-party platform trademarks and logos appearing here are owned by the\n respective third parties, link to those referenced platforms, and are not\n affiliated with ShareThis.\n</div>"; 2994 $el.innerHTML = html; 2995 $backdrop = $el.querySelector('.st-backdrop'); 2996 $buttons = $el.querySelectorAll('.st-btn'); 2997 $close = $el.querySelector('.st-close'); 2998 st.addEventListener($backdrop, 'click', function() { 2999 return st.close($el); 3000 }); 3001 st.addEventListener($close, 'click', function() { 3002 return st.close($el); 3003 }); 3004 st.addEventListener(document, 'keydown', function(e) { 3005 if (st.isEsc(e)) { 3006 return st.close($el); 3007 } 3008 }); 3009 for (j = 0, len1 = $buttons.length; j < len1; j++) { 3010 $button = $buttons[j]; 3011 st.addEventListener($button, 'click', function() { 3012 st.close($el); 3013 return st.share({ 3014 description: description, 3015 image: image, 3016 network: this.getAttribute('data-network'), 3017 share_url: share_url, 3018 title: title, 3019 url: url, 3020 username: username 3021 }); 3022 }); 3023 } 3024 return setTimeout((function() { 3025 st.removeClass($el, 'st-hidden'); 3026 return st.addClass(document.body, 'st-body-no-scroll'); 3027 }), 10); 3028 }; 3029 3030}).call(this); 3031 3032(function() { 3033 var st; 3034 3035 st = window.__sharethis__; 3036 3037 st.loader['share-wechat-mobile'] = function(config) { 3038 var $backdrop, $close, $copy, $el, $form_input, $open, html, id, mobile_css, ref, src, url; 3039 if (config == null) { 3040 config = {}; 3041 } 3042 url = config.url; 3043 ref = st.newElement(), $el = ref.$el, id = ref.id; 3044 st.addClass($el, 'st-hidden'); 3045 mobile_css = "body.st-body-no-scroll {\n bottom: 0;\n left: 0;\n overflow: hidden;\n position: fixed;\n right: 0;\n top: 0;\n}\n#" + id + " {\n " + (st.TRANSITION()) + "\n " + st.FONT_FAMILY + "\n bottom: 0;\n left: 0;\n opacity: 1;\n overflow-y: auto;\n padding-bottom: 100px;\n position: fixed;\n right: 0;\n text-align: center;\n top: 0;\n width: 100%;\n z-index: 99999;\n}\n\n#" + id + ".st-hidden {\n opacity: 0;\n top: 100%;\n}\n#" + id + " .st-backdrop {\n background: rgba(0, 0, 0, 0.8);\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n z-index: 10;\n}\n#" + id + " .st-wechat {\n margin-top: 120px;\n height: 64px;\n width: 220px;\n display: inline-block;\n position: relative;\n z-index: 10;\n}\n#" + id + " .st-form {\n margin: 20px auto;\n max-width: 80%;\n position: relative;\n width: 320px;\n z-index: 20;\n}\n#" + id + " .st-form > input {\n " + st.BORDER_BOX + "\n " + (st.BORDER_RADIUS(4)) + "\n background-color: #fff;\n border: 0;\n color: #333;\n display: block;\n font-size: 16px;\n height: 48px;\n margin-bottom: 15px;\n padding: 12px;\n width: 100%;\n}\n#" + id + " .st-form > textarea {\n " + st.BORDER_BOX + "\n " + (st.BORDER_RADIUS(4)) + "\n background-color: #fff;\n border: 0;\n color: #333;\n display: block;\n font-size: 16px;\n height: 96px;\n margin-bottom: 15px;\n padding: 12px;\n width: 100%;\n}\n#" + id + " .st-copy {\n " + (st.BORDER_RADIUS(2)) + "\n background: #4EC034;\n color: #fff;
3045\n cursor: pointer;\n display: inline-block;\n height: 36px;\n letter-spacing: .5px;\n line-height: 36px;\n margin: 15px auto 0 auto;\n padding: 0 10px;\n position: relative;\n text-align: center;\n min-width: 120px;\n z-index: 20;\n}\n#" + id + " .st-open {\n " + (st.BORDER_RADIUS(2)) + "\n background: #4EC034;\n color: #fff;\n cursor: pointer;\n display: inline-block;\n height: 36px;\n letter-spacing: .5px;\n line-height: 36px;\n margin: 15px auto 0 auto;\n padding: 0 10px;\n position: relative;\n text-align: center;\n min-width: 120px;\n z-index: 20;\n}\n#" + id + " .st-logo {\n background: #4c4c4c;\n bottom: 0;\n padding: 20px;\n position: fixed;\n text-align: center;\n width: 100%;\n z-index: 30;\n}\n#" + id + " .st-close {\n " + (st.BORDER_RADIUS(28)) + "\n " + st.BORDER_BOX + "\n background: #999;\n bottom: 28px;\n color: #fff;\n cursor: pointer;\n font-size: 36px;\n height: 56px;\n line-height: 28px;\n padding: 10px;\n position: fixed;\n right: 14px;\n width: 56px;\n z-index: 40;\n}"; 3046 st.css(mobile_css); 3047 html = "<div class='st-backdrop'></div>"; 3048 html += "<div class='st-wechat'>" + st.ICONS['wechatIcon'] + "</div>"; 3049 html += "<div class='st-form'>\n <input class=\"st-url\" type=\"text\" value=\"\" />\n</div>"; 3050 html += "<div class=\"st-copy\">Copy URL</div>\n<div class=\"st-open\" style=\"display: none\">Open WeChat</div>"; 3051 src = 'https://platform-cdn.sharethis.com/img/share-this-logo%402x.png'; 3052 html += "<div class=\"st-logo\">\n <img height=\"16\" width=\"96\" src=\"" + src + "\">\n</div>"; 3053 html += "<div class=\"st-close\">\n " + st.ICONS['close'] + "\n</div>"; 3054 $el.innerHTML = html; 3055 $form_input = $el.querySelector('.st-form > input'); 3056 $backdrop = $el.querySelector('.st-backdrop'); 3057 $close = $el.querySelector('.st-close'); 3058 $copy = $el.querySelector('.st-copy'); 3059 $open = $el.querySelector('.st-open'); 3060 $form_input.value = url; 3061 st.addEventListener($backdrop, 'click', function() { 3062 return st.close($el); 3063 }); 3064 st.addEventListener($close, 'click', function() { 3065 return st.close($el); 3066 }); 3067 st.addEventListener($copy, 'click', function() { 3068 var succeed; 3069 $form_input.setSelectionRange(0, $form_input.value.length); 3070 succeed = document.execCommand('copy'); 3071 if (succeed) { 3072 $copy.innerText = 'Copied!'; 3073 $copy.style.background = '#f9a825'; 3074 return $open.style.display = 'inline-block'; 3075 } 3076 }); 3077 st.addEventListener($open, 'click', function() { 3078 var onError; 3079 onError = function(err) { 3080 $open.innerText = err; 3081 $open.style.background = '#c62828'; 3082 if (st.__share_email_timeout) { 3083 clearTimeout(st.__share_email_timeout); 3084 } 3085 return st.__share_email_timeout = setTimeout((function() { 3086 $open.innerText = 'Open'; 3087 return $open.style.background = '#00c853'; 3088 }), 2000); 3089 }; 3090 $open.innerText = 'Opening...'; 3091 $open.style.background = '#f9a825'; 3092 url = 'weixin://'; 3093 return st.open(url); 3094 }); 3095 st.addEventListener(document, 'keydown', function(e) { 3096 if (st.isEsc(e)) { 3097 return st.close($el); 3098 } 3099 }); 3100 return setTimeout((function() { 3101 st.removeClass($el, 'st-hidden'); 3102 return st.addClass(document.body, 'st-body-no-scroll'); 3103 }), 10); 3104 }; 3105 3106}).call(this); 3107 3108(function() { 3109 var st; 3110 3111 st = window.__sharethis__; 3112 3113 st.REACTIONS = { 3114 slight_smile: { 3115 icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><g fill=\"#664e27\"><circle cx=\"20.5\" cy=\"26.6\" r=\"5\"/><circle cx=\"43.5\" cy=\"26.6\" r=\"5\"/><path d=\"m44.6 40.3c-8.1 5.7-17.1 5.6-25.2 0-1-.7-1.8.5-1.2 1.6 2.5 4 7.4 7.7 13.8 7.7s11.3-3.6 13.8-7.7c.6-1.1-.2-2.3-1.2-1.6\"/></g>", 3116 label: 'like' 3117 }, 3118 heart_eyes: { 3119 icon: "<path d=\"M62,32c0,16.6-13.4,30-30,30C15.4,62,2,48.6,2,32C2,15.4,15.4,2,32,2C48.6,2,62,15.4,62,32z\" fill=\"#ffdd67\"/><g fill=\"#f46767\"><path d=\"m61.8 13.2c-.5-2.7-2-4.9-4.5-5.6-2.7-.7-5.1.3-7.4 2.7-1.3-3.6-3.3-6.3-6.5-7.7-3.2-1.4-6.4-.4-8.4 2.1-2.1 2.6-2.9 6.7-.7 12 2.1 5 11.4 15 11.7 15.3.4-.2 10.8-6.7 13.3-9.9 2.5-3.1 3-6.2 2.5-8.9\"/><path d=\"m29 4.7c-2-2.5-5.2-3.5-8.4-2.1-3.2 1.4-5.2 4.1-6.5 7.7-2.4-2.3-4.8-3.4-7.5-2.6-2.4.7-4 2.9-4.5 5.6-.5 2.6.1 5.8 2.5 8.9 2.6 3.1 13 9.6 13.4 9.8.3-.3 9.6-10.3 11.7-15.3 2.2-5.3 1.4-9.3-.7-12\"/></g><path d=\"m49 38.1c0-.8-.5-1.8-1.8-2.1-3.5-.7-8.6-1.3-15.2-1.3-6.6 0-11.7.7-1
31195.2 1.3-1.4.3-1.8 1.3-1.8 2.1 0 7.3 5.6 14.6 17 14.6 11.4-.1 17-7.4 17-14.6\" fill=\"#664e27\"/><path d=\"m44.7 38.3c-2.2-.4-6.8-1-12.7-1-5.9 0-10.5.6-12.7 1-1.3.2-1.4.7-1.3 1.5.1.4.1 1 .3 1.6.1.6.3.9 1.3.8 1.9-.2 23-.2 24.9 0 1 .1 1.1-.2 1.3-.8.1-.6.2-1.1.3-1.6 0-.8-.1-1.3-1.4-1.5\" fill=\"#fff\"/>", 3120 label: 'love' 3121 }, 3122 laughing: { 3123 icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><g fill=\"#664e27\"><path d=\"m51.7 19.4c.6.3.3 1-.2 1.1-2.7.4-5.5.9-8.3 2.4 4 .7 7.2 2.7 9 4.8.4.5-.1 1.1-.5 1-4.8-1.7-9.7-2.7-15.8-2-.5 0-.9-.2-.8-.7 1.6-7.3 10.9-10 16.6-6.6\"/><path d=\"m12.3 19.4c-.6.3-.3 1 .2 1.1 2.7.4 5.5.9 8.3 2.4-4 .7-7.2 2.7-9 4.8-.4.5.1 1.1.5 1 4.8-1.7 9.7-2.7 15.8-2 .5 0 .9-.2.8-.7-1.6-7.3-10.9-10-16.6-6.6\"/><path d=\"m49.7 34.4c-.4-.5-1.1-.4-1.9-.4-15.8 0-15.8 0-31.6 0-.8 0-1.5-.1-1.9.4-3.9 5 .7 19.6 17.7 19.6 17 0 21.6-14.6 17.7-19.6\"/></g><path d=\"m33.8 41.7c-.6 0-1.5.5-1.1 2 .2.7 1.2 1.6 1.2 2.8 0 2.4-3.8 2.4-3.8 0 0-1.2 1-2 1.2-2.8.3-1.4-.6-2-1.1-2-1.6 0-4.1 1.7-4.1 4.6 0 3.2 2.7 5.8 6 5.8s6-2.6 6-5.8c-.1-2.8-2.7-4.5-4.3-4.6\" fill=\"#4c3526\"/><path d=\"m24.3 50.7c2.2 1 4.8 1.5 7.7 1.5s5.5-.6 7.7-1.5c-2.1-1.1-4.7-1.7-7.7-1.7s-5.6.6-7.7 1.7\" fill=\"#ff717f\"/><path d=\"m47 36c-15 0-15 0-29.9 0-2.1 0-2.1 4-.1 4 10.4 0 19.6 0 30 0 2 0 2-4 0-4\" fill=\"#fff\"/>", 3124 label: 'lol' 3125 }, 3126 astonished: { 3127 icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><circle cx=\"19\" cy=\"29\" r=\"11\" fill=\"#fff\"/><path d=\"m24 29c0 2.8-2.2 5-5 5-2.8 0-5-2.2-5-5s2.2-5 5-5c2.8 0 5 2.2 5 5\" fill=\"#664e27\"/><path d=\"m56 29c0 6.1-4.9 11-11 11-6.1 0-11-4.9-11-11 0-6.1 4.9-11 11-11 6.1 0 11 4.9 11 11\" fill=\"#fff\"/><path d=\"m50 29c0 2.8-2.2 5-5 5-2.8 0-5-2.2-5-5s2.2-5 5-5c2.8 0 5 2.2 5 5\" fill=\"#664e27\"/><g fill=\"#917524\"><path d=\"m50.2 15.8c-3.2-2.7-7.5-3.9-11.7-3.1-.6.1-1.1-2-.4-2.2 4.8-.9 9.8.5 13.5 3.6.6.5-1 2.1-1.4 1.7\"/><path d=\"m25.5 12.5c-4.2-.7-8.5.4-11.7 3.1-.4.4-2-1.2-1.4-1.7 3.7-3.2 8.7-4.5 13.5-3.6.7.2.2 2.3-.4 2.2\"/></g><circle cx=\"32\" cy=\"49\" r=\"9\" fill=\"#664e27\"/><path d=\"m26 46c1.2-2.4 3.4-4 6-4 2.6 0 4.8 1.6 6 4h-12\" fill=\"#fff\"/>", 3128 label: 'wow' 3129 }, 3130 sob: { 3131 icon: "<g fill=\"#65b1ef\"><ellipse cx=\"17.5\" cy=\"59.9\" rx=\"12.5\" ry=\"1.5\"/><ellipse cx=\"44\" cy=\"60.2\" rx=\"18\" ry=\"1.8\"/></g><circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><path d=\"m44.7 46c-1.4-3.6-4.8-6-12.7-6-8 0-11.3 2.4-12.7 6-.7 1.9.3 5 .3 5 1.3 3.9 1.1 5 12.4 5 11.3 0 11.1-1.1 12.4-5 0 0 1.1-3.1.3-5\" fill=\"#664e27\"/><path d=\"m41 45c.1-.3 0-.6-.2-.8 0 0-2-2.2-8.8-2.2-6.8 0-8.8 2.2-8.8 2.2-.2.1-.2.5-.2.8l.2.6c.1.3.3.5.5.5h16.6c.2 0 .5-.2.5-.5l.2-.6\" fill=\"#fff\"/><g fill=\"#65b1ef\"><path d=\"m44.5 60.5c2.3 0 4.6 0 6.8 0 8.2-9.9-1.5-20 .9-29.8-2.3 0-4.6 2.5-6.8 2.5-3.2 9.5 7.3 17.4-.9 27.3\"/><path d=\"m19.5 60.5c-2.3 0-4.6 0-6.8 0-8.2-9.9 1.5-20-.9-29.8 2.3 0 4.6 2.5 6.8 2.5 3.2 9.5-7.3 17.4.9 27.3\"/></g><g fill=\"#917524\"><path d=\"m40.7 18.3c3 3 7.2 4.5 11.4 4.1.6-.1.9 2.1.2 2.2-4.9.4-9.7-1.3-13.1-4.8-.6-.5 1.1-1.9 1.5-1.5\"/><path d=\"m12 22.4c4.2.4 8.4-1.1 11.4-4.1.4-.4 2.1 1 1.6 1.5-3.4 3.5-8.3 5.2-13.1 4.8-.9 0-.5-2.2.1-2.2\"/></g><g fill=\"#664e27\"><path d=\"m35.9 30.3c4.2 8 12.7 8 16.9 0 .2-.4-.3-.6-1-1-4.2 3.3-11.1 3-14.9 0-.6.4-1.2.6-1 1\"/><path d=\"m11.2 30.3c4.2 8 12.7 8 16.9 0 .2-.4-.3-.6-1-1-4.2 3.3-11.1 3-14.9 0-.7.4-1.2.6-1 1\"/></g>", 3132 label: 'sad' 3133 }, 3134 rage: { 3135 icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ef5350\"/><path d=\"m41 49.7c-5.8-4.8-12.2-4.8-18 0-.7.6-1.3-.4-.8-1.3 1.8-3.4 5.3-6.5 9.8-6.5s8.1 3.1 9.8 6.5c.5.8-.1 1.8-.8 1.3\" fill=\"#302424\"/><path d=\"m10.2 24.9c-1.5 4.7.6 10 5.3 12.1 4.6 2.2 10 .5 12.7-3.7l-6.9-7.7-11.1-.7\" fill=\"#fff\"/><g fill=\"#302424\"><path d=\"m14.2 25.8c-1.4 2.9-.1 6.4 2.8 7.7 2.9 1.4 6.4.1 7.7-2.8 1-1.9-9.6-6.8-10.5-4.9\"/><path d=\"m10.2 24.9c1.6-1 3.5-1.5 5.4-1.5 1.9 0 3.8.5 5.6 1.3 1.7.8 3.3 2 4.6 3.4 1.2 1.5 2.2 3.2 2.4 5.1-1.3-1.3-2.6-2.4-4-3.4-1.4-1-2.8-1.8-4.2-2.4-1.5-.7-3-1.2-4.6-1.7-1.8-.3-3.4-.6-5.2-.8\"/></g><path d=\"m53.8 24.9c1.5 4.7-.6 10-5.3 12.1-4.6 2.2-10 .5-12.7-3.7l6.9-7.7 11.1-.7\" fill=\"#fff\"/><g fill=\"#302424\"><path d=\"m49.8 25.8c1.4 2.9.1 6.4-2.8 7.7-2.9 1.4-6.4.1-7.7-2.8-1-1.9 9.6-6.8 10.5-4.9\"/><path d=\"m53.8 24.9c-1.6-1-3.5-1.5-5.4-1.5-1.9 0-3.8.5-5.6 1.3-1.7.8-3.3 2-4.6 3.4-1.2 1.5-2.2 3.2-2.4 5.1 1.3-1.3 2.6-2.4 4-3.4 1.4-1 2.8-1.8 4.2-2.4 1.5-.7 3-1.2 4.6-1.7 1.8-.3 3.4-.6 5.2-.8\"/></g>", 3136 label: 'angry'
3137 } 3138 }; 3139 3140}).call(this); 3141 3142(function() { 3143 var i, len, ref, ref1, ref2, ref3, ref4, ref5, ref6, script, scripts, src, st, 3144 indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; 3145 3146 st = window.__sharethis__; 3147 3148 if (st.loaded) { 3149 return; 3150 } 3151 3152 st.loaded = true; 3153 3154 scripts = document.getElementsByTagName('script') || []; 3155 3156 for (i = 0, len = scripts.length; i < len; i++) { 3157 script = scripts[i]; 3158 src = script.getAttribute('src'); 3159 if (/\/js\/sharethis.js/.test(src)) { 3160 st.src = src; 3161 st.cms = (ref = /cms=([a-zA-Z0-9]+)/.exec(src)) != null ? ref[1] : void 0; 3162 st.product = (ref1 = /product=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref1[1] : void 0; 3163 st.property = (ref2 = /property=([a-zA-Z0-9]+)/.exec(src)) != null ? ref2[1] : void 0; 3164 st.source = (ref3 = /source=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref3[1] : void 0; 3165 st.ssb = (ref4 = /ssb=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref4[1] : void 0; 3166 st.account = (ref5 = /account=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref5[1] : void 0; 3167 } 3168 } 3169 3170 if (st.cms == null) { 3171 st.cms = 'unknown'; 3172 } 3173 3174 st.href = document.location.href; 3175 3176 if (st.source == null) { 3177 st.source = 'sharethis.js'; 3178 } 3179 3180 if (st.ssb == null) { 3181 st.ssb = 'false'; 3182 } 3183 3184 if (st.account == null) { 3185 st.account = 'true'; 3186 } 3187 3188 if (st.property == null) { 3189 st.property = 'anonymous'; 3190 } 3191 3192 if (st.product == null) { 3193 st.product = 'unknown'; 3194 } 3195 3196 if (ref6 = st.product, indexOf.call(st.PRODUCTS, ref6) < 0) { 3197 st.product = 'unknown'; 3198 } 3199 3200 st.initialize = function(options) { 3201 st.init = function(config) { 3202 st.config = config; 3203 return window.__sharethis__docReady(function() { 3204 var j, len1, product, ref7, results; 3205 if (typeof window.onShareThisLoaded === "function") { 3206 window.onShareThisLoaded(); 3207 } 3208 ref7 = st.PRODUCTS; 3209 results = []; 3210 for (j = 0, len1 = ref7.length; j < len1; j++) { 3211 product = ref7[j]; 3212 results.push(st.load(product, config[product])); 3213 } 3214 return results; 3215 }); 3216 }; 3217 if (st.config) { 3218 return st.init(st.config); 3219 } 3220 if (st.property !== 'anonymous') { 3221 return st.js("https://buttons-config.sharethis.com/js/" + st.property + ".js"); 3222 } else { 3223 if (st.account === 'false') { 3224 return setTimeout((function() { 3225 return st.load(st.product, { 3226 enabled: true, 3227 is_ssb: st.ssb === 'true', 3228 num_ssb_networks: 6 3229 }); 3230 }), 10); 3231 } else { 3232 return setTimeout((function() { 3233 return st.init({}); 3234 }), 10); 3235 } 3236 } 3237 }; 3238 3239 st.initialize(); 3240 3241 st.ibl(); 3242 3243 st.ecommerce(); 3244 3245 st.floc(); 3246 3247}).call(this); 3248 3249var __stdos__ = __stdos__ || {}; 3250 3251var tpcCookiesEnableCheckingDone = false; 3252var tpcCookiesEnabledStatus = true; 3253 3254if (typeof(__stdos__.data) == "undefined") { 3255 __stdos__.data = { 3256 bInit: false, 3257 pageInfo: {}, 3258 resetPageData: function() { 3259 __stdos__.data.pageInfo.hostname = ""; 3260 __stdos__.data.pageInfo.location = ""; 3261 __stdos__.data.pageInfo.product = "DOS2" 3262 __stdos__.data.pageInfo.url = ""; 3263 __stdos__.data.pageInfo.source = "" 3264 3265 }, 3266 init: function() { 3267 if (!__stdos__.data.bInit) { 3268 __stdos__.data.bInit = true; 3269 __stdos__.data.resetPageData(); 3270 var b = document.location.href; 3271 var a = "", 3272 c = ""; 3273 __stdos__.data.set("fcmp", typeof(window.__cmp) == 'function', "pageInfo"); 3274 __stdos__.data.set("fcmpv2", typeof(window.__tcfapi) == 'function', "pageInfo"); 3275 __stdos__.data.set("has_segmentio", typeof(window.analytics && window.analytics.identify) == 'function', "pageInfo"); 3276 __stdos__.data.set("url", b, "pageInfo"); 3277 __stdos__.data.set("title", document.title, "pageInfo"); 3278 a = (new Date()).getTime().toString(); 3279 c = Number(Math.random().toPrecision(5).toString().substr(2)).toString(); 3280 __stdos__.data.validateRefDomain(); 3281 __stdos__.data.set("hostname", document.location.hostname, "pageInfo"); 3282 __stdos__.data.set("location", document.location.pathname, "pageInfo") 3283 } 3284 }, 3285 validateRefDomain: function() { 3286 var a = __stdos__.data.get("refDomain", "pageInfo"); 3287 if (!a) { 3288 this.setRefDomain(window.document.referrer) 3289 } 3290 }, 3291 setRefDomain: function(a) { 3292 if (a.length == 0) { 3293 return 3294 } 3295 var b = a.replace("http://", "").replace("https://", "").split("/"); 3296 if (b.length > 0) { 3297 a = (typeof(b[0]) != "undefined") ? b[0] : a; 3298 var refQuery = (typeof(b[1]) != "undefined") ? b[1] : ""; 3299 __stdos__.data.set("refQuery", refQuery, "pageInfo"); 3300 __stdos__.data.set("refDomain", a, "pageInfo") 3301 } 3302 }, 3303 set: function(a, c, b) { 3304 if (typeof(c) == "number" || typeof(c) == "boolean") { 3305 __stdos__.data[b][a] = c 3306 } else { 3307 if (typeof(c) == "undefined" || c == null) {} else { 3308 __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(unescape(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25"))); 3309 if (a == "url" || a == "location" || a == "image") { 3310 try { 3311 __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(decodeURI(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25"))) 3312 } catch (d) { 3313 __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(unescape(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25"))) 3314 } 3315 } 3316 } 3317 } 3318 }, 3319 get: function(a, b) { 3320 try { 3321 if (__stdos__.data[b] && __stdos__.data[b][a]) { 3322 return decodeURIComponent(__stdos__.data[b][a]) 3323 } else { 3324 return false 3325 } 3326 } catch (c) { 3327 return false 3328 } 3329 }, 3330 unset: function(a, b) { 3331 if (__stdos__.data[b] && typeof(__stdos__.data[b][a]) != "undefined") { 3332 delete __stdos__.data[b][a] 3333 } 3334 }, 3335 bindEvent: function(element, eventName, eventHandler) { 3336 if (element.addEventListener) { 3337 element.addEventListener(eventName, eventHandler, false); 3338 } else if (element.attachEvent) { 3339 element.attachEvent('on' + eventName, eventHandler); 3340 } 3341 },
3342 debug: function(endpoint, event) { 3343 __stdos__.data.init(); 3344 var a = __stdos__.data.pageInfo; 3345 var c = ""; 3346 var b; 3347 for (b in a) { 3348 c += b + "=" + a[b] + "&" 3349 } 3350 c = c.substring(0, c.length - 1); 3351 3352 var loggerUrl = "https://l.sharethis.com/"; 3353 loggerUrl += endpoint; 3354 loggerUrl += "?event=" + event; 3355 loggerUrl += "&" + c; 3356 3357 var e = new Image(1, 1); 3358 e.src = loggerUrl; 3359 e.onload = function() { 3360 return 3361 }; 3362 }, 3363 parseCookie: function(name, cookie) { 3364 cookie = "; " + cookie 3365 var parts = cookie.split("; "+name+"="); 3366 if(parts.length === 2) { 3367 return parts.pop().split(';').shift(); 3368 }else { 3369 return null; 3370 } 3371 }, 3372 writeCookie: function(name, value, max_age) { 3373 if (!max_age) { 3374 max_age = 33696000 3375 } 3376 var host = (window && window.location && window.location.hostname) || ''; 3377 var parts = host.split('.'); 3378 var domain = ""; 3379 if (parts.length > 1) { 3380 domain = "domain=." + parts.slice(-2).join('.'); 3381 } 3382 var samesite_secure = ""; 3383 try { 3384 document.cookie = "st_samesite=1;SameSite=None;Secure"; 3385 if (__stdos__.data.parseCookie("st_samesite", document.cookie)) { 3386 samesite_secure = "SameSite=None;Secure" 3387 document.cookie = "st_samesite=1;max-age=0;SameSite=None;Secure"; 3388 } 3389 } catch (e) {} 3390 document.cookie = name + "=" + value + ";" + domain + ";path=/;max-age=" + max_age + ";" + samesite_secure; 3391 }, 3392 setConsent: function(consent) { 3393 for(var consent_key in consent) { 3394 __stdos__.data.set(consent_key,consent[consent_key],"pageInfo"); 3395 window.__sharethis__[consent_key] = consent[consent_key]; 3396 } 3397 }, 3398 getEUConsent: function(c) { 3399 3400 function once(fn, context) { 3401 var result; 3402 return function() { 3403 if(fn) { 3404 result = fn.apply(context || this, arguments); 3405 fn = null; 3406 } 3407 return result; 3408 }; 3409 } 3410 3411 var done = once(c); 3412 3413 // set usprivacy first if we have it 3414 var usprivacy = __stdos__.data.parseCookie("usprivacy", document.cookie); 3415 if (usprivacy) __stdos__.data.setConsent({ 3416 usprivacy: usprivacy 3417 }); 3418 3419 // keep track of how long it takes to get consent 3420 var start = Date.now(); 3421 3422 var useCookie = once(function() { 3423 3424 // check for first party cookies 3425 var euconsent_v2 = __stdos__.data.parseCookie("euconsent-v2", document.cookie); 3426 if (euconsent_v2 !== null) { 3427 3428 // use the first party cookie if it exists 3429 __stdos__.data.setConsent({ 3430 gdpr_consent: euconsent_v2, 3431 gdpr_domain: document.location.hostname, 3432 gdpr_method: "cookie" 3433 }); 3434 } 3435 done(); 3436 }); 3437 3438 if (typeof window.__tcfapi == "function") { 3439 3440 // fallback to cookie in case the tcf api is too slow or unavailable 3441 var timeout = setTimeout(useCookie, 5000); 3442 3443 // first we try to get the data from the cmp 3444 // wrap in a try catch since we don't control the tcfapi code on page 3445 try { 3446 3447 const tcfapi_callback = (data) => { 3448 if (data && data.tcString) { 3449 var gdpr_domain = (data.isServiceSpecific) 3450 ? document.location.hostname : ".sharethis.com"; 3451 __stdos__.data.setConsent({ 3452 consent_duration: Date.now() - start, 3453 gdpr_consent: data.tcString, 3454 gdpr_domain: gdpr_domain, 3455 gdpr_method: "api" 3456 }); 3457 clearTimeout(timeout); 3458 done(); 3459 __tcfapi('removeEventListener', 2, () => {}, data.listenerId); 3460 } 3461 } 3462 __tcfapi('addEventListener', 2, tcfapi_callback); 3463 3464 } catch (e) { 3465 3466 // fallback to cookie if there is an error 3467 useCookie(); 3468 } 3469 } else { 3470 3471 // fallback to cookie if the tcfapi doesn't exist 3472 useCookie(); 3473 } 3474 } 3475 }; 3476 __stdos__.data.resetPageData() 3477} 3478__stdos__.logger = { 3479 loggerUrl: "https://l.sharethis.com/", 3480 version: "st_sop.js", 3481 lang: "en", 3482 constructParamString: function() { 3483 var a = __stdos__.data.pageInfo; 3484 var c = ""; 3485 var b; 3486 for (b in a) { 3487 if (a[b] == null || a[b] === "") continue; 3488 c += b + "=" + a[b] + "&" 3489 } 3490 return c.substring(0, c.length - 1) 3491 }, 3492 log: function(a, h, j) { 3493 __stdos__.data.set("ts" + new Date().getTime(), "", "pageInfo") 3494 h = __stdos__.logger.loggerUrl 3495 3496 __stdos__.data.getEUConsent(function(consent){ 3497 if (!window.__sharethis__.consent_queue) { 3498 window.__sharethis__.consent_queue = {} 3499 } 3500 window.__sharethis__.consent_queue.initialized = true; 3501 if (window.__sharethis__.consent_queue.functions) { 3502 for (var i = 0; i < window.__sharethis__.consent_queue.functions.length; i++) { 3503 window.__sharethis__.consent_queue.functions[i](); 3504 } 3505 window.__sharethis__.consent_queue.functions = null; 3506 } 3507 var g = [ 3508 h, 3509 a, 3510 "?event=" + a, 3511 "&" + __stdos__.logger.constructParamString(), 3512 "&version=" + __stdos__.logger.version, 3513 "&lang=" + __stdos__.logger.lang 3514 ].join(''); 3515 var fpestid = __stdos__.data.parseCookie("fpestid", document.cookie);
3516 if (!fpestid) { 3517 try { fpestid = localStorage.getItem("fpestid") } catch(e) {} 3518 } 3519 if (fpestid) { 3520 g += "&fpestid=" + fpestid; 3521 } 3522 var description = window.__sharethis__.getDescription(); 3523 if (description) { 3524 g += "&description=" + encodeURIComponent(description); 3525 } 3526 var gdpr_consent = __stdos__.data.get("gdpr_consent", "pageInfo"); 3527 __stdos__.data.setConsent({ 3528 pview_had_consent: (gdpr_consent) ? true : false 3529 }); 3530 3531 ua_fields = {} 3532 var user_agent_data = {} 3533 window.__sharethis__.ua_fields = ua_fields 3534 try { 3535 if (navigator.userAgentData) { 3536 user_agent_data = navigator.userAgentData; 3537 } 3538 3539 if (Array.isArray(user_agent_data.brands)) { 3540 var ua = "" 3541 user_agent_data.brands.forEach((brand) => { 3542 if (ua) { 3543 ua += ", " 3544 } 3545 ua += `"${brand.brand}";v="${brand.version}"` 3546 }); 3547 g += "&ua=" + encodeURIComponent(ua); 3548 ua_fields.ua = ua 3549 } 3550 3551 if (user_agent_data.mobile !== undefined) { 3552 var ua_mobile = (user_agent_data.mobile) ? "true" : "false"; 3553 g += "&ua_mobile=" + encodeURIComponent(ua_mobile); 3554 ua_fields.ua_mobile = ua_mobile 3555 } 3556 3557 if (user_agent_data.platform) { 3558 var ua_platform = user_agent_data.platform 3559 g += "&ua_platform=" + encodeURIComponent(ua_platform); 3560 ua_fields.ua_platform = ua_platform 3561 } 3562 3563 } catch (e) { 3564 // do nothing for now if it fails 3565 } 3566 3567 // if there is no getHighEntropyValues function create a shell function 3568 // in order to keep the workflow unified 3569 if (!user_agent_data.getHighEntropyValues) { 3570 user_agent_data.getHighEntropyValues = () => { 3571 return new Promise((resolve) => { 3572 resolve({}); 3573 }); 3574 } 3575 } 3576 3577 function once(fn, context) { 3578 var result; 3579 return function() { 3580 if(fn) { 3581 result = fn.apply(context || this, arguments); 3582 fn = null; 3583 } 3584 return result; 3585 }; 3586 } 3587 3588 var sendPageView = once(function() { 3589 3590 try { 3591 try { 3592 if (crypto && crypto.randomUUID) { 3593 g += "&uuid=" + crypto.randomUUID() 3594 } 3595 __stdos__.data.pageInfo.pview_url = g 3596 } catch (e) {} 3597 var c = new XMLHttpRequest(); 3598 c.open("GET", g, true); 3599 c.withCredentials = true; 3600 c.onreadystatechange = function() { 3601 if (this.readyState == this.DONE) { 3602 try { 3603 var res = JSON.parse(c.responseText); 3604 if (typeof(res) !== "undefined") { 3605 __stdos__.data.set("stid", res.stid, "pageInfo"); 3606 if(res.fpestid) { 3607 __stdos__.data.writeCookie("fpestid", res.fpestid, res.fpestid_maxage); 3608 var fpestid_cookie = __stdos__.data.parseCookie("fpestid", document.cookie); 3609 try { 3610 if (!fpestid_cookie) { 3611 localStorage.setItem("fpestid", res.fpestid,); 3612 var timestamp = Math.floor(Date.now() / 1000); 3613 localStorage.setItem("fpestid_timestamp", timestamp.toString()); 3614 } 3615 } 3616 catch(e) {} 3617 } 3618 if(res.status === "true") { 3619 var product = __stdos__.data.get("product", "pageInfo") 3620 3621 if ((product === "ecommerce") || 3622 (product === "privy-share-buttons") || 3623 (product === "ga")) { 3624 return; 3625 } 3626 window.__sharethis__.loadPixel(); 3627 3628 var st_debug = false;
3629 3630 try { 3631 3632 if (window && window.location && window.location.href && window.location.href.endsWith("st_debug=true")) { 3633 st_debug = true 3634 } 3635 3636 // run lotame's panorama id code if indicated by the content rule 3637 if(res.lotame === "true" ) { 3638 !function() { 3639 3640 if (st_debug) { 3641 console.log("lotame firing 1"); 3642 } 3643 3644 // Callback that will be triggered after each call to sync() 3645 // and let you have access to the profile and/or panorama ids 3646 var syncCallback = function (profile) { 3647 3648 if (st_debug) { 3649 console.log("lotame firing 2"); 3650 } 3651 3652 // sync the panorama id 3653 var panorama_id = profile.getPanoramaId(); 3654 if (st_debug) { 3655 console.log(panorama_id); 3656 console.log(res.stid); 3657 } 3658 if (panorama_id && res.stid) { 3659 var url = "https://sync.sharethis.com/panorama" 3660 url += "?uid=" + encodeURIComponent(panorama_id) 3661 url += "&stid=" + encodeURIComponent(res.stid) 3662 st.send(url) 3663 } 3664 3665 }; 3666 3667 var lotame_client_id = '16621'; 3668 var lotame_tag_input = { 3669 config: { 3670 onProfileReady: syncCallback, 3671 } 3672 }; 3673 3674 // Lotame initialization 3675 var lotame_config = lotame_tag_input.config || {}; 3676 var namespace = window['lotame_sync_' + lotame_client_id] = {}; 3677 namespace.config = lotame_config; 3678 namespace.data = {}; 3679 namespace.cmd = namespace.cmd || []; 3680 } (); 3681 3682 window.lotame_sync_16621.cmd.push(function() { 3683 window.lotame_sync_16621.setUserConsent({ 3684 "lotameConsent": true 3685 }); 3686 window.lotame_sync_16621.sync(); 3687 }); 3688 3689 window.__sharethis__.js("https://platform-api.sharethis.com/panorama.js") 3690 } 3691 } catch (e) { 3692 if (st_debug) { 3693 console.log(e) 3694 } 3695 } 3696 3697 } 3698 3699 if(res.dmd === "true") { 3700 window.__sharethis__.js("https://platform-api.sharethis.com/dmd.js") 3701 } 3702 3703 if(res.atlas) { 3704 window.__sharethis__.js("https://platform-api.sharethis.com/atlas-exp.js") 3705 } 3706 3707 } 3708 j ? j() : null 3709 } catch(e) { 3710 } 3711 } 3712 }; 3713 c.send() 3714 } catch (d) { 3715 var e = new Image(1, 1); 3716 e.src = g; 3717 e.onload = function() { 3718 return 3719 }; 3720 j ? j() : null 3721 } 3722 3723 }) 3724 3725 var getOverride = function() { 3726 var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); 3727 if (is_safari) { 3728 var req = new XMLHttpRequest(); 3729 req.open("GET", "https://data.stbuttons.click/data", true); 3730 req.onreadystatechange = function() { 3731 try { 3732 if (this.readyState == this.DONE) { 3733 var res = JSON.parse(req.responseText) 3734 if (res.data) { 3735 __stdos__.data.set("override", res.data,"pageInfo"); 3736 g += "&override=" + encodeURIComponent(res.data); 3737 } 3738 sendPageView() 3739 } 3740 } catch(e) { 3741 sendPageView() 3742 } 3743 } 3744 req.send() 3745 3746 // send page view if request doesn't complete in 2 seconds 3747 setTimeout(sendPageView, 2000) 3748 } else { 3749 sendPageView() 3750 } 3751 } 3752 3753 var high_entropy_fields = [ 3754 "model", 3755 "platformVersion", 3756 "fullVersionList" 3757 ] 3758 3759 user_agent_data.getHighEntropyValues(high_entropy_fields).then((high_entropy_values) => { 3760 3761 try { 3762 3763 if (Array.isArray(high_entropy_values.fullVersionList)) { 3764 var ua_full_version_list = "" 3765 high_entropy_values.fullVersionList.forEach((brand) => { 3766 if (ua_full_version_list) { 3767 ua_full_version_list += ", " 3768 } 3769 ua_full_version_list += `"${brand.brand}";v="${brand.version}"` 3770 }); 3771 g += "&ua_full_version_list=" + encodeURIComponent(ua_full_version_list); 3772 ua_fields.ua_full_version_list = ua_full_version_list 3773 } 3774 3775 if (high_entropy_values.model) { 3776 var ua_model = high_entropy_values.model 3777 g += "&ua_model=" + encodeURIComponent(ua_model); 3778 ua_fields.ua_model = ua_model 3779 } 3780 3781 if (high_entropy_values.platformVersion) { 3782 var ua_platform_version = high_entropy_values.platformVersion 3783 g += "&ua_platform_version=" + encodeURIComponent(ua_platform_version); 3784 ua_fields.ua_platform_version = ua_platform_version 3785 } 3786 3787 } catch (e) { 3788 // do nothing for now 3789 } 3790 3791 getOverride() 3792 3793 }); 3794 3795 }) 3796 } 3797}; 3798 3799(function(){ 3800 var _st = window.__sharethis__; 3801 var st_pview_logged = typeof stlib !== 'undefined' && stlib !== null && stlib.onscriptload; 3802 3803 if (!st_pview_logged && !__stdos__.onscriptload && document.URL.indexOf("edge.sharethis.com") == -1) { 3804 __stdos__.data.init(); 3805 __stdos__.data.set("cms", _st.cms, "pageInfo"); 3806 __stdos__.data.set("publisher", _st.property, "pageInfo") 3807 __stdos__.data.set("product", _st.product, "pageInfo") 3808 __stdos__.data.set("source", _st.source, "pageInfo") 3809 if (_st.embeds && st.embeds.length > 0 && !_st.is_ie) { 3810 __stdos__.data.set("embeds_csv", _st.embeds.join(','), "pageInfo") 3811 /* 3812 setTimeout(function(){ 3813 //_st.js("https://platform-api.sharethis.com/rhombus.js") 3814 }, 3000) 3815 */ 3816 } 3817 __stdos__.data.set("sop", true, "pageInfo") 3818 __stdos__.onscriptload = true; 3819 __stdos__.logger.log("pview"); 3820 } 3821})(); 3822 3823 3824 3825(function() { 3826 var st; 3827 3828 st = window.__sharethis__; 3829 3830 st.loadSsb = function($el, config, load) { 3831 var _xhr, is_preview, num_ssb_networks; 3832 num_ssb_networks = config.num_ssb_networks, is_preview = config.is_preview; 3833 if (num_ssb_networks == null) { 3834 num_ssb_networks = 6; 3835 } 3836 if (is_preview == null) { 3837 is_preview = false;
3838 } 3839 if (is_preview) { 3840 load($el, config); 3841 return; 3842 } 3843 _xhr = new XMLHttpRequest(); 3844 _xhr.open("GET", "https://datasphere-sbsvc.sharethis.com?n=" + num_ssb_networks + "&debug"); 3845 _xhr.responseType = "json"; 3846 _xhr.onload = function() { 3847 var ref, ref1; 3848 if ((ref = _xhr.response) != null ? ref.buttons : void 0) { 3849 config.networks = (ref1 = _xhr.response) != null ? ref1.buttons : void 0; 3850 } 3851 return load($el, config); 3852 }; 3853 return _xhr.send(); 3854 }; 3855 3856}).call(this); 3857 3858(function() { 3859 var st; 3860 3861 st = window.__sharethis__; 3862 3863 st.loader['custom-share-buttons'] = function() { 3864 var $button, $buttons, i, j, len, len1, results; 3865 $buttons = document.querySelectorAll('.st-custom-button'); 3866 if ($buttons.length === 0) { 3867 return; 3868 } 3869 for (i = 0, len = $buttons.length; i < len; i++) { 3870 $button = $buttons[i]; 3871 st.addEventListener($button, 'click', function() { 3872 return st.share({ 3873 count_url: this.getAttribute('data-count-url'), 3874 description: this.getAttribute('data-description'), 3875 image: this.getAttribute('data-image'), 3876 message: this.getAttribute('data-message'), 3877 network: this.getAttribute('data-network'), 3878 share_url: this.getAttribute('data-share-url'), 3879 short_url: this.getAttribute('data-short-url'), 3880 subject: this.getAttribute('data-email-subject'), 3881 title: this.getAttribute('data-title'), 3882 url: this.getAttribute('data-url'), 3883 username: this.getAttribute('data-username') 3884 }); 3885 }); 3886 } 3887 results = []; 3888 for (j = 0, len1 = $buttons.length; j < len1; j++) { 3889 $button = $buttons[j]; 3890 results.push((function($button) { 3891 var $count, data_count_url, data_url, network, url; 3892 network = $button.getAttribute('data-network'); 3893 data_url = $button.getAttribute('data-url'); 3894 data_count_url = $button.getAttribute('data-count-url'); 3895 url = data_count_url || data_url || st.href; 3896 $count = $button.querySelector('.count'); 3897 if ($count) { 3898 return st.loadCounts({ 3899 url: url 3900 }, function(counts) { 3901 var label, ref, value; 3902 ref = counts[network] || {}, label = ref.label, value = ref.value; 3903 if (label && value > 0) { 3904 if ($count != null) { 3905 $count.innerHTML = label; 3906 } 3907 return st.removeClass($button, 'st-hide-label'); 3908 } else { 3909 return st.addClass($button, 'st-hide-label'); 3910 } 3911 }); 3912 } 3913 })($button)); 3914 } 3915 return results; 3916 }; 3917 3918}).call(this); 3919 3920(function() { 3921 var st; 3922 3923 st = window.__sharethis__; 3924 3925 st.loader['email-list-builder'] = function(config) { 3926 var $backdrop, $button, $close, $el, $error, $input, $modal, behavior, button_label, color, common_css, container, css, fade_in, headline, hover_css, html, id, message, onClose, onScroll, onSubmit, property, ref, scroll_down, scroll_timeout, send, show, thanks; 3927 if (config == null) { 3928 config = {}; 3929 } 3930 if (!config.enabled) { 3931 return; 3932 } 3933 color = config.color, button_label = config.button_label, headline = config.headline, message = config.message, property = config.property, thanks = config.thanks, scroll_down = config.scroll_down; 3934 behavior = config.behavior, container = config.container, fade_in = config.fade_in, onClose = config.onClose, onSubmit = config.onSubmit; 3935 if (behavior !== 'show') { 3936 if (st.storage.get('st_email_list_builder_email_collected')) { 3937 return; 3938 } 3939 } 3940 if (color == null) { 3941 color = st.COLORS['sharethis']; 3942 } 3943 if (behavior == null) { 3944 behavior = 'smart'; 3945 } 3946 if (button_label == null) { 3947 button_label = 'Join'; 3948 } 3949 if (fade_in == null) { 3950 fade_in = true; 3951 } 3952 if (headline == null) { 3953 headline = 'SUBSCRIBE VIA EMAIL'; 3954 } 3955 if (message == null) { 3956 message = 'Subscribe to out mailing list to get updates!'; 3957 } 3958 if (property == null) { 3959 property = st.property; 3960 } 3961 if (scroll_down == null) { 3962 scroll_down = 0; 3963 } 3964 if (thanks == null) { 3965 thanks = 'Thank you for subscribing!'; 3966 } 3967 if (container == null) { 3968 container = document.body; 3969 } 3970 if (typeof container === 'string') { 3971 container = document.getElementById(container); 3972 } 3973 ref = st.newElement(null), $el = ref.$el, id = ref.id; 3974 st.addClass($el, 'st-email-list-builder'); 3975 if (fade_in) { 3976 st.addClass($el, 'st-hidden'); 3977 } 3978 common_css = "#" + id + " {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION('opacity')) + "\n bottom: 0;\n display: block;\n left: 0;\n opacity: 1;\n position: fixed;\n right: 0;\n text-align: center;\n top: 0;\n z-index: 9999;\n}\n#" + id + ".st-hidden {\n opacity: 0;\n}\n#" + id + " .st-backdrop {\n background: rgba(0, 0, 0, 0.8);\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 10;\n}\n#" + id + " .st-modal {\n " + (st.BORDER_RADIUS(6)) + "\n " + st.BORDER_BOX + "\n " + (st.TRANSITION('opacity')) + "\n background: #fff;\n border-top: 10px solid " + color + ";\n bottom: 0;\n color: #333;\n margin: 100px auto 0;\n max-width: 90%;\n opacity: 1;\n padding: 20px 40px;\n position: relative;\n width: 600px;\n z-index: 20;\n}\n#" + id + " .st-modal.st-hidden {\n opacity: 0;\n}\n#" + id + " .st-headline {\n margin-bottom: 5px;\n font-size: 32px;\n line-height: 38px;\n}\n#" + id + " .st-message {\n margin-bottom: 25px;\n font-size: 18px;\n line-height: 24px;\n}\n#" + id + " .st-error {\n color: red;\n font-size: 14px;
3978\n line-height: 26px;\n}\n#" + id + " input {\n " + st.BORDER_BOX + "\n " + (st.BORDER_RADIUS(4)) + "\n background-color: #fff;\n border: 1px solid #aeaeae;\n color: #333;\n display: block;\n font-size: 15px;\n height: 48px;\n margin-bottom: 25px;\n padding: 12px;\n text-align: center;\n width: 100%;\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.BORDER_RADIUS(4)) + "\n " + (st.TRANSITION()) + "\n background-color: #fff;\n border: 0;\n background: " + color + ";\n color: #fff;\n cursor: pointer;\n display: inline-block;\n font-size: 18px;\n height: 48px;\n line-height: 48px;\n min-width: 120px;\n padding: 0 20px;\n}\n#" + id + " .st-close {\n " + (st.BOX_SHADOW('0 0 20px black')) + "\n " + (st.BORDER_RADIUS(18)) + "\n background: #555;\n border: 3px solid white;\n cursor: pointer;\n font-size: 24px;\n height: 36px;\n padding-top: 1px;\n position: absolute;\n right: -15px;\n top: -23px;\n width: 36px;\n}"; 3979 hover_css = "#" + id + " .st-btn:hover {\n}"; 3980 css = common_css; 3981 if (!st.mobile) { 3982 css += hover_css; 3983 } 3984 st.css(css); 3985 html = "<div class=\"st-backdrop\"></div>\n<div class=\"st-modal\">\n <div class=\"st-headline\">" + headline + "</div>\n <div class=\"st-message\">" + message + "</div>\n <div class=\"st-error\"></div>\n <input class=\"st-email\" type=\"text\" placeholder=\"[email protected]\" />\n <div class=\"st-btn\">" + button_label + "</div>\n <div class=\"st-close\">\n " + st.ICONS['close'] + "\n </div>\n</div>"; 3986 $el.innerHTML = html; 3987 $backdrop = $el.querySelector('.st-backdrop'); 3988 $button = $el.querySelector('.st-btn'); 3989 $close = $el.querySelector('.st-close'); 3990 $error = $el.querySelector('.st-error'); 3991 $input = $el.querySelector('input'); 3992 $modal = $el.querySelector('.st-modal'); 3993 show = function() { 3994 var onScroll, seen_at; 3995 if (behavior !== 'show') { 3996 seen_at = st.storage.get('st_email_list_builder_seen_at'); 3997 if (Date.now() - seen_at < st.WEEK) { 3998 return; 3999 } 4000 st.storage.set('st_email_list_builder_seen_at', Date.now()); 4001 } 4002 if (container != null) { 4003 container.appendChild($el); 4004 } 4005 if (0 === scroll_down) { 4006 return setTimeout((function() { 4007 return st.removeClass($el, 'st-hidden'); 4008 }), 10); 4009 } else { 4010 onScroll = function(e) {}; 4011 st.addEventListener(document, 'scroll', function(e) { 4012 var scroll_timeout; 4013 if (scroll_timeout) { 4014 clearTimeout(scroll_timeout); 4015 } 4016 return scroll_timeout = setTimeout((function() { 4017 if (st.getScrollDepth() > scroll_down) { 4018 st.removeEventListener(document, 'scroll', onScroll); 4019 return st.removeClass($el, 'st-hidden'); 4020 } 4021 }), 1000); 4022 }); 4023 return st.addEventListener(document, 'scroll', onScroll); 4024 } 4025 }; 4026 st.addEventListener($backdrop, 'click', function() { 4027 st.close($el); 4028 return typeof onClose === "function" ? onClose() : void 0; 4029 }); 4030 st.addEventListener($close, 'click', function() { 4031 st.close($el); 4032 return typeof onClose === "function" ? onClose() : void 0; 4033 }); 4034 st.addEventListener($input, 'keydown', function(e) { 4035 if (st.isEnter(e)) { 4036 send(); 4037 } 4038 return $error.innerHTML = ''; 4039 }); 4040 st.addEventListener($button, 'click', function() { 4041 return send(); 4042 }); 4043 st.addEventListener(document, 'keydown', function(e) { 4044 if (st.isEsc(e)) { 4045 st.close($el); 4046 return typeof onClose === "function" ? onClose() : void 0; 4047 } 4048 }); 4049 send = function() { 4050 var email, url; 4051 email = $el.querySelector('.st-email').value; 4052 url = st.href; 4053 if (!st.isValidEmail(email)) { 4054 $error.innerHTML = 'Please enter a valid email'; 4055 return; 4056 } 4057 st.send(st.API + "/v1.0/email-list-builder/collect", { 4058 email: email, 4059 property: property 4060 }); 4061 st.log({ 4062 event: 'elb-submit', 4063 url: url 4064 }); 4065 st.emit('email-submitted', { 4066 email: email, 4067 property: property, 4068 url: url 4069 }); 4070 st.storage.set('st_email_list_builder_collected', true); 4071 st.addClass($modal, 'st-hidden'); 4072 return setTimeout((function() { 4073 html = "<div class=\"st-headline\">" + thanks + "</div>"; 4074 $modal.innerHTML = html; 4075 st.removeClass($modal, 'st-hidden'); 4076 return setTimeout((function() { 4077 st.close($el); 4078 return typeof onSubmit === "function" ? onSubmit(email) : void 0; 4079 }), 2500); 4080 }), 500); 4081 }; 4082 if (behavior === 'show' || 0 !== scroll_down) { 4083 return show(); 4084 } else { 4085 setTimeout((function() { 4086 return show(); 4087 }), 60 * 1000); 4088 scroll_timeout = null; 4089 onScroll = function(e) { 4090 return st.addEventListener(document, 'scroll', function(e) { 4091 if (scroll_timeout) { 4092 clearTimeout(scroll_timeout); 4093 } 4094 return scroll_timeout = setTimeout((function() { 4095 if (st.getScrollDepth() > 60) { 4096 st.removeEventListener(document, 'scroll', onScroll); 4097 return show(); 4098 } 4099 }), 1000); 4100 }); 4101 }; 4102 return st.addEventListener(document, 'scroll', onScroll); 4103 } 4104 }; 4105 4106}).call(this); 4107 4108(function() { 4109 var st; 4110 4111 st = window.__sharethis__; 4112
4113 st.loader['gdpr-compliance-tool'] = function(config) { 4114 var _xhr, color, commandQueue, display, publisher_name, publisher_purposes, scope; 4115 if (config == null) { 4116 config = {}; 4117 } 4118 if (!config.enabled) { 4119 return; 4120 } 4121 if (window.__cmp) { 4122 return; 4123 } 4124 color = config.color, display = config.display, publisher_name = config.publisher_name, publisher_purposes = config.publisher_purposes, scope = config.scope; 4125 if (color == null) { 4126 color = '#2e7d32'; 4127 } 4128 if (publisher_name == null) { 4129 publisher_name = ''; 4130 } 4131 if (publisher_purposes == null) { 4132 publisher_purposes = []; 4133 } 4134 commandQueue = []; 4135 st.addEventListener('message', function(event) { 4136 return window.__cmp.receiveMessage(event); 4137 }); 4138 window.__cmp = function(command, parameter, callback) { 4139 return commandQueue.push({ 4140 command: command, 4141 paramter: parameter, 4142 callback: callback 4143 }); 4144 }; 4145 window.__cmp.commandQueue = commandQueue; 4146 window.__cmp.receiveMessage = function(event) { 4147 var data; 4148 data = event && event.data && event.data.__cmpCall; 4149 if (data) { 4150 return commandQueue.push({ 4151 callId: data.callId, 4152 command: data.command, 4153 parameter: data.parameter, 4154 event: event 4155 }); 4156 } 4157 }; 4158 window.__cmp.config = { 4159 storeConsentGlobally: scope === 'global', 4160 publisherName: publisher_name, 4161 publisherPurposeList: publisher_purposes, 4162 color: color 4163 }; 4164 if (display === "always") { 4165 __cmp('showConsentTool'); 4166 return st.js("https://gdpr-api.sharethis.com/cmp.js"); 4167 } else if (display === "eu") { 4168 _xhr = new XMLHttpRequest(); 4169 _xhr.open("GET", "https://gdpr-api.sharethis.com/is_eu"); 4170 _xhr.responseType = "json"; 4171 _xhr.onload = (function(_this) { 4172 return function() { 4173 var ref; 4174 if ((ref = _xhr.response) != null ? ref.is_eu : void 0) { 4175 __cmp('showConsentTool'); 4176 return st.js("https://gdpr-api.sharethis.com/cmp.js"); 4177 } 4178 }; 4179 })(this); 4180 return _xhr.send(); 4181 } 4182 }; 4183 4184}).call(this); 4185 4186(function() { 4187 var st; 4188 4189 st = window.__sharethis__; 4190 4191 st.loader['gdpr-compliance-tool-v2'] = function(config) { 4192 var _xhr, background_color, color, display, gear_color, gear_position, language, preview, publisher_name, publisher_purposes, publisher_restrictions, scope, text_color; 4193 if (config == null) { 4194 config = {}; 4195 } 4196 4197 /* 4198 config = { 4199 background_color: '#000000' 4200 color: '#9900ef' 4201 display: 'always' 4202 enabled: true 4203 gear_color: '' 4204 gear_position: 'bottom_left' 4205 language: 'en' 4206 publisher_name: 'ShareThis' 4207 scope: 'global' 4208 text_color: '#ffffff' 4209 } 4210 */ 4211 if (!config.enabled) { 4212 return; 4213 } 4214 preview = config.preview, background_color = config.background_color, color = config.color, display = config.display, gear_color = config.gear_color, gear_position = config.gear_position, language = config.language, publisher_name = config.publisher_name, publisher_purposes = config.publisher_purposes, publisher_restrictions = config.publisher_restrictions, scope = config.scope, text_color = config.text_color; 4215 if (language == null) { 4216 language = 'en'; 4217 } 4218 if (publisher_name == null) { 4219 publisher_name = ''; 4220 } 4221 if (publisher_purposes == null) { 4222 publisher_purposes = []; 4223 } 4224 if (publisher_restrictions == null) { 4225 publisher_restrictions = {}; 4226 } 4227 if (preview == null) { 4228 preview = false; 4229 } 4230 if ((typeof Shopify !== "undefined" && Shopify !== null) && void 0 === (Shopify.designMode != null) && preview === true) { 4231 return; 4232 } 4233 window.__cmpconfig = { 4234 background_color: background_color, 4235 color: color, 4236 gear_color: gear_color, 4237 gear_position: gear_position, 4238 global: scope !== 'publisher', 4239 language: language, 4240 publisher_name: publisher_name, 4241 publisher_restrictions: publisher_restrictions, 4242 purposes: publisher_purposes, 4243 text_color: text_color, 4244 preview: preview 4245 }; 4246 if (display === "always") { 4247 return st.js("https://gdpr-api.sharethis.com/cmp-v2.js"); 4248 } else if (display === "eu") { 4249 _xhr = new XMLHttpRequest(); 4250 _xhr.open("GET", "https://gdpr-api.sharethis.com/is_eu"); 4251 _xhr.responseType = "json"; 4252 _xhr.onload = (function(_this) { 4253 return function() { 4254 var ref; 4255 if ((ref = _xhr.response) != null ? ref.is_eu : void 0) { 4256 return st.js("https://gdpr-api.sharethis.com/cmp-v2.js"); 4257 } 4258 }; 4259 })(this); 4260 return _xhr.send(); 4261 } 4262 }; 4263 4264}).call(this); 4265 4266(function() { 4267 var st; 4268 4269 st = window.__sharethis__; 4270 4271 st.loader['image-share-buttons'] = function(config) { 4272 var $el, $image, $images, alignment, container, enter, exit, i, id, inline_buttons, len, networks, omit_class, onLoad, over_buttons, over_image, padding, radius, ref, size, spacing, src, timeout; 4273 if (config == null) { 4274 config = {}; 4275 } 4276 if (!config.enabled) { 4277 return; 4278 } 4279 alignment = config.alignment, container = config.container, omit_class = config.omit_class, onLoad = config.onLoad, padding = config.padding, networks = config.networks, radius = config.radius, size = config.size, spacing = config.spacing; 4280 if (networks == null) { 4281 networks = ['facebook', 'twitter', 'pinterest', 'email']; 4282 } 4283 if (omit_class == null) { 4284 omit_class = ''; 4285 } 4286 if (padding == null) { 4287 padding = 10; 4288 } 4289 if (radius == null) { 4290 radius = 0; 4291 } 4292 if (size == null) { 4293 size = 40; 4294 } 4295 if (spacing == null) { 4296 spacing = 8; 4297 } 4298 if (typeof container === 'string') { 4299 container = document.getElementById(container); 4300 } 4301 ref = st.newElement(container), $el = ref.$el, id = ref.id; 4302 st.addClass($el, 'st-image-share-buttons'); 4303 $el.style.position = 'absolute'; 4304 inline_buttons = st.load('inline-share-buttons', { 4305 alignment: alignment, 4306 id: id, 4307 enabled: true, 4308 networks: networks, 4309 padding: padding, 4310 radius: radius, 4311 size: size, 4312 spacing: spacing, 4313 onLoad: function() { 4314 st.addClass($el, 'st-hidden'); 4315 return typeof onLoad === "function" ? onLoad() : void 0; 4316 } 4317 }); 4318 timeout = null; 4319 over_buttons = false;
4320 over_image = false; 4321 enter = function($img) { 4322 var left, ref1, src, top; 4323 if (omit_class) { 4324 if (st.hasClass($img, omit_class)) { 4325 return; 4326 } 4327 if (st.hasClass($img.parentNode.parentNode, omit_class)) { 4328 return; 4329 } 4330 if (st.hasClass($img.parentNode, omit_class)) { 4331 return; 4332 } 4333 } 4334 ref1 = st.position($img, container), left = ref1.left, top = ref1.top; 4335 src = $img.getAttribute('src'); 4336 $el.style.width = $img.width + 'px'; 4337 if ($img.height < 200 || $img.width < 200) { 4338 return; 4339 } 4340 if (timeout) { 4341 clearTimeout(timeout); 4342 } 4343 return timeout = setTimeout((function() { 4344 if (inline_buttons != null) { 4345 inline_buttons.modify('image', src); 4346 } 4347 $el.style.left = st.px(left); 4348 $el.style.top = st.px(top); 4349 $el.style.padding = st.px(spacing); 4350 $el.style.boxSizing = 'border-box'; 4351 st.removeClass($el, 'st-hide'); 4352 st.removeClass($el, 'st-hidden'); 4353 return inline_buttons != null ? inline_buttons.resize() : void 0; 4354 }), 10); 4355 }; 4356 exit = function(next) { 4357 if (timeout) { 4358 clearTimeout(timeout); 4359 } 4360 return timeout = setTimeout((function() { 4361 if (over_image || over_buttons) { 4362 return; 4363 } 4364 st.addClass($el, 'st-hide'); 4365 return typeof next === "function" ? next() : void 0; 4366 }), 10); 4367 }; 4368 $images = document.querySelectorAll('img'); 4369 for (i = 0, len = $images.length; i < len; i++) { 4370 $image = $images[i]; 4371 src = $image.getAttribute('src'); 4372 if (/\.(gif|jpg|jpeg|png)$/i.test(src)) { 4373 st.addEventListener($image, 'mouseenter', function() { 4374 over_image = true; 4375 return enter(this); 4376 }); 4377 st.addEventListener($image, 'mouseleave', function() { 4378 over_image = false; 4379 return exit(); 4380 }); 4381 } 4382 } 4383 st.addEventListener($el, 'mouseenter', function() { 4384 return over_buttons = true; 4385 }); 4386 return st.addEventListener($el, 'mouseleave', function() { 4387 over_buttons = false; 4388 return exit(); 4389 }); 4390 }; 4391 4392}).call(this); 4393 4394(function() { 4395 var DOMAINS, load, st; 4396 4397 st = window.__sharethis__; 4398 4399 DOMAINS = { 4400 airbnb: 'https://www.airbnb.com/rooms/', 4401 amazon: 'https://www.amazon.com/gp/profile/', 4402 bandcamp: '', 4403 behance: 'https://www.behance.net/', 4404 bitbucket: 'https://bitbucket.org/', 4405 blogger: 'https://www.blogger.com/', 4406 bluesky: 'https://bsky.app/profile/', 4407 deviantart: '', 4408 digg: 'https://www.digg.com/', 4409 discord: 'https://discord.gg/', 4410 dribbble: 'https://dribbble.com/', 4411 etsy: 'https://www.etsy.com/shop/', 4412 facebook: 'https://www.facebook.com/', 4413 flickr: 'https://www.flickr.com/people/', 4414 flipboard: 'https://flipboard.com/', 4415 foursquare: 'https://foursquare.com/v/', 4416 houzz: 'https://www.houzz.com/user/', 4417 github: 'https://www.github.com/', 4418 gitlab: 'https://gitlab.com/', 4419 googlemaps: '', 4420 goodreads: '', 4421 instagram: 'https://www.instagram.com/', 4422 linkedin: 'https://www.linkedin.com/', 4423 medium: 'https://www.medium.com/', 4424 messenger: 'https://www.messenger.com/', 4425 meetup: 'https://www.meetup.com/members/', 4426 mix: 'https://mix.com/', 4427 odnoklassniki: 'https://ok.ru/', 4428 patreon: 'https://www.patreon.com/', 4429 pinterest: 'https://www.pinterest.com/', 4430 quora: 'https://www.quora.com/', 4431 reddit: 'https://www.reddit.com/', 4432 shares: 'https://shar.es/@', 4433 skype: '', 4434 slideshare: 'https://www.slideshare.net/', 4435 snapchat: 'https://www.snapchat.com/', 4436 soundcloud: 'https://soundcloud.com/', 4437 spotify: 'https://open.spotify.com/', 4438 stackoverflow: 'https://stackoverflow.com/users/', 4439 telegram: 'https://t.me/', 4440 threads: 'https://www.threads.net/@', 4441 tiktok: 'https://www.tiktok.com/@', 4442 trello: 'https://trello.com/', 4443 tripadvisor: 'https://www.tripadvisor.com/Profile/', 4444 tumblr: 'https://www.tumblr.com/', 4445 twitch: 'https://www.twitch.tv/', 4446 twitter: 'https://www.twitter.com/', 4447 vk: 'https://www.vk.com/', 4448 vimeo: 'https://vimeo.com/', 4449 wechat: 'https://web.wechat.com/', 4450 weibo: 'https://www.weibo.com/', 4451 whatsapp: 'https://wa.me/', 4452 xing: 'https://www.xing.com/profile/', 4453 yelp: 'https://www.yelp.com/', 4454 youtube: 'https://www.youtube.com/', 4455 zillow: 'https://www.zillow.com/profile/', 4456 zomato: '' 4457 }; 4458 4459 st.loader['inline-follow-buttons'] = function(config) { 4460 var $el, $els, i, len, results; 4461 if (config == null) { 4462 config = {}; 4463 } 4464 if (!config.enabled) { 4465 return; 4466 } 4467 if (config.id) { 4468 $el = document.getElementById(config.id); 4469 if ($el) { 4470 return load($el, config); 4471 } 4472 } else { 4473 $els = document.querySelectorAll('.sharethis-inline-follow-buttons'); 4474 results = []; 4475 for (i = 0, len = $els.length; i < len; i++) { 4476 $el = $els[i]; 4477 results.push(load($el, config)); 4478 } 4479 return results; 4480 } 4481 }; 4482 4483 load = function($el, config) { 4484 var $button, $buttons, action, action_enable, action_pos, alignment, alignment_opposite, background_color, class_names, color, common_css, css, fade_in, fn, hover_css, html, i, id, index, j, language, len, len1, network, network_css, networks, onLoad, padding, preview, profiles, radius, resize, size, spacing, text_color, text_color_filter, url; 4485 action = config.action, action_enable = config.action_enable, action_pos = config.action_pos, alignment = config.alignment, color = config.color, fade_in = config.fade_in, id = config.id, language = config.language, networks = config.networks, onLoad = config.onLoad, padding = config.padding, profiles = config.profiles, radius = config.radius, size = config.size, spacing = config.spacing, url = config.url, text_color = config.text_color, background_color = config.background_color, preview = config.preview; 4486 alignment_opposite = alignment === 'left' ? 'right' : 'left'; 4487 if (action == null) { 4488 action = 'Follow us:'; 4489 } 4490 if (action_enable == null) { 4491 action_enable = true; 4492 } 4493 if (action_pos == null) { 4494 action_pos = 'top'; 4495 } 4496 if (alignment == null) { 4497 alignment = 'left'; 4498 } 4499 if (color == null) { 4500 color = 'social'; 4501 } 4502 if (fade_in == null) { 4503 fade_in = true; 4504 } 4505 if (language == null) { 4506 language = 'en'; 4507 } 4508 if (networks == null) { 4509 networks = ['facebook', 'twitter', 'pinterest']; 4510 } 4511 if (padding == null) { 4512 padding = 10; 4513 } 4514 if (profiles == null) { 4515 profiles = {}; 4516 } 4517 if (radius == null) { 4518 radius = 0; 4519 } 4520 if (size == null) { 4521 size = 40; 4522 } 4523 if (spacing == null) { 4524 spacing = 8; 4525 } 4526 if (preview == null) { 4527 preview = false;
4528 } 4529 if ((typeof Shopify !== "undefined" && Shopify !== null) && (Shopify.designMode != null)) { 4530 preview = false; 4531 } 4532 if (id == null) { 4533 id = "st-" + (st.uid()); 4534 } 4535 $el.setAttribute('id', id); 4536 st.addClass($el, 'st-inline-follow-buttons'); 4537 st.addClass($el, 'st-#{action_pos}'); 4538 if (fade_in) { 4539 st.addClass($el, 'st-hidden'); 4540 } 4541 if (true === preview) { 4542 st.addClass($el, 'st-preview'); 4543 } 4544 common_css = "#" + id + " {\n " + st.FONT_FAMILY + ";\n direction: ltr;\n display: block;\n opacity: 1;\n text-align: " + alignment + ";\n z-index: 94034;\n}\n#" + id + ".st-animated {\n " + (st.TRANSITION('opacity')) + "\n}\n#" + id + " .st-left {\n display: inline-block;\n padding-top: " + (st.px(size / 4)) + ";\n padding-right: 6px;\n}\n#" + id + ".st-preview {\n display: none!important;\n opacity: 0!important;\n}\n#" + id + " .st-top {\n padding-bottom: " + (st.px(size / 8)) + ";\n}\n#" + id + " .st-right {\n display: inline-block;\n padding-top: " + (st.px(size / 4)) + ";\n padding-left: 4px;\n}\n#" + id + ".st-hidden {\n opacity: " + (fade_in ? 0 : 1) + ";\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION(['opacity', 'top'])) + "\n " + (st.BORDER_RADIUS(radius)) + "\n border: " + (color === 'white' ? 'solid 0.5px #ccc' : 'none') + ";\n cursor: pointer;\n display: inline-block;\n height: " + (st.px(size)) + ";\n line-height: " + (st.px(size)) + ";\n margin-right: " + (spacing ? st.px(spacing) : 0) + ";\n padding: 0 " + (st.px(padding)) + ";\n position: relative;\n text-align: center;\n top: 0;\n vertical-align: top;\n white-space: nowrap;\n}\n#" + id + " .st-btn:last-child {\n margin-right: 0;\n}\n#" + id + " .st-btn > svg {\n height: " + (st.px(size / 2)) + ";\n width: " + (st.px(size / 2)) + ";\n position: relative;\n top: " + (st.px(size / 4)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > img {\n height: " + (st.px(size / 2)) + ";\n width: " + (st.px(size / 2)) + ";\n position: relative;\n top: " + (st.px(size / 4)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > span {\n " + (st.TRANSITION()) + "\n color: #fff;\n display: inline-block;\n font-weight: 500;\n letter-spacing: 0.5px;\n min-width: " + (st.px(30 + Math.floor(size * 15 / 16))) + ";\n opacity: 1;\n padding: 0 6px;\n position: relative;\n vertical-align: top;\n}\n#" + id + ".st-justified {\n display: flex;\n text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n " + st.FLEX + "\n}"; 4545 hover_css = "#" + id + " .st-btn:hover {\n opacity: .8;\n top: -4px;\n}"; 4546 text_color_filter = st.getFilter(text_color); 4547 network_css = ((function() { 4548 var i, len, results; 4549 results = []; 4550 for (i = 0, len = networks.length; i < len; i++) { 4551 network = networks[i]; 4552 results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n background-color: " + ((function() { 4553 switch (color) { 4554 case 'social': 4555 return st.COLORS[network]; 4556 case 'black': 4557 return '#000'; 4558 case 'gray': 4559 return '#eee'; 4560 case 'custom': 4561 return background_color; 4562 case 'white': 4563 return '#fff'; 4564 default: 4565 return '#fff'; 4566 } 4567 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n filter: " + ((function() { 4568 switch (color) { 4569 case 'black': 4570 return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 4571 case 'gray': 4572 return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 4573 case 'custom': 4574 return text_color_filter; 4575 default: 4576 return ''; 4577 } 4578 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n color: " + ((function() { 4579 switch (color) { 4580 case 'white': 4581 return st.COLORS[network]; 4582 case 'black': 4583 return '#fff'; 4584 case 'gray': 4585 return '#000'; 4586 case 'custom': 4587 return '#fff'; 4588 case 'social': 4589 return '#fff'; 4590 default: 4591 return '#fff'; 4592 } 4593 })()) + "\n}"); 4594 } 4595 return results; 4596 })()).join('\n'); 4597 css = common_css; 4598 css += hover_css; 4599 css += network_css; 4600 st.css(css); 4601 html = ''; 4602 networks = st.filterInvalidNetworks(networks, Object.keys(DOMAINS)); 4603 if (action_enable && (action != null ? action.length : void 0) > 0 && action_pos !== 'right') { 4604 html += "<div class='st-" + action_pos + "'>\n <span>" + action + "</span>\n</div>"; 4605 } 4606 for (index = i = 0, len = networks.length; i < len; index = ++i) { 4607 network = networks[index]; 4608 class_names = ['st-btn']; 4609 if (index === 0) { 4610 class_names.push('st-first'); 4611 } 4612 if (index === networks.length - 1) { 4613 class_names.push('st-last'); 4614 } 4615 html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n</div>"; 4616 } 4617 if (action_enable && (action != null ? action.length : void 0) > 0 && action_pos === 'right') { 4618 html += "<div class='st-" + action_pos + "'>\n <span>" + (st.capitalize(action)) + "</span>\n</div>"; 4619 } 4620 $el.innerHTML = html; 4621 $buttons = $el.querySelectorAll('.st-btn'); 4622 resize = function() { 4623 var $button, actual, available, j, k, len1, results; 4624 available = $el.offsetWidth; 4625 actual = function() { 4626 var $button, j, len1, width; 4627 width = action_enable ? 70 : 0; 4628 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4629 $button = $buttons[j]; 4630 if ($button.style.display === 'none') { 4631 continue; 4632 } 4633 if (alignment === 'justified') { 4634 width += 160; 4635 } else { 4636 width += $button.offsetWidth + spacing; 4637 } 4638 } 4639 return width; 4640 }; 4641 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4642 $button = $buttons[j]; 4643 $button.style.display = 'inline-block'; 4644 } 4645 results = []; 4646 for (index = k = $buttons.length - 1; k >= 0; index = k += -1) { 4647 $button = $buttons[index]; 4648 if (actual() > available) { 4649 results.push($button.style.display = 'none'); 4650 } else { 4651 results.push(void 0); 4652 } 4653 } 4654 return results; 4655 }; 4656 st.addEventListener(window, 'resize', resize); 4657 fn = function($button) { 4658 return st.addEventListener($button, 'click', function() { 4659 var follow_url; 4660 network = $button.getAttribute('data-network'); 4661 follow_url = DOMAINS[network] + (profiles[network] || ''); 4662 if (network === 'youtube' && profiles[network]) { 4663 follow_url += '?sub_confirmation=1'; 4664 } 4665 if (network === 'tumblr' && profiles[network]) { 4666 follow_url = DOMAINS[network].replace('www', profiles[network]); 4667 } 4668 st.follow({ 4669 follow_url: follow_url, 4670 network: network, 4671 url: url || $el.getAttribute('data-url') 4672 }); 4673 return typeof onLoad === "function" ? onLoad() : void 0; 4674 }); 4675 }; 4676 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4677 $button = $buttons[j]; 4678 fn($button); 4679 } 4680 resize(); 4681 if (fade_in) { 4682 st.addClass($el, 'st-animated'); 4683 } 4684 if (fade_in) { 4685 st.removeClass($el, 'st-hidden'); 4686 } 4687 if (typeof onLoad === "function") { 4688 onLoad(); 4689 } 4690 return { 4691 $buttons: $buttons, 4692 $el: $el, 4693 id: id, 4694 resize: resize 4695 }; 4696 }; 4697 4698}).call(this); 4699 4700(function() { 4701 var load, st; 4702 4703 st = window.__sharethis__; 4704 4705 st.loader['inline-reaction-buttons'] = function(config) { 4706 var $el, $els, i, len, results; 4707 if (config == null) { 4708 config = {}; 4709 } 4710 if (!config.enabled) { 4711 return; 4712 } 4713 if (config.id) { 4714 $el = document.getElementById(config.id); 4715 return load($el, config); 4716 } else { 4717 $els = document.querySelectorAll('.sharethis-inline-reaction-buttons'); 4718 results = []; 4719 for (i = 0, len = $els.length; i < len; i++) { 4720 $el = $els[i]; 4721 results.push(load($el, config)); 4722 } 4723 return results; 4724 } 4725 }; 4726 4727 load = function($el, config) { 4728 var $buttons, alignment, class_names, common_css, css, data_url, fade_in, hover_css, html, i, id, index, item, k, label_span, language, len, min_count, onLoad, onReact, padding, reaction, reactions, ref, ref1, resize, selected_reaction, size, url;
4729 alignment = config.alignment, id = config.id, language = config.language, min_count = config.min_count, padding = config.padding, reactions = config.reactions, size = config.size, url = config.url; 4730 fade_in = config.fade_in, onLoad = config.onLoad, onReact = config.onReact; 4731 data_url = $el.getAttribute('data-url'); 4732 if (fade_in == null) { 4733 fade_in = true; 4734 } 4735 if (min_count == null) { 4736 min_count = 0; 4737 } 4738 if (reactions == null) { 4739 reactions = (function() { 4740 var results; 4741 results = []; 4742 for (k in st.REACTIONS) { 4743 results.push(k); 4744 } 4745 return results; 4746 })(); 4747 } 4748 if (padding == null) { 4749 padding = 10; 4750 } 4751 if (language == null) { 4752 language = 'en'; 4753 } 4754 if (size == null) { 4755 size = 48; 4756 } 4757 if (url == null) { 4758 url = data_url || st.href; 4759 } 4760 selected_reaction = st.storage.get("st_reaction_" + url); 4761 if (id == null) { 4762 id = "st-" + (st.uid()); 4763 } 4764 $el.setAttribute('id', id); 4765 st.addClass($el, ["st-inline-reaction-buttons", "st-" + alignment, selected_reaction ? "st-reacted" : void 0, fade_in ? 'st-hidden' : void 0, language ? 'st-has-labels' : void 0, language !== 'en' ? "st-lang-" + language : void 0]); 4766 common_css = "#" + id + " {\n " + st.FONT_FAMILY + "\n " + (st.TRANSITION('opacity')) + "\n direction: ltr;\n display: block;\n opacity: 1;\n text-align: " + alignment + ";\n}\n#" + id + ".st-hidden {\n opacity: " + (fade_in ? 0 : 1) + ";\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION()) + "\n display: inline-block;\n font-size: " + (st.px(size / 2)) + ";\n line-height: " + (st.px(size / 2)) + ";\n opacity: 1;\n padding: " + (st.px(padding)) + ";\n position: relative;\n text-align: center;\n vertical-align: top;\n white-space: nowrap;\n width: " + (st.px(size + 2 * padding)) + ";\n}\n#" + id + " .st-btn > svg {\n display: block;\n height: " + (st.px(size)) + ";\n margin: auto;\n width: " + (st.px(size)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > span {\n " + (st.TRANSITION('font-size')) + ";\n color: #555;\n font-size: 14px;\n font-weight: 400;\n letter-spacing: 0.5px;\n vertical-align: top;\n}\n#" + id + " .st-btn .st-count.st-grow {\n font-size: 18px;\n}\n#" + id + " .st-btn.st-hide-count .st-count {\n opacity: 0;\n}\n#" + id + " .st-btn .st-text {\n display: none;\n font-weight: bold;\n line-height: 12px;\n white-space: normal;\n word-break: break-all;\n}\n#" + id + ".st-justified {\n display: flex;\n text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n " + st.FLEX + "\n}\n#" + id + " .st-btn.st-selected {\n " + (st.TRANSFORM("scale(1.2)")) + "\n}\n#" + id + ".st-reacted .st-btn:not(.st-selected) {\n filter: grayscale(100%);\n}"; 4767 hover_css = "#" + id + ":not(.st-reacted) .st-btn:hover {\n " + (st.TRANSFORM("scale(1.2)")) + "\n cursor: pointer;\n}\n#" + id + ":not(.st-reacted) .st-btn:active {\n " + (st.TRANSFORM("scale(1.4)")) + "\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover .st-count {\n display: none;\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover .st-text {\n display: block;\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover span {\n font-size: 10px;\n}"; 4768 css = common_css; 4769 if (!st.mobile) { 4770 css += hover_css; 4771 } 4772 st.css(css); 4773 html = ''; 4774 for (index = i = 0, len = reactions.length; i < len; index = ++i) { 4775 reaction = reactions[index]; 4776 if (!st.REACTIONS[reaction]) { 4777 continue; 4778 } 4779 item = st.REACTIONS[reaction]; 4780 class_names = ['st-btn']; 4781 if (reaction === selected_reaction) { 4782 class_names.push('st-selected'); 4783 } 4784 if (index === 0) { 4785 class_names.push('st-first'); 4786 } 4787 if (index === reactions.length - 1) { 4788 class_names.push('st-last'); 4789 } 4790 if (language) { 4791 label_span = "<span class=\"st-text\">\n " + ((ref = st.i18n[item.label]) != null ? (ref1 = ref[language]) != null ? ref1.toUpperCase() : void 0 : void 0) + "\n</span>"; 4792 } else { 4793 label_span = ''; 4794 } 4795 html += "<div class='" + (class_names.join(' ')) + "' data-reaction='" + reaction + "'>
4795\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 64\"\n enable-background=\"new 0 0 64 64\"\n >\n " + item.icon + "\n </svg>\n <span class=\"st-count\"></span>\n " + label_span + "\n</div>"; 4796 } 4797 $el.innerHTML = html; 4798 $buttons = $el.querySelectorAll('.st-btn'); 4799 resize = function() { 4800 var $button, actual, available, j, len1, results, shrink_by; 4801 available = $el.offsetWidth; 4802 actual = function() { 4803 var $button, j, len1, width; 4804 width = 0; 4805 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4806 $button = $buttons[j]; 4807 width += size + 2 * padding; 4808 } 4809 return width; 4810 }; 4811 if (actual() > available) { 4812 shrink_by = available / actual(); 4813 results = []; 4814 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4815 $button = $buttons[j]; 4816 $button.style.padding = st.px(padding * shrink_by); 4817 $button.style.width = st.px((size + 2 * padding) * shrink_by); 4818 $button.querySelector('svg').style.width = st.px(size * shrink_by); 4819 results.push($button.querySelector('svg').style.height = st.px(size * shrink_by)); 4820 } 4821 return results; 4822 } 4823 }; 4824 return st.loadCounts({ 4825 url: url 4826 }, function(counts) { 4827 var $button, fn, j, l, label, len1, len2, ref2, ref3, value; 4828 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4829 $button = $buttons[j]; 4830 reaction = $button.getAttribute('data-reaction'); 4831 ref2 = counts[reaction] || {}, label = ref2.label, value = ref2.value; 4832 if ((ref3 = $button.querySelector('.st-count')) != null) { 4833 ref3.innerHTML = label; 4834 } 4835 if (label && value >= min_count) { 4836 st.removeClass($button, 'st-hide-count'); 4837 } else { 4838 st.addClass($button, 'st-hide-count'); 4839 } 4840 } 4841 resize(); 4842 if (fade_in) { 4843 st.removeClass($el, 'st-hidden'); 4844 } 4845 st.addEventListener(window, 'resize', resize); 4846 fn = function($button) { 4847 return st.addEventListener($button, 'click', function() { 4848 if (st.hasClass($el, 'st-reacted')) { 4849 return; 4850 } 4851 reaction = $button.getAttribute('data-reaction'); 4852 st.addClass($el, 'st-reacted'); 4853 st.addClass($button, 'st-selected'); 4854 st.react({ 4855 reaction: reaction, 4856 url: url 4857 }); 4858 st.inc($button.querySelector('.st-count')); 4859 st.storage.set("st_reaction_" + url, reaction); 4860 return typeof onReact === "function" ? onReact(reaction) : void 0; 4861 }); 4862 }; 4863 for (l = 0, len2 = $buttons.length; l < len2; l++) { 4864 $button = $buttons[l]; 4865 fn($button); 4866 } 4867 return typeof onLoad === "function" ? onLoad() : void 0; 4868 }); 4869 }; 4870 4871}).call(this); 4872 4873(function() { 4874 var load, st; 4875 4876 st = window.__sharethis__; 4877 4878 st.loader['inline-share-buttons'] = function(config) { 4879 var $el, $els, i, id, len, loadFn, ref, results; 4880 if (config == null) { 4881 config = {}; 4882 } 4883 if (!config.enabled) { 4884 return; 4885 } 4886 loadFn = load; 4887 if (config.is_ssb) { 4888 loadFn = st.loadSsb; 4889 } 4890 if (config.id) { 4891 $el = document.getElementById(config.id); 4892 if ($el) { 4893 return loadFn($el, config, load); 4894 } 4895 } else if (config.container) { 4896 if (typeof config.container === 'string') { 4897 config.container = document.getElementById(config.container); 4898 } 4899 ref = st.newElement(config.container), $el = ref.$el, id = ref.id; 4900 config.id = id; 4901 if ($el) { 4902 return loadFn($el, config, load); 4903 } 4904 } else { 4905 $els = document.querySelectorAll('.sharethis-inline-share-buttons'); 4906 results = []; 4907 for (i = 0, len = $els.length; i < len; i++) { 4908 $el = $els[i]; 4909 results.push(loadFn($el, config, load)); 4910 } 4911 return results; 4912 } 4913 }; 4914 4915 load = function($el, config) { 4916 var $button, $buttons, $total, $total_label, alignment, alignment_opposite, background_color, class_names, color, common_css, css, description, fade_in, fn, font_size, hover_css, html, i, id, image, index, j, k, label, label_span, labels, language, len, len1, len2, message, min_count, mobile_css, modify, network, network_css, networks, onLoad, padding, preview, radius, ref, resize, show_mobile_buttons, show_total, size, spacing, subject, text_color, text_color_filter, title, url, use_native_counts, username; 4917 color = config.color, fade_in = config.fade_in, onLoad = config.onLoad, alignment = config.alignment, font_size = config.font_size, language = config.language, padding = config.padding, radius = config.radius, size = config.size, spacing = config.spacing, id = config.id, labels = config.labels, min_count = config.min_count, networks = config.networks, show_total = config.show_total, use_native_counts = config.use_native_counts, show_mobile_buttons = config.show_mobile_buttons, url = config.url, title = config.title, image = config.image, description = config.description, username = config.username, message = config.message, subject = config.subject, text_color = config.text_color, background_color = config.background_color, preview = config.preview; 4918 alignment_opposite = alignment === 'left' ? 'right' : 'left'; 4919 if (alignment == null) { 4920 alignment = 'left'; 4921 } 4922 if (background_color == null) { 4923 background_color = '#B581A3'; 4924 } 4925 if (color == null) { 4926 color = 'social'; 4927 } 4928 if (fade_in == null) { 4929 fade_in = true; 4930 } 4931 if (font_size == null) { 4932 font_size = 12; 4933 } 4934 if (text_color == null) { 4935 text_color = '#fff'; 4936 } 4937 if (language == null) { 4938 language = 'en'; 4939 } 4940 if (min_count == null) { 4941 min_count = 0; 4942 } 4943 if (networks == null) { 4944 networks = ['facebook', 'twitter', 'pinterest', 'email', 'sharethis']; 4945 } 4946 if (padding == null) { 4947 padding = 10; 4948 } 4949 if (radius == null) { 4950 radius = 0; 4951 } 4952 if (show_mobile_buttons == null) { 4953 show_mobile_buttons = st.mobile; 4954 } 4955 if (size == null) { 4956 size = 40; 4957 } 4958 if (spacing == null) { 4959 spacing = 8; 4960 } 4961 if (subject == null) { 4962 subject = st.i18n['subjects'][language]; 4963 } 4964 if (use_native_counts == null) { 4965 use_native_counts = true; 4966 } 4967 if (preview == null) { 4968 preview = false;
4969 } 4970 if ((typeof Shopify !== "undefined" && Shopify !== null) && (Shopify.designMode != null)) { 4971 preview = false; 4972 } 4973 if (id == null) { 4974 id = "st-" + (st.uid()); 4975 } 4976 $el.setAttribute('id', id); 4977 st.addClass($el, ["st-" + alignment, language !== 'en' ? "st-lang-" + language : void 0, labels === 'counts' || labels === 'cta' ? 'st-has-labels' : void 0, fade_in ? 'st-hidden' : void 0, true === preview ? 'st-preview' : void 0, 'st-inline-share-buttons']); 4978 common_css = "#" + id + " {\n " + st.FONT_FAMILY + ";\n direction: ltr;\n display: block;\n opacity: 1;\n text-align: " + alignment + ";\n z-index: 94034;\n}\n#" + id + ".st-animated {\n " + (st.TRANSITION('opacity')) + "\n}\n#" + id + ".st-hidden {\n opacity: " + (fade_in ? 0 : 1) + ";\n}\n\n#" + id + ".st-preview {\n display: none!important;\n opacity: 0!important;\n}\n#" + id + ".st-hide {\n display: none;\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION(['opacity', 'top'])) + "\n " + (st.BORDER_RADIUS(radius)) + "\n border: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n cursor: pointer;\n display: inline-block;\n font-size: " + (st.px(font_size)) + ";\n height: " + (st.px(size)) + ";\n line-height: " + (st.px(size)) + ";\n margin-right: " + (spacing ? st.px(spacing) : 0) + ";\n padding: 0 " + (st.px(padding)) + ";\n position: relative;\n text-align: center;\n top: 0;\n vertical-align: top;\n white-space: nowrap;\n}\n#" + id + " .st-btn:last-child {\n margin-right: 0;\n}\n#" + id + " .st-btn > svg {\n height: " + (st.px(size / 2)) + ";\n width: " + (st.px(size / 2)) + ";\n position: relative;\n top: " + (st.px(size / 4)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > img {\n display: inline-block;\n height: " + (st.px(size / 2)) + ";\n width: " + (st.px(size / 2)) + ";\n position: relative;\n top: " + (st.px(size / 4)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > span {\n " + (st.TRANSITION()) + "\n color: #fff;\n display: inline-block;\n font-weight: 500;\n letter-spacing: 0.5px;\n min-width: " + (st.px(30 + Math.floor(size * 15 / 16))) + ";\n opacity: 1;\n padding: 0 6px;\n position: relative;\n vertical-align: top;\n}\n#" + id + ".st-has-labels .st-btn {\n min-width: " + (st.px(60 + Math.floor(size * 15 / 8))) + ";\n}\n#" + id + ".st-has-labels .st-btn.st-remove-label {\n min-width: 50px;\n}\n#" + id + ".st-has-labels .st-btn.st-remove-label > span {\n display: none;\n}\n#" + id + ".st-has-labels .st-btn.st-hide-label > span {\n display: none;\n}\n#" + id + " .st-total {\n color: #555;\n display: inline-block;\n font-weight: 500;\n line-height: " + (st.px(.375 * size)) + ";\n margin-right: 0;\n max-width: 80px;\n padding: 4px 8px;\n text-align: center;\n}\n#" + id + " .st-total.st-hidden {\n display: none;\n}\n#" + id + " .st-total > span {\n font-size: " + (st.px(.5 * size)) + ";\n line-height: " + (st.px(.55 * size)) + ";\n display: block;\n padding: 0;\n}\n#" + id + " .st-total > span.st-shares {\n font-size: " + (st.px(.3 * size)) + ";\n line-height: " + (st.px(.3 * size)) + ";\n}\n#" + id + ".st-justified {\n display: flex;\n text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n " + st.FLEX + "\n}"; 4979 hover_css = "#" + id + " .st-btn:hover {\n opacity: .8;\n top: -4px;\n}"; 4980 mobile_css = "#" + id + " {\n bottom: 0;"; 4981 text_color_filter = st.getFilter(text_color); 4982 network_css = ((function() { 4983 var i, len, results; 4984 results = []; 4985 for (i = 0, len = networks.length; i < len; i++) { 4986 network = networks[i]; 4987 results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n background-color: " + ((function() { 4988 switch (color) { 4989 case 'social': 4990 return st.COLORS[network]; 4991 case 'black': 4992 return '#000'; 4993 case 'gray': 4994 return '#eee'; 4995 case 'custom': 4996 return background_color; 4997 case 'white': 4998 return '#fff'; 4999 default: 5000 return '#fff'; 5001 } 5002 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n filter: " + ((function() { 5003 switch (color) { 5004 case 'black': 5005 return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 5006 case 'gray': 5007 return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 5008 case 'custom': 5009 return text_color_filter; 5010 default: 5011 return ''; 5012 } 5013 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n color: " + ((function() { 5014 switch (color) { 5015 case 'white': 5016 return st.COLORS[network]; 5017 case 'black': 5018 return '#fff'; 5019 case 'gray': 5020 return '#000'; 5021 case 'custom': 5022 return text_color; 5023 case 'social': 5024 return '#fff'; 5025 default: 5026 return '#fff'; 5027 } 5028 })()) + "\n}"); 5029 } 5030 return results; 5031 })()).join('\n'); 5032 network_css += "#" + id + " .st-btn[data-network='snapchat'] > span {\n color: " + (color === 'black' ? '#fff' : '#333') + "};\n}"; 5033 css = common_css; 5034 if (!st.mobile) { 5035 css += hover_css; 5036 } 5037 css += network_css; 5038 st.css(css); 5039 html = ''; 5040 networks = st.filterInvalidNetworks(networks); 5041 if (!show_mobile_buttons) { 5042 ref = ['sms']; 5043 for (i = 0, len = ref.length; i < len; i++) { 5044 network = ref[i]; 5045 index = networks.indexOf(network); 5046 if (index > -1) { 5047 networks.splice(index, 1); 5048 } 5049 } 5050 } 5051 if (show_total) { 5052 html += "<div class='st-total st-hidden'>\n <span class='st-label'></span>\n <span class='st-shares'>\n " + (st.capitalize(st.i18n['shares'][language])) + "\n </span>\n</div>"; 5053 } 5054 for (index = j = 0, len1 = networks.length; j < len1; index = ++j) { 5055 network = networks[index]; 5056 class_names = ['st-btn']; 5057 if (index === 0) { 5058 class_names.push('st-first'); 5059 } 5060 if (index === networks.length - 1) { 5061 class_names.push('st-last'); 5062 } 5063 label = st.getShareLabel(network, language); 5064 if (labels !== 'cta') { 5065 label = ''; 5066 } 5067 label_span = "<span class='st-label'>" + label + "</span>"; 5068 html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n " + (labels === 'counts' || labels === 'cta' ? label_span : '') + "\n</div>"; 5069 } 5070 $el.innerHTML = html; 5071 $buttons = $el.querySelectorAll('.st-btn'); 5072 $total = $el.querySelector('.st-total'); 5073 $total_label = $el.querySelector('.st-total .st-label'); 5074 modify = function(key, value) { 5075 if (key === 'url') { 5076 url = value; 5077 } 5078 if (key === 'image') { 5079 return image = value; 5080 } 5081 }; 5082 resize = function() { 5083 var $button, actual, available, k, l, len2, m, results; 5084 available = $el.offsetWidth; 5085 actual = function() { 5086 var $button, k, len2, width; 5087 width = 0; 5088 if (show_total) { 5089 width += $total.offsetWidth; 5090 } 5091 for (k = 0, len2 = $buttons.length; k < len2; k++) { 5092 $button = $buttons[k]; 5093 if ($button.style.display === 'none') { 5094 continue; 5095 } 5096 if (alignment === 'justified') { 5097 if (st.hasClass($button, 'st-remove-label')) { 5098 width += 65; 5099 } else { 5100 width += 160; 5101 } 5102 } else { 5103 width += $button.offsetWidth + spacing; 5104 } 5105 } 5106 return width; 5107 }; 5108 for (k = 0, len2 = $buttons.length; k < len2; k++) { 5109 $button = $buttons[k]; 5110 $button.style.display = 'inline-block'; 5111 st.removeClass($button, 'st-remove-label'); 5112 } 5113 for (index = l = $buttons.length - 1; l >= 0; index = l += -1) { 5114 $button = $buttons[index]; 5115 if (actual() > available) { 5116 st.addClass($button, 'st-remove-label'); 5117 } 5118 } 5119 results = []; 5120 for (index = m = $buttons.length - 1; m >= 0; index = m += -1) { 5121 $button = $buttons[index]; 5122 if ($button.getAttribute('data-network') === 'sharethis') { 5123 continue; 5124 } 5125 if (actual() > available) { 5126 results.push($button.style.display = 'none'); 5127 } else { 5128 results.push(void 0); 5129 } 5130 } 5131 return results; 5132 }; 5133 st.addEventListener(window, 'resize', resize); 5134 fn = function($button) { 5135 return st.addEventListener($button, 'click', function() { 5136 return st.share({ 5137 channel_is_ssb: config.is_ssb, 5138 channels_displayed: JSON.stringify(config.networks), 5139 count_url: $el.getAttribute('data-count-url'), 5140 description: description || $el.getAttribute('data-description'), 5141 image: image || $el.getAttribute('data-image'), 5142 message: message || ($el != null ? $el.getAttribute('data-message') : void 0), 5143 network: $button.getAttribute('data-network'), 5144 share_url: $el.getAttribute('data-share-url'), 5145 short_url: $el.getAttribute('data-short-url'), 5146 subject: subject || $el.getAttribute('data-email-subject'), 5147 title: title || ($el != null ? $el.getAttribute('data-title') : void 0), 5148 url: url || $el.getAttribute('data-url'), 5149 username: username || $el.getAttribute('data-username') 5150 }); 5151 }); 5152 }; 5153 for (k = 0, len2 = $buttons.length; k < len2; k++) { 5154 $button = $buttons[k]; 5155 fn($button); 5156 } 5157 if (show_total || labels === 'counts') { 5158 st.loadCounts({ 5159 url: url || ($el.getAttribute('data-count-url')) || ($el.getAttribute('data-url')) || st.href 5160 }, function(counts) { 5161 var l, len3, ref1, ref2, ref3, ref4, value; 5162 if (show_total) { 5163 if (((ref1 = counts['total']) != null ? ref1.value : void 0) > min_count) { 5164 $total_label.innerHTML = ((ref2 = counts['total']) != null ? ref2.label : void 0) || ''; 5165 st.removeClass($total, 'st-hidden'); 5166 } else { 5167 st.addClass($total, 'st-hidden'); 5168 } 5169 } 5170 if (labels === 'counts') { 5171 for (l = 0, len3 = $buttons.length; l < len3; l++) { 5172 $button = $buttons[l]; 5173 network = $button.getAttribute('data-network'); 5174 ref3 = counts[network] || {}, label = ref3.label, value = ref3.value; 5175 if (label && value > min_count) { 5176 if ((ref4 = $button.querySelector('.st-label')) != null) { 5177 ref4.innerHTML = label; 5178 } 5179 st.removeClass($button, 'st-hide-label'); 5180 } else { 5181 st.addClass($button, 'st-hide-label'); 5182 } 5183 } 5184 } 5185 resize(); 5186 if (fade_in) { 5187 st.addClass($el, 'st-animated'); 5188 } 5189 if (fade_in) { 5190 st.removeClass($el, 'st-hidden'); 5191 } 5192 return typeof onLoad === "function" ? onLoad() : void 0; 5193 }); 5194 } else { 5195 resize(); 5196 if (fade_in) { 5197 st.addClass($el, 'st-animated'); 5198 } 5199 if (fade_in) { 5200 st.removeClass($el, 'st-hidden'); 5201 } 5202 if (typeof onLoad === "function") { 5203 onLoad(); 5204 } 5205 } 5206 return { 5207 $buttons: $buttons, 5208 $el: $el, 5209 id: id, 5210 modify: modify, 5211 resize: resize 5212 }; 5213 }; 5214 5215}).call(this); 5216 5217 5218(function() { 5219 var st; 5220 5221 st = window.__sharethis__; 5222
5223 st.loader['powr-social-feed'] = function(config) { 5224 if (config == null) { 5225 config = {}; 5226 } 5227 if (!config.enabled) { 5228 return; 5229 } 5230 return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis"); 5231 }; 5232 5233}).call(this); 5234 5235(function() { 5236 var st; 5237 5238 st = window.__sharethis__; 5239 5240 st.loader['powr-form-builder'] = function(config) { 5241 if (config == null) { 5242 config = {}; 5243 } 5244 if (!config.enabled) { 5245 return; 5246 } 5247 return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis"); 5248 }; 5249 5250}).call(this); 5251 5252(function() { 5253 var st; 5254 5255 st = window.__sharethis__; 5256 5257 st.loader['powr-popup'] = function(config) { 5258 if (config == null) { 5259 config = {}; 5260 } 5261 if (!config.enabled) { 5262 return; 5263 } 5264 return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis"); 5265 }; 5266 5267}).call(this); 5268 5269 5270/* 5271 * Loader for privacy-policy-generator 5272 * To update, please refer to `src/functions/privacy-policy-generator/README.md` 5273 */ 5274 5275(function() { 5276 var st; 5277 5278 st = window.__sharethis__; 5279 5280 st.loader['privacy-policy-generator'] = function(config) { 5281 if (config == null) { 5282 config = {}; 5283 } 5284 if (!config.enabled) { 5285 return; 5286 } 5287 return st.js("https://platform-api.sharethis.com/ppg.js"); 5288 }; 5289 5290}).call(this); 5291 5292 5293(function() { 5294 var load, st, 5295 indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; 5296 5297 st = window.__sharethis__; 5298 5299 st.loader['sticky-share-buttons'] = function(config) { 5300 var $el, $els, i, id, len, loadFn, ref, ref1, results; 5301 if (config == null) { 5302 config = {}; 5303 } 5304 if (!config.enabled) { 5305 return; 5306 } 5307 loadFn = load; 5308 if (config.is_ssb) { 5309 loadFn = st.loadSsb; 5310 } 5311 if (config.id) { 5312 $el = document.getElementById(config.id); 5313 if ($el) { 5314 return loadFn($el, config, load); 5315 } 5316 } else if (config.container) { 5317 if (typeof config.container === 'string') { 5318 config.container = document.getElementById(config.container); 5319 } 5320 ref = st.newElement(config.container), $el = ref.$el, id = ref.id; 5321 config.id = id; 5322 if ($el) { 5323 return loadFn($el, config, load); 5324 } 5325 } else { 5326 $els = document.querySelectorAll('.sharethis-sticky-share-buttons'); 5327 if ($els.length === 0) { 5328 ref1 = st.newElement(), $el = ref1.$el, id = ref1.id; 5329 return loadFn($el, config, load); 5330 } else { 5331 results = []; 5332 for (i = 0, len = $els.length; i < len; i++) { 5333 $el = $els[i]; 5334 results.push(loadFn($el, config, load)); 5335 } 5336 return results; 5337 } 5338 } 5339 }; 5340 5341 load = function($el, config) { 5342 var $button, $buttons, $toggle, $total, $total_label, alignment, alignment_opposite, background_color, class_names, color, common_css, container, css, description, fn, font_size, hide_desktop, hover_css, html, i, id, image, index, j, k, label, label_span, labels, language, len, len1, len2, message, min_count, mobile_breakpoint, mobile_css, network, network_css, networks, onLoad, padding, preview, radius, ref, resize, responsive_css, scrollbar_width, show_mobile, show_mobile_buttons, show_toggle, show_total, size, slide_in, spacing, subject, text_color, text_color_filter, title, top, url, use_native_counts, username; 5343 onLoad = config.onLoad, alignment = config.alignment, color = config.color, container = config.container, font_size = config.font_size, hide_desktop = config.hide_desktop, padding = config.padding, radius = config.radius, size = config.size, spacing = config.spacing, id = config.id, labels = config.labels, language = config.language, min_count = config.min_count, networks = config.networks, show_toggle = config.show_toggle, show_total = config.show_total, mobile_breakpoint = config.mobile_breakpoint, show_mobile = config.show_mobile, slide_in = config.slide_in, top = config.top, use_native_counts = config.use_native_counts, show_mobile_buttons = config.show_mobile_buttons, url = config.url, title = config.title, image = config.image, description = config.description, username = config.username, message = config.message, subject = config.subject, text_color = config.text_color, background_color = config.background_color, preview = config.preview; 5344 alignment_opposite = alignment === 'left' ? 'right' : 'left'; 5345 if (alignment == null) { 5346 alignment = 'left'; 5347 } 5348 if (background_color == null) { 5349 background_color = '#B581A3'; 5350 } 5351 if (color == null) { 5352 color = 'social'; 5353 } 5354 if (hide_desktop == null) { 5355 hide_desktop = false;
5356 } 5357 if (text_color == null) { 5358 text_color = '#fff'; 5359 } 5360 if (labels == null) { 5361 labels = 'counts'; 5362 } 5363 if (language == null) { 5364 language = 'en'; 5365 } 5366 if (min_count == null) { 5367 min_count = 0; 5368 } 5369 if (mobile_breakpoint == null) { 5370 mobile_breakpoint = 0; 5371 } 5372 if (networks == null) { 5373 networks = ['facebook', 'twitter', 'pinterest', 'email', 'sharethis', 'sms']; 5374 } 5375 if (padding == null) { 5376 padding = 12; 5377 } 5378 if (radius == null) { 5379 radius = 0; 5380 } 5381 if (show_mobile == null) { 5382 show_mobile = false; 5383 } 5384 if (show_mobile_buttons == null) { 5385 show_mobile_buttons = st.mobile; 5386 } 5387 if (show_toggle == null) { 5388 show_toggle = true; 5389 } 5390 if (show_total == null) { 5391 show_total = false; 5392 } 5393 if (size == null) { 5394 size = 48; 5395 } 5396 if (slide_in == null) { 5397 slide_in = true; 5398 } 5399 if (subject == null) { 5400 subject = st.i18n['subjects'][language]; 5401 } 5402 if (top == null) { 5403 top = 100; 5404 } 5405 if (use_native_counts == null) { 5406 use_native_counts = true; 5407 } 5408 if (preview == null) { 5409 preview = false; 5410 } 5411 if ((typeof Shopify !== "undefined" && Shopify !== null) && (Shopify.designMode != null)) { 5412 preview = false; 5413 } 5414 if (id == null) { 5415 id = "st-" + (st.uid()); 5416 } 5417 $el.setAttribute('id', id); 5418 scrollbar_width = alignment === 'right' ? st.getScrollbarWidth() : 0; 5419 scrollbar_width = 0; 5420 st.addClass($el, ['st-sticky-share-buttons', "st-" + alignment, show_toggle ? 'st-toggleable' : void 0, labels === 'counts' || labels === 'cta' ? 'st-has-labels' : void 0, show_total ? 'st-show-total' : void 0, slide_in ? 'st-hidden' : void 0, language !== 'en' ? "st-lang-" + language : void 0, true === preview ? 'st-preview' : void 0]); 5421 common_css = "#" + id + " {\n " + st.FONT_FAMILY + ";\n " + (st.TRANSITION()) + "\n backface-visibility: hidden;\n display: " + (!hide_desktop ? 'block' : 'none') + ";\n position: fixed;\n opacity: 1;\n text-align: left;\n top: " + (st.px(top)) + ";\n z-index: 94034;\n}\n#" + id + ".st-" + alignment + " {\n " + alignment + ": " + (st.px(scrollbar_width)) + ";\n}\n#" + id + ".st-hidden.st-" + alignment + " {\n " + alignment + ": -" + (st.px(size)) + ";\n}\n#" + id + ".st-hidden {\n width: " + (st.px(2 * size)) + ";\n}\n#" + id + ".st-preview {\n display: none!important;\n opacity: 0!important;\n}\n#" + id + " > div {\n clear: " + alignment + ";\n float: " + alignment + ";\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION()) + "\n border: " + (color === 'white' ? 'solid 0.5px #ccc' : 'none') + ";\n cursor: pointer;\n display: inline-block;\n font-size: " + (st.px(font_size)) + ";\n height: " + (st.px(size)) + ";\n line-height: " + (st.px(size / 2)) + ";\n margin-bottom: " + (spacing ? st.px(spacing) : 0) + ";\n opacity: 1;\n overflow: hidden;\n padding: " + (st.px(padding)) + ";\n position: relative;\n text-align: left;\n top: 0;\n vertical-align: top;\n white-space: nowrap;\n width: " + (st.px(size)) + ";\n}\n#" + id + " .st-btn.st-first {\n border-top: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn.st-last {\n border-bottom: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn > svg {\n " + (st.TRANSITION()) + "\n height: " + (st.px(size / 2)) + ";\n margin-left: 0;\n vertical-align: top;\n width: " + (st.px(size / 2)) + ";\n}\n#" + id + " .st-btn > img {\n " + (st.TRANSITION()) + "\n height: " + (st.px(size / 2)) + ";\n margin-left: 0;\n vertical-align: top;\n width: " + (st.px(size / 2)) + ";\n}\n#" + id + " .st-btn > span {\n " + (st.TRANSITION()) + "\n color: #fff;\n display: inline-block;\n font-weight: 500;\n left: -35px;\n letter-spacing: 0.5px;\n opacity: 0;\n padding: 0 6px;\n position: relative;\n vertical-align: top;\n filter: alpha(opacity=0);\n}\n#" + id + " .st-btn.st-hide-label > span {\n display: none !important;\n}\n#" + id + " .st-total {\n " + (st.TRANSITION()) + "\n background: #fff;
5421\n color: #555;\n display: inline-block;\n font-weight: 500;\n line-height: " + (st.px(.375 * size)) + ";\n margin-right: 0;\n min-height: 34px;\n max-width: 80px;\n opacity: 1;\n padding: 4px 0;\n text-align: center;\n width: " + (st.px(size)) + ";\n}\n#" + id + " .st-total.st-hidden {\n display: none;\n}\n#" + id + " .st-total > span {\n display: block;\n font-size: " + (st.px(.38 * size)) + ";\n line-height: " + (st.px(.45 * size)) + ";\n padding: 0;\n}\n#" + id + " .st-total > span.st-shares {\n font-size: " + (st.px(.23 * size)) + ";\n line-height: " + (st.px(.23 * size)) + ";\n}\n#" + id + " .st-toggle {\n " + alignment + ": -" + (st.px(size + scrollbar_width)) + ";\n " + (st.TRANSITION()) + "\n background: #ccc;\n border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n color: white;\n cursor: pointer;\n font-size: " + (st.px(.5 * size)) + ";\n line-height: " + (st.px(.5 * size)) + ";\n position: relative;\n text-align: center;\n width: " + (st.px(size)) + ";\n}\n#" + id + ".st-hidden .st-toggle {\n border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + ".st-" + alignment + " .st-toggle .st-" + alignment + " {\n display: inline-block;\n}\n#" + id + ".st-" + alignment + ".st-hidden .st-toggle .st-" + alignment + " {\n display: none;\n}\n#" + id + ".st-" + alignment + " .st-toggle .st-" + alignment_opposite + " {\n display: none;\n}\n#" + id + ".st-" + alignment + ".st-hidden .st-toggle .st-" + alignment_opposite + " {\n display: inline-block;\n}"; 5422 mobile_css = "#" + id + " {\n bottom: 0;\n display: " + (show_mobile ? 'flex' : 'none') + ";\n left: 0;\n right: 0;\n top: auto;\n width: 100%;\n}\n#" + id + ".st-hidden {\n bottom: -" + (st.px(size)) + ";\n width: 100%;\n}\n#" + id + ".st-hidden.st-left {\n left: 0;\n}\n#" + id + ".st-hidden.st-right {\n right: 0;\n}\n#" + id + " > div {\n -moz-flex: 1;\n -ms-flex: 1;\n -webkit-flex: 1;\n clear: none;\n flex: 1;\n float: none;\n}\n#" + id + " .st-total {\n background: #fff;\n padding: 6px 8px;\n}\n#" + id + " .st-btn {\n " + (st.BORDER_RADIUS('0 !important')) + "\n text-align: center;\n width: auto;\n}\n#" + id + " .st-btn > span {\n display: none;\n}\n#" + id + " .st-toggle {\n display: none;\n}"; 5423 if (show_mobile && !document.body.style.paddingBottom) { 5424 mobile_css += "body { padding-bottom: 48px; }"; 5425 } 5426 responsive_css = "@media (max-width: " + (st.px(mobile_breakpoint)) + ") {\n " + mobile_css + "\n}";
5427 hover_css = "#" + id + ":hover .st-toggle {\n " + alignment + ": 0;\n}\n#" + id + ".st-hidden:hover .st-toggle {\n " + alignment + ": " + (st.px(size)) + ";\n}\n#" + id + ".st-toggleable:hover .st-btn.st-last {\n border-bottom-" + alignment_opposite + "-radius: 0;\n}\n#" + id + ".st-toggleable:hover .st-btn.st-last:hover {\n border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn:hover {\n border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + ".st-has-labels .st-btn:hover {\n width: " + (st.px(st.i18n['sticky-width'][language])) + ";\n}\n#" + id + ":not(.st-has-labels) .st-btn:hover {\n width: " + (st.px(1.3 * size)) + ";\n}\n#" + id + " .st-btn.st-hide-label:hover {\n width: " + (st.px(1.3 * size)) + ";\n}\n#" + id + " .st-btn:hover > svg {\n margin-left: 5px;\n}\n#" + id + " .st-btn:hover > img {\n margin-left: 5px;\n}\n#" + id + " .st-btn:hover > span {\n opacity: 1;\n display: inline-block;\n left: 0;\n filter: alpha(opacity=100);\n}\n@media (max-width: " + (st.px(mobile_breakpoint)) + ") {\n #" + id + " .st-btn:hover > svg {\n margin-left: 0;\n }\n #" + id + " .st-btn:hover > span {\n display: none;\n }\n}"; 5428 text_color_filter = st.getFilter(text_color); 5429 network_css = ((function() { 5430 var i, len, results; 5431 results = []; 5432 for (i = 0, len = networks.length; i < len; i++) { 5433 network = networks[i]; 5434 results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n background-color: " + ((function() { 5435 switch (color) { 5436 case 'social': 5437 return st.COLORS[network]; 5438 case 'black': 5439 return '#000'; 5440 case 'gray': 5441 return '#eee'; 5442 case 'custom': 5443 return background_color; 5444 case 'white': 5445 return '#fff'; 5446 default: 5447 return '#fff'; 5448 } 5449 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n filter: " + ((function() { 5450 switch (color) { 5451 case 'black': 5452 return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 5453 case 'gray': 5454 return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 5455 case 'custom': 5456 return text_color_filter; 5457 default: 5458 return ''; 5459 } 5460 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n color: " + ((function() { 5461 switch (color) { 5462 case 'white': 5463 return st.COLORS[network]; 5464 case 'black': 5465 return '#fff'; 5466 case 'gray': 5467 return '#000'; 5468 case 'custom': 5469 return text_color; 5470 case 'social': 5471 return '#fff'; 5472 default: 5473 return '#fff'; 5474 } 5475 })()) + "\n}"); 5476 } 5477 return results; 5478 })()).join('\n'); 5479 network_css += "#" + id + " .st-btn[data-network='snapchat'] > span {\n color: " + (color === 'black' ? '#fff' : '#333') + "};\n}"; 5480 network_css += "#" + id + " .st-btn[data-network='copy']:hover {\n width: max-content;\n}"; 5481 if (network === 'blm') { 5482 network_css += "#" + id + " .st-btn[data-network='blm']:hover {\n width: 165px;\n}"; 5483 } 5484 css = common_css; 5485 if (!st.mobile) { 5486 css += hover_css; 5487 } 5488 if (!st.mobile) { 5489 css += responsive_css; 5490 } 5491 if (st.mobile) { 5492 css += mobile_css; 5493 } 5494 css += network_css; 5495 st.css(css); 5496 if (!show_mobile_buttons) { 5497 ref = ['sms']; 5498 for (i = 0, len = ref.length; i < len; i++) { 5499 network = ref[i]; 5500 index = networks.indexOf(network); 5501 if (index > -1) { 5502 networks.splice(index, 1); 5503 } 5504 } 5505 } 5506 html = ''; 5507 networks = st.filterInvalidNetworks(networks); 5508 if (show_total) { 5509 html += "<div class='st-total st-hidden'>\n <span class='st-label'></span>\n <span class='st-shares'>\n " + (st.capitalize(st.i18n['shares'][language])) + "\n </span>\n</div>"; 5510 } 5511 for (index = j = 0, len1 = networks.length; j < len1; index = ++j) { 5512 network = networks[index]; 5513 class_names = ['st-btn']; 5514 if (index === 0) { 5515 class_names.push('st-first'); 5516 } 5517 if (index === networks.length - 1) { 5518 class_names.push('st-last'); 5519 } 5520 label = st.getShareLabel(network, language); 5521 if (labels !== 'cta') { 5522 label = ''; 5523 } 5524 label_span = "<span class='st-label'>" + label + "</span>"; 5525 html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n " + (labels === 'counts' || labels === 'cta' ? label_span : '') + "\n</div>"; 5526 } 5527 if (show_toggle) { 5528 html += "<div class=\"st-toggle\">\n <div class=\"st-left\">\n " + st.ICONS['arrow_left'] + "\n </div>\n <div class=\"st-right\">\n " + st.ICONS['arrow_right'] + "\n </div>\n</div>"; 5529 } 5530 $el.innerHTML = html; 5531 $buttons = $el.querySelectorAll('.st-btn'); 5532 $toggle = $el.querySelector('.st-toggle'); 5533 $total = $el.querySelector('.st-total'); 5534 $total_label = $el.querySelector('.st-total .st-label'); 5535 st.addEventListener($toggle, 'click', function() { 5536 return st.toggleClass($el, 'st-hidden'); 5537 }); 5538 resize = function() { 5539 var $button, k, l, len2, len3, max, ref1, results; 5540 max = 100; 5541 if (st.mobile || window.innerWidth < mobile_breakpoint) { 5542 max = 6; 5543 } 5544 if (show_total) { 5545 max--; 5546 } 5547 if (indexOf.call(networks, 'sharethis') >= 0) { 5548 max--; 5549 } 5550 if (indexOf.call(networks, 'sms') >= 0) { 5551 max--; 5552 } 5553 if (indexOf.call(networks, 'whatsapp') >= 0) { 5554 max--; 5555 } 5556 if (indexOf.call(networks, 'messenger') >= 0) { 5557 max--; 5558 } 5559 if (indexOf.call(networks, 'wechat') >= 0) { 5560 max--; 5561 } 5562 for (k = 0, len2 = $buttons.length; k < len2; k++) { 5563 $button = $buttons[k]; 5564 $button.style.display = 'inline-block'; 5565 } 5566 results = []; 5567 for (index = l = 0, len3 = $buttons.length; l < len3; index = ++l) { 5568 $button = $buttons[index]; 5569 if ((ref1 = $button.getAttribute('data-network')) === 'sharethis' || ref1 === 'sms' || ref1 === 'messenger' || ref1 === 'whatsapp' || ref1 === 'wechat') { 5570 continue; 5571 } 5572 if (max-- > 0) { 5573 continue; 5574 } 5575 results.push($button.style.display = 'none'); 5576 } 5577 return results; 5578 }; 5579 st.addEventListener(window, 'resize', resize); 5580 fn = function($button) { 5581 return st.addEventListener($button, 'click', function() { 5582 return st.share({ 5583 channel_is_ssb: config.is_ssb, 5584 channels_displayed: JSON.stringify(config.networks), 5585 count_url: $el != null ? $el.getAttribute('data-count-url') : void 0, 5586 description: description || ($el != null ? $el.getAttribute('data-description') : void 0), 5587 image: image || ($el != null ? $el.getAttribute('data-image') : void 0), 5588 message: message || ($el != null ? $el.getAttribute('data-message') : void 0), 5589 network: $button.getAttribute('data-network'), 5590 share_url: $el != null ? $el.getAttribute('data-short-url') : void 0, 5591 subject: subject || $el.getAttribute('data-email-subject'), 5592 title: title || ($el != null ? $el.getAttribute('data-title') : void 0), 5593 url: url || ($el != null ? $el.getAttribute('data-url') : void 0), 5594 username: username || ($el != null ? $el.getAttribute('data-username') : void 0) 5595 }); 5596 }); 5597 }; 5598 for (k = 0, len2 = $buttons.length; k < len2; k++) { 5599 $button = $buttons[k]; 5600 fn($button); 5601 } 5602 if (show_total || labels === 'counts') { 5603 return st.loadCounts({ 5604 url: url || ($el != null ? $el.getAttribute('data-url') : void 0) 5605 }, function(counts) { 5606 var l, len3, ref1, ref2, ref3, value; 5607 if (show_total) { 5608 if (((ref1 = counts['total']) != null ? ref1.value : void 0) > min_count) { 5609 $total_label.innerHTML = counts['total'].label; 5610 st.removeClass($total, 'st-hidden'); 5611 } else { 5612 st.addClass($total, 'st-hidden'); 5613 } 5614 } 5615 if (labels === 'counts') { 5616 for (l = 0, len3 = $buttons.length; l < len3; l++) { 5617 $button = $buttons[l]; 5618 network = $button.getAttribute('data-network'); 5619 ref2 = counts[network] || {}, label = ref2.label, value = ref2.value; 5620 if (label && value > min_count) { 5621 if ((ref3 = $button.querySelector('.st-label')) != null) { 5622 ref3.innerHTML = label; 5623 } 5624 st.removeClass($button, 'st-hide-label'); 5625 } else { 5626 st.addClass($button, 'st-hide-label'); 5627 } 5628 } 5629 } 5630 resize(); 5631 setTimeout((function() { 5632 return st.removeClass($el, 'st-hidden'); 5633 }), 10); 5634 return typeof onLoad === "function" ? onLoad() : void 0; 5635 }); 5636 } else { 5637 resize(); 5638 setTimeout((function() { 5639 return st.removeClass($el, 'st-hidden'); 5640 }), 10); 5641 return typeof onLoad === "function" ? onLoad() : void 0; 5642 } 5643 }; 5644 5645}).call(this); 5646 5647(function() { 5648 var st; 5649 5650 st = window.__sharethis__; 5651 5652 st.loader['video-share-buttons'] = function(config) { 5653 var alignment, container, networks, omit_class, onLoad, padding, radius, size, spacing; 5654 if (config == null) { 5655 config = {}; 5656 } 5657 if (!config.enabled) { 5658 return; 5659 } 5660 alignment = config.alignment, container = config.container, omit_class = config.omit_class, onLoad = config.onLoad, padding = config.padding, networks = config.networks, radius = config.radius, size = config.size, spacing = config.spacing; 5661 if (networks == null) { 5662 networks = ['facebook', 'twitter', 'pinterest', 'email']; 5663 } 5664 if (omit_class == null) { 5665 omit_class = ''; 5666 } 5667 if (padding == null) { 5668 padding = 10; 5669 } 5670 if (radius == null) { 5671 radius = 0; 5672 } 5673 if (size == null) { 5674 size = 40; 5675 } 5676 if (spacing == null) { 5677 spacing = 8; 5678 } 5679 st.checkClass = function(checkClass, el) {}; 5680 return st.getEmbeds(function(el, type, url) { 5681 var $el, contAlign, id, inline_buttons, ref; 5682 if (type !== 'video') { 5683 return; 5684 } 5685 ref = st.newElement(el), $el = ref.$el, id = ref.id; 5686 if (omit_class) { 5687 if (st.hasClass(el.parentNode.parentNode, omit_class)) { 5688 return; 5689 } 5690 if (st.hasClass(el.parentNode, omit_class)) { 5691 return; 5692 } 5693 } 5694 st.addClass($el, 'st-video-share-buttons'); 5695 $el.style.width = el.offsetWidth.toString() + 'px'; 5696 $el.style.margin = '0'; 5697 $el.style.padding = '0'; 5698 if (el.tagName.toLowerCase() === 'blockquote') { 5699 $el.style.margin = 'auto'; 5700 } 5701 $el.setAttribute('data-url', el.src); 5702 if (!st.is_ie) { 5703 contAlign = getComputedStyle(el.parentElement).textAlign;
5704 if ('center' === contAlign) { 5705 $el.style.margin = 'auto'; 5706 } 5707 } 5708 el.parentNode.insertBefore($el, el.nextSibling); 5709 return inline_buttons = st.load('inline-share-buttons', { 5710 alignment: alignment, 5711 id: id, 5712 enabled: true, 5713 networks: networks, 5714 padding: padding, 5715 radius: radius, 5716 size: size, 5717 spacing: spacing, 5718 onLoad: function() { 5719 st.addClass($el, ''); 5720 return typeof onLoad === "function" ? onLoad() : void 0; 5721 } 5722 }); 5723 }); 5724 }; 5725 5726}).call(this); 5727 5728(function(){window.__sharethis__.md5="a5070d700d64f4e6c9475f7eb1f34be8";})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.