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

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

  var cdn = 'https://code.highcharts.com/';
  var loaded = 0;  
  var encodedUrl = encodeURI('https://https://app.everviz.com//show/4UAML0_Ug');
  var chartCreated = false;
  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"
    /* "modules/series-label.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"
  ];

  var extraScripts = [
  "https://code.highcharts.com/modules/annotations.js"
  ,"https://code.highcharts.com/modules/annotations-advanced.js"
  ];

  var options = {"chart":{"type":"line","polar":false,"style":{"fontFamily":"Telesans Agate-Regular","fontSize":"14px"},"parallelAxes":{"stackLabels":{"style":{"fontSize":"14px"}}},"height":500},"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":"Electric dreams"},"subtitle":{"align":"left","x":10,"style":{"fontFamily":"Austin News Deck-Italic","color":"#666666","fontSize":"22px","fontWeight":"normal","fontStyle":"normal","fill":"#666666","width":"566px"},"text":"Tesla’s stock has soared in the past year"},"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"}},"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},"credits":{"href":"","position":{"x":-7,"y":-3},"style":{"cursor":"pointer","color":"#999999","fontSize":"10px","fontFamily":"Telesans Agate-Regular"},"text":"Source: Bloomberg"},"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":[{"data":[],"turboThreshold":0,"type":"line","name":"Share price"}],"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,"valuePrefix":"$"},"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":{"text":"","useHTML":true},"labels":{"format":"${value}"},"lineColor":"#ccd6eb","tickColor":"#ccd6eb"},"xAxis":{"lineColor":"black","tickColor":"black"},"annotations":[],"data":{"csv":"Date;Share price\n2019-07-23;260.17\n2019-07-24;264.88\n2019-07-25;228.82\n2019-07-26;228.04\n2019-07-29;235.77\n2019-07-30;242.26\n2019-07-31;241.61\n2019-08-01;233.85\n2019-08-02;234.34\n2019-08-05;228.32\n2019-08-06;230.75\n2019-08-07;233.42\n2019-08-08;238.3\n2019-08-09;235.01\n2019-08-12;229.01\n2019-08-13;235\n2019-08-14;219.62\n2019-08-15;215.64\n2019-08-16;219.94\n2019-08-19;226.83\n2019-08-20;225.86\n2019-08-21;220.83\n2019-08-22;222.15\n2019-08-23;211.4\n2019-08-26;215\n2019-08-27;214.08\n2019-08-28;215.59\n2019-08-29;221.71\n2019-08-30;225.61\n2019-09-03;225.01\n2019-09-04;220.68\n2019-09-05;229.58\n2019-09-06;227.45\n2019-09-09;231.79\n2019-09-10;235.54\n2019-09-11;247.1\n2019-09-12;245.87\n2019-09-13;245.2\n2019-09-16;242.81\n2019-09-17;244.79\n2019-09-18;243.49\n2019-09-19;246.6\n2019-09-20;240.62\n2019-09-23;241.23\n2019-09-24;223.21\n2019-09-25;228.7\n2019-09-26;242.56\n2019-09-27;242.13\n2019-09-30;240.87\n2019-10-01;244.69\n2019-10-02;243.13\n2019-10-03;233.03\n2019-10-04;231.43\n2019-10-07;237.72\n2019-10-08;240.05\n2019-10-09;244.53\n2019-10-10;244.74\n2019-10-11;247.89\n2019-10-14;256.96\n2019-10-15;257.89\n2019-10-16;259.75\n2019-10-17;261.97\n2019-10-18;256.95\n2019-10-21;253.5\n2019-10-22;255.58\n2019-10-23;254.68\n2019-10-24;299.68\n2019-10-25;328.13\n2019-10-28;327.71\n2019-10-29;316.22\n2019-10-30;315.01\n2019-10-31;314.92\n2019-11-01;313.31\n2019-11-04;317.47\n2019-11-05;317.22\n2019-11-06;326.58\n2019-11-07;335.54\n2019-11-08;337.14\n2019-11-11;345.09\n2019-11-12;349.93\n2019-11-13;346.11\n2019-11-14;349.35\n2019-11-15;352.17\n2019-11-18;349.99\n2019-11-19;359.52\n2019-11-20;352.22\n2019-11-21;354.83\n2019-11-22;333.04\n2019-11-25;336.34\n2019-11-26;328.92\n2019-11-27;331.29\n2019-11-29;329.94\n2019-12-02;334.87\n2019-12-03;336.2\n2019-12-04;333.03\n2019-12-05;330.37\n2019-12-06;335.89\n2019-12-09;339.53\n2019-12-10;348.84\n2019-12-11;352.7\n2019-12-12;359.68\n2019-12-13;358.39\n2019-12-16;381.5\n2019-12-17;378.99\n2019-12-18;393.15\n2019-12-19;404.04\n2019-12-20;405.59\n2019-12-23;419.22\n2019-12-24;425.25\n2019-12-26;430.94\n2019-12-27;430.38\n2019-12-30;414.7\n2019-12-31;418.33\n2020-01-02;430.26\n2020-01-03;443.01\n2020-01-06;451.54\n2020-01-07;469.06\n2020-01-08;492.14\n2020-01-09;481.34\n2020-01-10;478.15\n2020-01-13;524.86\n2020-01-14;537.92\n2020-01-15;518.5\n2020-01-16;513.49\n2020-01-17;510.5\n2020-01-21;547.2\n2020-01-22;569.56\n2020-01-23;572.2\n2020-01-24;564.82\n2020-01-27;558.02\n2020-01-28;566.9\n2020-01-29;580.99\n2020-01-30;640.81\n2020-01-31;650.57\n2020-02-03;780\n2020-02-04;887.06\n2020-02-05;734.7\n2020-02-06;748.96\n2020-02-07;748.07\n2020-02-10;771.28\n2020-02-11;774.38\n2020-02-12;767.29\n2020-02-13;804\n2020-02-14;800.03\n2020-02-18;858.4\n2020-02-19;917.42\n2020-02-20;899.41\n2020-02-21;901\n2020-02-24;833.79\n2020-02-25;799.91\n2020-02-26;778.8\n2020-02-27;679\n2020-02-28;667.99\n2020-03-02;743.62\n2020-03-03;745.51\n2020-03-04;749.5\n2020-03-05;724.54\n2020-03-06;703.48\n2020-03-09;608\n2020-03-10;645.33\n2020-03-11;634.23\n2020-03-12;560.55\n2020-03-13;546.62\n2020-03-16;445.07\n2020-03-17;430.2\n2020-03-18;361.22\n2020-03-19;427.64\n2020-03-20;427.53\n2020-03-23;434.29\n2020-03-24;505\n2020-03-25;539.25\n2020-03-26;528.16\n2020-03-27;514.36\n2020-03-30;502.13\n2020-03-31;524\n2020-04-01;481.56\n2020-04-02;454.47\n2020-04-03;480.01\n2020-04-06;516.24\n2020-04-07;545.45\n2020-04-08;548.84\n2020-04-09;573\n2020-04-13;650.95\n2020-04-14;709.89\n2020-04-15;729.83\n2020-04-16;745.21\n2020-04-17;753.89\n2020-04-20;746.36\n2020-04-21;686.72\n2020-04-22;732.11\n2020-04-23;705.63\n2020-04-24;725.15\n2020-04-27;798.75\n2020-04-28;769.12\n2020-04-29;800.51\n2020-04-30;781.88\n2020-05-01;701.32\n2020-05-04;761.19\n2020-05-05;768.21\n2020-05-06;782.58\n2020-05-07;780.04\n2020-05-08;819.42\n2020-05-11;811.29\n2020-05-12;809.41\n2020-05-13;790.96\n2020-05-14;803.33\n2020-05-15;799.17\n2020-05-18;813.63\n2020-05-19;808.01\n2020-05-20;815.56\n2020-05-21;827.6\n2020-05-22;816.88\n2020-05-26;818.87\n2020-05-27;820.23\n2020-05-28;805.81\n2020-05-29;835\n2020-06-01;898.1\n2020-06-02;881.56\n2020-06-03;882.96\n2020-06-04;864.38\n2020-06-05;885.66\n2020-06-08;949.92\n2020-06-09;940.67\n2020-06-10;1025.05\n2020-06-11;972.84\n2020-06-12;935.28\n2020-06-15;990.9\n2020-06-16;982.13\n2020-06-17;991.79\n2020-06-18;1003.96\n2020-06-19;1000.9\n2020-06-22;994.32\n2020-06-23;1001.78\n2020-06-24;960.85\n2020-06-25;985.98\n2020-06-26;959.74\n2020-06-29;1009.35\n2020-06-30;1079.81\n2020-07-01;1119.63\n2020-07-02;1208.66\n2020-07-06;1371.58\n2020-07-07;1389.86\n2020-07-08;1365.88\n2020-07-09;1394.28\n2020-07-10;1544.65\n2020-07-13;1497.06\n2020-07-14;1516.8\n2020-07-15;1546.01\n2020-07-16;1500.64\n2020-07-17;1500.84\n2020-07-20;1643\n2020-07-21;1568.36\n2020-07-22;1592.33\n2020-07-23;1513.07\n2020-07-24;1417\n2020-07-27;1539.6\n2020-07-28;1476.49\n2020-07-29;1499.11\n2020-07-30;1487.49\n2020-07-31;1430.76\n2020-08-03;1485\n2020-08-04;1487\n2020-08-05;1485.02\n2020-08-06;1489.58\n2020-08-07;1452.71\n2020-08-10;1418.57\n2020-08-11;1374.39\n2020-08-12;","seriesMapping":[{"x":0,"y":1}]}};
  
  var templateDataSettings = {};

  var pluginCode = {};;

  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]) {
            merge(d, templateDataSettings[key].data[i]);
          }
        })
      })  
      return options;
    }
  }

  merge(options, pluginCode);

  function isNull(what){return(typeof what==='undefined'||what===null)}
  function isStr(what){return(typeof what==='string'||what instanceof String)}
  function isNum(what){return!isNaN(parseFloat(what))&&isFinite(what)}
  function isFn(what){return(what&&(typeof what==='function')||(what instanceof Function))}
  function isArr(what){return(!isNull(what)&&what.constructor.toString().indexOf('Array')>-1)}
  function isBool(what){return(what===!0||what===!1)}
  function isBasic(what){return!isArr(what)&&(isStr(what)||isNum(what)||isBool(what)||isFn(what))}
  function isObj(what){return what&&what.constructor.toString().indexOf('Object')>-1}
  function isEmptyObjectArray(arr){return isObj(arr[0])&&arr.some(function(b){return Object.keys(b).length===0})}
  function merge(a,b){if(!a||!b)return a||b;Object.keys(b).forEach(function(bk){if(isNull(b[bk])||isBasic(b[bk])){a[bk]=b[bk]}else if(isArr(b[bk])){if(isEmptyObjectArray(b[bk]))return;a[bk]=[];b[bk].forEach(function(i){if(isNull(i)||isBasic(i)){a[bk].push(i)}else{a[bk].push(merge(isArr(i)?[]:{},i))}})}else{a[bk]=a[bk]||{};merge(a[bk],b[bk])}});return a}

  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 createChart() {
    if(chartCreated) return;

    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;
      new Highcharts.Chart('highcharts-4UAML0_Ug', options);
    }
  }

  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;
    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
    };

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

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

}());
