PageSourceSearch

https://onlyuponline.io/js/sharethis.js

js onlyuponline.io collected 2026-10-04 13:26:33 UTC 211,167 bytes, 5,724 lines download raw bytes

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

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.