text: /*!
   * JavaScript Cookie v2.0.4
   * https://github.com/js-cookie/js-cookie
   *
   * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
   * Released under the MIT license
   */
  (function (factory) {
      if (typeof define === 'function' && define.amd) {
          define(factory);
      } else if (typeof exports === 'object') {
          module.exports = factory();
      } else {
          var _OldCookies = window.Cookies;
          var api = window.Cookies = factory();
          api.noConflict = function () {
              window.Cookies = _OldCookies;
              return api;
          };
      }
  }(function () {
      function extend () {
          var i = 0;
          var result = {};
          for (; i < arguments.length; i++) {
              var attributes = arguments[ i ];
              for (var key in attributes) {
                  result[key] = attributes[key];
              }
          }
          return result;
      }
  
      function init (converter) {
          function api (key, value, attributes) {
              var result;
  
              // Write
  
              if (arguments.length > 1) {
                  attributes = extend({
                      path: '/'
                  }, api.defaults, attributes);
  
                  if (typeof attributes.expires === 'number') {
                      var expires = new Date();
                      expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
                      attributes.expires = expires;
                  }
  
                  try {
                      result = JSON.stringify(value);
                      if (/^[\{\[]/.test(result)) {
                          value = result;
                      }
                  } catch (e) {}
  
                  if (!converter.write) {
                      value = encodeURIComponent(String(value))
                          .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
                  } else {
                      value = converter.write(value, key);
                  }
  
                  key = encodeURIComponent(String(key));
                  key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
                  key = key.replace(/[\(\)]/g, escape);
  
                  return (document.cookie = [
                      key, '=', value,
                      attributes.expires && '; expires=' + attributes.expires.toUTCString(), // use expires attribute, max-age is not supported by IE
                      attributes.path    && '; path=' + attributes.path,
                      attributes.domain  && '; domain=' + attributes.domain,
                      attributes.secure ? '; secure' : ''
                  ].join(''));
              }
  
              // Read
  
              if (!key) {
                  result = {};
              }
  
              // To prevent the for loop in the first place assign an empty array
              // in case there are no cookies at all. Also prevents odd result when
              // calling "get()"
              var cookies = document.cookie ? document.cookie.split('; ') : [];
              var rdecode = /(%[0-9A-Z]{2})+/g;
              var i = 0;
  
              for (; i < cookies.length; i++) {
                  var parts = cookies[i].split('=');
                  var name = parts[0].replace(rdecode, decodeURIComponent);
                  var cookie = parts.slice(1).join('=');
  
                  if (cookie.charAt(0) === '"') {
                      cookie = cookie.slice(1, -1);
                  }
  
                  try {
                      cookie = converter.read ?
                          converter.read(cookie, name) : converter(cookie, name) ||
                      cookie.replace(rdecode, decodeURIComponent);
  
                      if (this.json) {
                          try {
                              cookie = JSON.parse(cookie);
                          } catch (e) {}
                      }
  
                      if (key === name) {
                          result = cookie;
                          break;
                      }
  
                      if (!key) {
                          result[name] = cookie;
                      }
                  } catch (e) {}
              }
  
              return result;
          }
  
          api.get = api.set = api;
          api.getJSON = function () {
              return api.apply({
                  json: true
              }, [].slice.call(arguments));
          };
          api.defaults = {};
  
          api.remove = function (key, attributes) {
              api(key, '', extend(attributes, {
                  expires: -1
              }));
          };
  
          api.withConverter = init;
  
          return api;
      }
  
      return init(function () {});
  }));