(function () {
  //Inject layouts code v1.0

  var highcharts = document.createElement('script');

  var cdn = 'https://app.everviz.com/resources/highcharts/11.4.8/';
  var loaded = 0;  
  var encodedUrl = encodeURI('https:///show/wM_dgT5Bj');
  var chartCreated = false;
  var scripts = [
    "highcharts.js"
  ];

  var externalCSS = [
     
    "https://app.everviz.com/resources/layouts/1.0/css/layout.min.css"
 ,
    "https://app.everviz.com/fonts/cAMLbHmJ2/font.css"
 ,
    "https://app.everviz.com/fonts/HPLuvkaK_/font.css"
  ];

  var extraScripts = [
    "https://app.everviz.com/resources/layouts/1.0/js/tabs.js",
  ];

  var options = {"template":[{"style":{"width":"100%","height":"100%","display":"inline-block"}}],"data":[{"hash":"hCLf8GRJS","version":4,"chart_id":596437,"chart_type":1,"name":"Share of Total Firms"},{"hash":"DlsMc0v0A","version":4,"chart_id":596438,"chart_type":1,"name":"Share of Total Mentions"}],"options":{"title":{"enabled":false,"style":{"fontSize":"24px","fontFamily":"Gordita Bold","color":"#172b4c","textAlign":"center","fontWeight":"unset"},"text":"Firms' Most Pressing Concerns"},"subtitle":{"style":{"fontFamily":"Gordita Regular","fontSize":"16px","color":"#172b4c"},"enabled":false,"text":""},"caption":{"style":{"fontSize":"12px","fontStyle":"italic","color":"#444444"},"enabled":false,"text":"Source: Duke University, FRB Richmond and FRB Atlanta, The CFO Survey - Q2 2025 (May 19 - June 6, 2025)"},"exporting":{"sourceWidth":null,"sourceHeight":null},"layout":{"type":"tabs"}}};

  function isScriptAlreadyIncluded(src){
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
      if (scripts[i].hasAttribute('src')) {
        const scriptTag = scripts[i].getAttribute('src') || '';
        if ((scriptTag.indexOf(src) >= 0) || 
            (scriptTag.indexOf('highcharts.src.js') > -1 && src === 'highcharts.js') ||
            ((scriptTag.indexOf('stock/highstock.js') > -1) && src === 'modules/highstock.js')) {
          return true;
        }
      }
    }
    return false;
  }

  function loadCSS() {
    var cssLength = externalCSS.length;
    for(var i=0; i < cssLength; i++) {
      var css = document.createElement('link');
      css.rel  = 'stylesheet';
      css.type = "text/css";
      css.href = externalCSS[i];
      document.body.appendChild(css);
    }
  }

  function createLayout() {
    if(chartCreated) return;
    chartCreated = true;
    window.EvervizLayoutModule.hasLoaded = true;
    new EvervizLayout['tabs']('everviz-layout-wM_dgT5Bj', options);
  }

  function check(scripts, cb) {
    if (loaded === scripts.length) {
      if (cb) {
        cb();
      } else {
        for (var i = 0; i < window.EvervizLayoutModule.ondone.length; i++) {
          try {
            window.EvervizLayoutModule.ondone[i]();
          } catch(e) {
            console.error(e);
          }
        }
      }
    }
  }

  function loadScript(s, scripts, cb) {
    if (!s) next();
    
    function next() {
      ++loaded;
      if (loaded < scripts.length) {
        loadScript(scripts[loaded], scripts, cb);
      }
      check(scripts, cb);
    }

    if (isScriptAlreadyIncluded(s)) {
      return next();
    }

    var n = document.createElement('script');

    n.onload = function () {
      next();
    };
    if (s.indexOf('https') >= 0) {
      n.src = s;
    } else {
      n.src = cdn + s;
    }
    document.body.appendChild(n);
  }

  function loadExtraScripts(){
    if (extraScripts.length > 0) {
      loaded = 0;
      loadScript(extraScripts[0], extraScripts);
    } else {
      check(scripts);
    }
  }

  function loadExtraScriptsAndMakeChart(){
    loaded = 0;
    loadCSS();
    if (extraScripts.length > 0) {
      loadScript(extraScripts[0], extraScripts, createLayout);
    } else {
      check(extraScripts, createLayout);
    }
  }

  if (typeof window['EvervizLayoutModule'] === 'undefined') {
    window.EvervizLayoutModule = {
      ondone: [createLayout],
      hasWrapped: false,
      hasLoaded: false
    };

    loadScript(scripts[0], scripts, loadExtraScripts);
    loadCSS();

  } else {
    if (!window.EvervizLayoutModule.hasLoaded) window.EvervizLayoutModule.ondone.push(loadExtraScriptsAndMakeChart);
    else loadExtraScriptsAndMakeChart();
  }

}());
