PageSourceSearch

https://museumsketchbooks.com/platform-api.sharethis.com/js/sharethis.js

js museumsketchbooks.com collected 2026-10-04 04:22:48 UTC 210,640 bytes, 5,718 lines download raw bytes

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

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.