(function () {
  //Inject code v3.0.4

  var highcharts = document.createElement('script');

  var cdn = 'https://code.highcharts.com/';
  var loaded = 0;  
  var encodedUrl = encodeURI('https://https://app.everviz.com//show/Ox8UIM74R');
  var chartCreated = false;
  var delayGen = 0;
  var scripts = [
    "highcharts.js",
    "modules/stock.js",
    "highcharts-more.js",
    "highcharts-3d.js",
    "modules/data.js",
    "modules/exporting.js",
    "modules/funnel.js",
    "modules/solid-gauge.js",
    "modules/export-data.js",
    "modules/accessibility.js"
  ];

  var externalCSS = [
    "https://app.everviz.com/fonts/-kdRxC3Ef/font.css",
    "https://app.everviz.com/fonts/mIQoHgFro/font.css",
    "https://app.everviz.com/fonts/b7ssKVeRa/font.css",
    "https://app.everviz.com/static/fonts/gordita/style.css",
    "https://app.everviz.com/resources/css/highcharts-data-table.css"
  ];

  var extraScripts = [
  "https://app.everviz.com/resources/js/highcharts-scroll-animation.js",
  "https://app.everviz.com/resources/js/everviz-utils.js",
  "https://app.everviz.com/resources/js/highcharts-overrides.js"
  ];

  var options = {"chart":{"type":"line","polar":false,"style":{"fontFamily":"Telesans Agate-Regular","fontSize":"14px"},"parallelAxes":{"stackLabels":{"style":{"fontSize":"14px"}}},"height":450},"title":{"align":"left","x":10,"style":{"fontFamily":"Austin News Deck-Semibold","color":"#333333","fontSize":"22px","fontWeight":"normal","fontStyle":"normal","fill":"#333333","width":"566px"},"margin":15,"text":"Less commuting has helped drive a spike in household saving"},"subtitle":{"align":"left","x":10,"style":{"fontFamily":"Austin News Deck-Italic","color":"#666666","fontSize":"22px","fontWeight":"normal","fontStyle":"normal","fill":"#666666","width":"566px"},"text":"UK household savings ratio, %"},"plotOptions":{"series":{"allowPointSelect":true,"states":{"select":{"color":"#EFFFEF","borderColor":"black","dashStyle":"dot"}},"marker":{"enabled":false},"lineWidth":3,"label":{"style":{"font-weight":"bold","fontFamily":"Telesans Agate-Regular","fontSize":"14px"},"enabled":false},"events":{}},"area":{"fillOpacity":0.2,"marker":{"enabled":false,"symbol":"diamond"},"dataLabels":{"style":{"fontSize":"14px"}},"label":{"style":{"font-weight":"bold","fontFamily":"Telesans Agate-Regular","fontSize":"14px"}}},"line":{"marker":{"symbol":"diamond"},"linecap":"round"}},"exporting":{"enabled":false,"url":"https://api.everviz.com/export"},"credits":{"href":"https://www.ons.gov.uk/economy/grossdomesticproductgdp/timeseries/dgd8/ukea","position":{"x":-7,"y":-3},"style":{"cursor":"pointer","color":"#999999","fontSize":"10px","fontFamily":"Telesans Agate-Regular"},"text":"SOURCE: ONS"},"colors":["#0021af","#3266ca","#64aae4","#96efff","#fff7b3","#ff77b7","#ba5594","#743372","#2f114f","#17e698","#f43939"],"legend":{"align":"left","verticalAlign":"top","itemMarginBottom":10,"x":-10,"symbolRadius":0,"floating":false,"itemStyle":{"fontFamily":"Telesans Agate-Regular","color":"#333333","fontSize":"14px","fontWeight":"normal","fontStyle":"normal","cursor":"pointer","textOverflow":"ellipsis"},"borderRadius":0,"squareSymbol":true,"shadow":false,"rtl":false,"reversed":false,"symbolPadding":4,"symbolHeight":12,"padding":8,"enabled":false},"series":[{"turboThreshold":0,"type":"line","name":"Savings ratio","data":[]}],"tooltip":{"pointFormat":" <b>{point.y}</b><br/>","borderRadius":0,"borderWidth":1,"enabled":true,"headerFormat":"","shadow":false,"style":{"color":"#333333","cursor":"default","fontSize":"12px","pointerEvents":"none","whiteSpace":"nowrap","fontFamily":"Telesans Agate-Regular"},"padding":6,"valueSuffix":"%"},"caption":{"style":{"fontFamily":"Telesans Agate-Regular","color":"#666666","fontSize":"18px","fontWeight":"normal","fontStyle":"normal","fill":"#666666","width":"610px"}},"stockTools":{"gui":{"enabled":false}},"navigation":{"bindingsClassName":"tools-container","events":{}},"labels":{"items":[],"style":{"color":"#333333","position":"absolute","fontFamily":"Telesans Agate-Regular","fontSize":"14px"}},"pane":{"background":[]},"responsive":{"rules":[]},"yAxis":{"title":{"useHTML":true,"text":"%"},"lineColor":"#ccd6eb","tickColor":"#ccd6eb","max":28,"min":0},"xAxis":{"lineColor":"black","tickColor":"black"},"annotations":[],"lang":{"shortMonths":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"numericSymbols":["k","M","G","T","P","E"]},"data":{"csv":"Quarter;Savings ratio\n1990 Q1;10.8\n1990 Q2;9\n1990 Q3;10.2\n1990 Q4;11.5\n1991 Q1;12.1\n1991 Q2;11.2\n1991 Q3;13.5\n1991 Q4;13.2\n1992 Q1;14\n1992 Q2;13.9\n1992 Q3;14\n1992 Q4;14\n1993 Q1;13.1\n1993 Q2;14.4\n1993 Q3;13.4\n1993 Q4;13.1\n1994 Q1;11.7\n1994 Q2;11.3\n1994 Q3;12.1\n1994 Q4;11.1\n1995 Q1;13.4\n1995 Q2;12.9\n1995 Q3;12.6\n1995 Q4;12.2\n1996 Q1;13.4\n1996 Q2;12.1\n1996 Q3;12.2\n1996 Q4;9.6\n1997 Q1;10.2\n1997 Q2;11.4\n1997 Q3;10.4\n1997 Q4;8.6\n1998 Q1;8.3\n1998 Q2;7.8\n1998 Q3;5.9\n1998 Q4;6.7\n1999 Q1;3.6\n1999 Q2;6.5\n1999 Q3;6\n1999 Q4;7.5\n2000 Q1;6.4\n2000 Q2;6.8\n2000 Q3;7.5\n2000 Q4;9.1\n2001 Q1;8.8\n2001 Q2;7.4\n2001 Q3;6.9\n2001 Q4;7\n2002 Q1;7.1\n2002 Q2;8.3\n2002 Q3;7.8\n2002 Q4;7.1\n2003 Q1;7.1\n2003 Q2;6\n2003 Q3;6.3\n2003 Q4;6.7\n2004 Q1;6.9\n2004 Q2;6.4\n2004 Q3;6.9\n2004 Q4;6.5\n2005 Q1;6.1\n2005 Q2;7.1\n2005 Q3;6.8\n2005 Q4;6.9\n2006 Q1;6.8\n2006 Q2;5.8\n2006 Q3;6.2\n2006 Q4;7.7\n2007 Q1;7.7\n2007 Q2;8.4\n2007 Q3;8.8\n2007 Q4;7.4\n2008 Q1;6.7\n2008 Q2;7.6\n2008 Q3;6.5\n2008 Q4;8.8\n2009 Q1;9.2\n2009 Q2;11.3\n2009 Q3;11.3\n2009 Q4;11.3\n2010 Q1;12.2\n2010 Q2;11.5\n2010 Q3;10.7\n2010 Q4;10.5\n2011 Q1;9\n2011 Q2;9.6\n2011 Q3;9.5\n2011 Q4;9.2\n2012 Q1;10.3\n2012 Q2;9.6\n2012 Q3;8.9\n2012 Q4;6.9\n2013 Q1;6.9\n2013 Q2;7.9\n2013 Q3;8.2\n2013 Q4;9.5\n2014 Q1;9.7\n2014 Q2;8.7\n2014 Q3;8.2\n2014 Q4;8.6\n2015 Q1;10.1\n2015 Q2;10.2\n2015 Q3;10.1\n2015 Q4;10\n2016 Q1;9.2\n2016 Q2;7.8\n2016 Q3;7.1\n2016 Q4;5.3\n2017 Q1;4.7\n2017 Q2;5.9\n2017 Q3;5.9\n2017 Q4;5.7\n2018 Q1;5.6\n2018 Q2;5.9\n2018 Q3;6.2\n2018 Q4;7.1\n2019 Q1;6.2\n2019 Q2;6.8\n2019 Q3;6.3\n2019 Q4;7.7\n2020 Q1;9.5\n2020 Q2;27.4\n2020 Q3;16.9","seriesMapping":[{"x":0,"y":1}]}};
  var optionsStub;
  
  var templateDataSettings = {};

  var pluginCode = {};;

  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 allScriptsIncluded(){
    var allScripts = scripts.concat(extraScripts);
    var haveAllScriptsBeenIncluded = true;
    var scriptsToUse = document.getElementsByTagName("script");
    for(var n=0;n<allScripts.length;n++) {
      if (!isScriptAlreadyIncluded(allScripts[n], scriptsToUse)) {
        haveAllScriptsBeenIncluded = false;
        break;
      }
    }
    return haveAllScriptsBeenIncluded;
  }

  function modifyOptions(){
    if (options.data) {
      options.data.complete = function(options) {
        const keys = Object.keys(templateDataSettings || {});
        keys.forEach(function(key) {
          const serie = options.series[key];
          (serie.data || []).forEach(function(d, i) {
            if (templateDataSettings[key].data && templateDataSettings[key].data[i]) {
              window["everviz"].merge(d, templateDataSettings[key].data[i]);
            }
          })
        })  
        return options;
      }
    }
    
    optionsStub = window["everviz"].createStub(options);
    window["everviz"].merge(options, pluginCode);
    if ('Chart' === 'Map') window["everviz"].modifyMapType(options);
  }

  function createChart() {
    if(chartCreated) return;

    var hasProj4 = extraScripts.indexOf('https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.6/proj4.js') > -1;
    if (!allScriptsIncluded() || 
      (hasProj4 && !window.proj4) || 
      !window["everviz"].merge ||
      !window["everviz"].createStub) {
      setTimeout(createChart, 200);
      return;
    }  

    modifyOptions();

    if (hasProj4) delayGen = 100;

    if (typeof window['Highcharts'] !== 'undefined') {
      

    if (options.yAxis && options.yAxis.length === 1) options.yAxis = options.yAxis[0];
    if (options.xAxis && options.xAxis.length === 1) options.xAxis = options.xAxis[0];
    if (options.zAxis && options.zAxis.length === 1) options.zAxis = options.zAxis[0];

    /*
// Sample of extending options:
Highcharts.merge(true, options, {
    chart: {
        backgroundColor: "#bada55"
    },
    plotOptions: {
        series: {
            cursor: "pointer",
            events: {
                click: function(event) {
                    alert(this.name + " clicked\n" +
                          "Alt: " + event.altKey + "\n" +
                          "Control: " + event.ctrlKey + "\n" +
                          "Shift: " + event.shiftKey + "\n");
                }
            }
        }
    }
});
*/


      if (options && (options.lang || options.global)) {
        Highcharts.setOptions({
          global: options.global || {},
          lang: options.lang || {}
        });
      }

      if (Highcharts.Annotation) {
        Highcharts.Annotation.ControlPoint.prototype.redraw = function (animation) {
          this.graphic[animation ? 'animate' : 'attr'](
              this.options.positioner ? this.options.positioner.call(this, this.target) : null
          );
        };
      }
      
      chartCreated = true;
      window.HighchartsCloud.hasLoaded = true; 
      setTimeout(function(){
        if (window["everviz"] && window["everviz"].pendingAnim) {

          var chart = new Highcharts.Chart('highcharts-Ox8UIM74R', optionsStub); 
          window["everviz"].pendingAnim({
            id: 'highcharts-Ox8UIM74R', 
            loaded: false,
            options: options,
            appear:function(){
              chart.destroy();
              chart = new Highcharts.Chart('highcharts-Ox8UIM74R', options); 
            },
            element: document.querySelector('#highcharts-Ox8UIM74R')
          });
        } else {
          new Highcharts.Chart('highcharts-Ox8UIM74R', options);   
        }
      }, delayGen);
    }
  }

  function check(scripts, cb) {
    if (loaded === scripts.length) {
      if (cb) {
        cb();
      } else {
        for (var i = 0; i < window.HighchartsCloud.ondone.length; i++) {
          try {
            window.HighchartsCloud.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, createChart);
    } else {
      check(extraScripts);
    }
  }

  if (typeof window['HighchartsCloud'] === 'undefined') {
    window.HighchartsCloud = {
      ondone: [createChart],
      hasWrapped: false,
      hasLoaded: false,
      externalCSS: externalCSS
    };

    loadScript(scripts[0], scripts, loadExtraScripts);
    loadCSS();

  } else {
    if (window.HighchartsCloud.externalCSS) window.HighchartsCloud.externalCSS.push(externalCSS);
    if (!window.HighchartsCloud.hasLoaded) window.HighchartsCloud.ondone.push(loadExtraScriptsAndMakeChart);
    else loadExtraScriptsAndMakeChart();
  }

}());
