<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">function LesShareButton() {
  const _ = this;

  /**
   * @type {string}
  */
  const pageUrl = document.URL;

  /**
   * @type {string}
  */
  const { protocol, host, pathname } = window.location;

  /**
   * @type {string}
  */
  const cleanedUrl = `${protocol}//${host}${pathname}`;

  /**
   * Main function to start
   *
  */
  _.init = () =&gt; {
    this.shareButtonMessages();
    this.guudButtonMessages();
  };

  /**
   * GuudTv Messages Button
   *
   * @param {object} element
  */
  _.guudButtonMessages = (element = null) =&gt; {
    this.guudEmbedTwitter(element);
    this.guudEmbedAnchor(element);
  };

  /**
   * GuudTv Messages from twitter
   *
   * @param {object} element
  */
  _.guudEmbedTwitter = (element = null) =&gt; {
    const selector = element || document;
    const messages = [].slice.call(selector.querySelectorAll('.ev-unit a[href].gu-btn'), 0);
    if (messages) {
      this.guudEmbedMessage(messages);
    }
  };

  /**
   * GuudTv Messages hashtag
   *
   * @param {object} element
  */
  _.guudEmbedAnchor = (element = null) =&gt; {
    const selector = element || document;
    const messages = [].slice.call(selector.querySelectorAll('.ev-unit a[href].tw-hash'), 0);
    if (messages) {
      this.guudEmbedMessage(messages);
    }
  };

  /**
   * GuudTv main function to call the function to change url
   *
   * @param {array} messages
  */
  _.guudEmbedMessage = (messages) =&gt; {
    messages.forEach((message) =&gt; {
      this.guudChangeUrlMessage(message);
    });
  };

  /**
   * GuudTv Change the url from buttons of share
   *
   * @param {object} message
  */
  _.guudChangeUrlMessage = (message) =&gt; {
    const content = message.getAttribute('href');
    const newUrl = content.replace(/(?:url=).*(?=&amp;ref_src)/, encodeURIComponent(pageUrl));
    message.setAttribute('href', `url=${newUrl}`);
  };

  /**
   * Message with share button
   *
   * @param {object} element
  */
  _.shareButtonMessages = (element = null) =&gt; {
    const selector = element || document;
    const messages = [].slice.call(selector.querySelectorAll('.ev-unit .ev-foo .btn-share'), 0);
    if (messages) {
      this.changeEmbedMessage(messages);
    }
  };

  /**
   * Generic Message Change the url from buttons of share
   *
   * @param {object} message
  */
  _.changeEmbedMessage = (messages) =&gt; {
    messages.forEach((message) =&gt; {
      this.changeUrlMessage(message);
    });
  };

  /**
   * Generic Message Change the url from buttons of share Facebook, tw or whatsapp
   *
   * @param {object} message
  */
  _.changeUrlMessage = (message) =&gt; {
    const { encodedCleanedUrl, id } = this.getUrlId(message);
    this.changeUrlFacebookTwitter(id, message, encodedCleanedUrl);
    this.changeUrlWhatsapp(id, message, encodedCleanedUrl);
  };

  /**
   * Change url the messageCard generic of the url twitter or facebook
   *
   * @param {object} id
   * @param {object} message
   * @param {string} encodedCleanedUrl
   *
  */
  _.changeUrlFacebookTwitter = (id, message, encodedCleanedUrl) =&gt; {
    if (id.search('_fb_') &gt; -1 || id.search('_tw_') &gt; -1) {
      const patt = id.search('tw') &gt; -1 ? /(?:url=).*(?=&amp;via)/ : /(?:link=).*(?=&amp;quote)/;
      const contentOnClick = message.getAttribute('onclick');
      const urlSocialNetwork = id.search('tw') &gt; -1 ? `url=${encodedCleanedUrl}` : `link=${encodedCleanedUrl}`;
      const newUrl = contentOnClick.replace(patt, urlSocialNetwork);
      message.setAttribute('onclick', newUrl);
    }
  };

  /**
   * Change url the messageCard generic of the url whatsapp
   *
   * @param {object} id
   * @param {object} message
   * @param {string} encodedCleanedUrl
   *
  */
  _.changeUrlWhatsapp = (id, message, encodedCleanedUrl) =&gt; {
    if (id.search('wa') &gt; -1) {
      const contentHref = message.getAttribute('href');
      const newUrl = contentHref.replace(/( ).*/, `%20${encodedCleanedUrl}`);
      message.setAttribute('href', newUrl);
    }
  };

  /**
   * Get the identifier of the DOM for get the url
   *
   * @param {object} message
   *
  */
  _.getUrlId = (message) =&gt; {
    const elId = message.getAttribute('data-share-msg-id');
    const encodedCleanedUrl = encodeURIComponent(`${cleanedUrl}#${elId}`);
    const id = message.getAttribute('id');
    return { encodedCleanedUrl, id };
  };

  /**
   * External function is called from les-live-reloader to change the url
   * the button of share
   *
   * @param {object} element
   *
  */
  _.externalChangeUrl = (element) =&gt; {
    this.shareButtonMessages(element);
    this.guudButtonMessages(element);
  };
}

const lesShareButton = new LesShareButton();
lesShareButton.init();
window.lesShareButton = lesShareButton;</pre></body></html>