PageSourceSearch

https://beastmodetrack.com/js/sharethis.js

js beastmodetrack.com collected 2026-10-09 04:56:16 UTC 211,036 bytes, 5,728 lines download raw bytes

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.