/******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ 7757:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        module.exports = __webpack_require__(5666);


        /***/
}),

/***/ 9669:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        module.exports = __webpack_require__(1609);

        /***/
}),

/***/ 5448:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);
        var settle = __webpack_require__(6026);
        var buildURL = __webpack_require__(5327);
        var buildFullPath = __webpack_require__(4097);
        var parseHeaders = __webpack_require__(4109);
        var isURLSameOrigin = __webpack_require__(7985);
        var createError = __webpack_require__(5061);

        module.exports = function xhrAdapter(config) {
          return new Promise(function dispatchXhrRequest(resolve, reject) {
            var requestData = config.data;
            var requestHeaders = config.headers;

            if (utils.isFormData(requestData)) {
              delete requestHeaders['Content-Type']; // Let the browser set it
            }

            var request = new XMLHttpRequest();

            // HTTP basic authentication
            if (config.auth) {
              var username = config.auth.username || '';
              var password = config.auth.password || '';
              requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
            }

            var fullPath = buildFullPath(config.baseURL, config.url);
            request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);

            // Set the request timeout in MS
            request.timeout = config.timeout;

            // Listen for ready state
            request.onreadystatechange = function handleLoad() {
              if (!request || request.readyState !== 4) {
                return;
              }

              // The request errored out and we didn't get a response, this will be
              // handled by onerror instead
              // With one exception: request that using file: protocol, most browsers
              // will return status as 0 even though it's a successful request
              if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
                return;
              }

              // Prepare the response
              var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
              var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
              var response = {
                data: responseData,
                status: request.status,
                statusText: request.statusText,
                headers: responseHeaders,
                config: config,
                request: request
              };

              settle(resolve, reject, response);

              // Clean up request
              request = null;
            };

            // Handle browser request cancellation (as opposed to a manual cancellation)
            request.onabort = function handleAbort() {
              if (!request) {
                return;
              }

              reject(createError('Request aborted', config, 'ECONNABORTED', request));

              // Clean up request
              request = null;
            };

            // Handle low level network errors
            request.onerror = function handleError() {
              // Real errors are hidden from us by the browser
              // onerror should only fire if it's a network error
              reject(createError('Network Error', config, null, request));

              // Clean up request
              request = null;
            };

            // Handle timeout
            request.ontimeout = function handleTimeout() {
              var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
              if (config.timeoutErrorMessage) {
                timeoutErrorMessage = config.timeoutErrorMessage;
              }
              reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',
                request));

              // Clean up request
              request = null;
            };

            // Add xsrf header
            // This is only done if running in a standard browser environment.
            // Specifically not if we're in a web worker, or react-native.
            if (utils.isStandardBrowserEnv()) {
              var cookies = __webpack_require__(4372);

              // Add xsrf header
              var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
                cookies.read(config.xsrfCookieName) :
                undefined;

              if (xsrfValue) {
                requestHeaders[config.xsrfHeaderName] = xsrfValue;
              }
            }

            // Add headers to the request
            if ('setRequestHeader' in request) {
              utils.forEach(requestHeaders, function setRequestHeader(val, key) {
                if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
                  // Remove Content-Type if data is undefined
                  delete requestHeaders[key];
                } else {
                  // Otherwise add header to the request
                  request.setRequestHeader(key, val);
                }
              });
            }

            // Add withCredentials to request if needed
            if (!utils.isUndefined(config.withCredentials)) {
              request.withCredentials = !!config.withCredentials;
            }

            // Add responseType to request if needed
            if (config.responseType) {
              try {
                request.responseType = config.responseType;
              } catch (e) {
                // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
                // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
                if (config.responseType !== 'json') {
                  throw e;
                }
              }
            }

            // Handle progress if needed
            if (typeof config.onDownloadProgress === 'function') {
              request.addEventListener('progress', config.onDownloadProgress);
            }

            // Not all browsers support upload events
            if (typeof config.onUploadProgress === 'function' && request.upload) {
              request.upload.addEventListener('progress', config.onUploadProgress);
            }

            if (config.cancelToken) {
              // Handle cancellation
              config.cancelToken.promise.then(function onCanceled(cancel) {
                if (!request) {
                  return;
                }

                request.abort();
                reject(cancel);
                // Clean up request
                request = null;
              });
            }

            if (requestData === undefined) {
              requestData = null;
            }

            // Send the request
            request.send(requestData);
          });
        };


        /***/
}),

/***/ 1609:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);
        var bind = __webpack_require__(1849);
        var Axios = __webpack_require__(321);
        var mergeConfig = __webpack_require__(7185);
        var defaults = __webpack_require__(5655);

        /**
         * Create an instance of Axios
         *
         * @param {Object} defaultConfig The default config for the instance
         * @return {Axios} A new instance of Axios
         */
        function createInstance(defaultConfig) {
          var context = new Axios(defaultConfig);
          var instance = bind(Axios.prototype.request, context);

          // Copy axios.prototype to instance
          utils.extend(instance, Axios.prototype, context);

          // Copy context to instance
          utils.extend(instance, context);

          return instance;
        }

        // Create the default instance to be exported
        var axios = createInstance(defaults);

        // Expose Axios class to allow class inheritance
        axios.Axios = Axios;

        // Factory for creating new instances
        axios.create = function create(instanceConfig) {
          return createInstance(mergeConfig(axios.defaults, instanceConfig));
        };

        // Expose Cancel & CancelToken
        axios.Cancel = __webpack_require__(5263);
        axios.CancelToken = __webpack_require__(4972);
        axios.isCancel = __webpack_require__(6502);

        // Expose all/spread
        axios.all = function all(promises) {
          return Promise.all(promises);
        };
        axios.spread = __webpack_require__(8713);

        module.exports = axios;

        // Allow use of default import syntax in TypeScript
        module.exports["default"] = axios;


        /***/
}),

/***/ 5263:
/***/ ((module) => {

        "use strict";


        /**
         * A `Cancel` is an object that is thrown when an operation is canceled.
         *
         * @class
         * @param {string=} message The message.
         */
        function Cancel(message) {
          this.message = message;
        }

        Cancel.prototype.toString = function toString() {
          return 'Cancel' + (this.message ? ': ' + this.message : '');
        };

        Cancel.prototype.__CANCEL__ = true;

        module.exports = Cancel;


        /***/
}),

/***/ 4972:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var Cancel = __webpack_require__(5263);

        /**
         * A `CancelToken` is an object that can be used to request cancellation of an operation.
         *
         * @class
         * @param {Function} executor The executor function.
         */
        function CancelToken(executor) {
          if (typeof executor !== 'function') {
            throw new TypeError('executor must be a function.');
          }

          var resolvePromise;
          this.promise = new Promise(function promiseExecutor(resolve) {
            resolvePromise = resolve;
          });

          var token = this;
          executor(function cancel(message) {
            if (token.reason) {
              // Cancellation has already been requested
              return;
            }

            token.reason = new Cancel(message);
            resolvePromise(token.reason);
          });
        }

        /**
         * Throws a `Cancel` if cancellation has been requested.
         */
        CancelToken.prototype.throwIfRequested = function throwIfRequested() {
          if (this.reason) {
            throw this.reason;
          }
        };

        /**
         * Returns an object that contains a new `CancelToken` and a function that, when called,
         * cancels the `CancelToken`.
         */
        CancelToken.source = function source() {
          var cancel;
          var token = new CancelToken(function executor(c) {
            cancel = c;
          });
          return {
            token: token,
            cancel: cancel
          };
        };

        module.exports = CancelToken;


        /***/
}),

/***/ 6502:
/***/ ((module) => {

        "use strict";


        module.exports = function isCancel(value) {
          return !!(value && value.__CANCEL__);
        };


        /***/
}),

/***/ 321:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);
        var buildURL = __webpack_require__(5327);
        var InterceptorManager = __webpack_require__(782);
        var dispatchRequest = __webpack_require__(3572);
        var mergeConfig = __webpack_require__(7185);

        /**
         * Create a new instance of Axios
         *
         * @param {Object} instanceConfig The default config for the instance
         */
        function Axios(instanceConfig) {
          this.defaults = instanceConfig;
          this.interceptors = {
            request: new InterceptorManager(),
            response: new InterceptorManager()
          };
        }

        /**
         * Dispatch a request
         *
         * @param {Object} config The config specific for this request (merged with this.defaults)
         */
        Axios.prototype.request = function request(config) {
          /*eslint no-param-reassign:0*/
          // Allow for axios('example/url'[, config]) a la fetch API
          if (typeof config === 'string') {
            config = arguments[1] || {};
            config.url = arguments[0];
          } else {
            config = config || {};
          }

          config = mergeConfig(this.defaults, config);

          // Set config.method
          if (config.method) {
            config.method = config.method.toLowerCase();
          } else if (this.defaults.method) {
            config.method = this.defaults.method.toLowerCase();
          } else {
            config.method = 'get';
          }

          // Hook up interceptors middleware
          var chain = [dispatchRequest, undefined];
          var promise = Promise.resolve(config);

          this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
            chain.unshift(interceptor.fulfilled, interceptor.rejected);
          });

          this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
            chain.push(interceptor.fulfilled, interceptor.rejected);
          });

          while (chain.length) {
            promise = promise.then(chain.shift(), chain.shift());
          }

          return promise;
        };

        Axios.prototype.getUri = function getUri(config) {
          config = mergeConfig(this.defaults, config);
          return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
        };

        // Provide aliases for supported request methods
        utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
          /*eslint func-names:0*/
          Axios.prototype[method] = function (url, config) {
            return this.request(utils.merge(config || {}, {
              method: method,
              url: url
            }));
          };
        });

        utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
          /*eslint func-names:0*/
          Axios.prototype[method] = function (url, data, config) {
            return this.request(utils.merge(config || {}, {
              method: method,
              url: url,
              data: data
            }));
          };
        });

        module.exports = Axios;


        /***/
}),

/***/ 782:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);

        function InterceptorManager() {
          this.handlers = [];
        }

        /**
         * Add a new interceptor to the stack
         *
         * @param {Function} fulfilled The function to handle `then` for a `Promise`
         * @param {Function} rejected The function to handle `reject` for a `Promise`
         *
         * @return {Number} An ID used to remove interceptor later
         */
        InterceptorManager.prototype.use = function use(fulfilled, rejected) {
          this.handlers.push({
            fulfilled: fulfilled,
            rejected: rejected
          });
          return this.handlers.length - 1;
        };

        /**
         * Remove an interceptor from the stack
         *
         * @param {Number} id The ID that was returned by `use`
         */
        InterceptorManager.prototype.eject = function eject(id) {
          if (this.handlers[id]) {
            this.handlers[id] = null;
          }
        };

        /**
         * Iterate over all the registered interceptors
         *
         * This method is particularly useful for skipping over any
         * interceptors that may have become `null` calling `eject`.
         *
         * @param {Function} fn The function to call for each interceptor
         */
        InterceptorManager.prototype.forEach = function forEach(fn) {
          utils.forEach(this.handlers, function forEachHandler(h) {
            if (h !== null) {
              fn(h);
            }
          });
        };

        module.exports = InterceptorManager;


        /***/
}),

/***/ 4097:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var isAbsoluteURL = __webpack_require__(1793);
        var combineURLs = __webpack_require__(7303);

        /**
         * Creates a new URL by combining the baseURL with the requestedURL,
         * only when the requestedURL is not already an absolute URL.
         * If the requestURL is absolute, this function returns the requestedURL untouched.
         *
         * @param {string} baseURL The base URL
         * @param {string} requestedURL Absolute or relative URL to combine
         * @returns {string} The combined full path
         */
        module.exports = function buildFullPath(baseURL, requestedURL) {
          if (baseURL && !isAbsoluteURL(requestedURL)) {
            return combineURLs(baseURL, requestedURL);
          }
          return requestedURL;
        };


        /***/
}),

/***/ 5061:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var enhanceError = __webpack_require__(481);

        /**
         * Create an Error with the specified message, config, error code, request and response.
         *
         * @param {string} message The error message.
         * @param {Object} config The config.
         * @param {string} [code] The error code (for example, 'ECONNABORTED').
         * @param {Object} [request] The request.
         * @param {Object} [response] The response.
         * @returns {Error} The created error.
         */
        module.exports = function createError(message, config, code, request, response) {
          var error = new Error(message);
          return enhanceError(error, config, code, request, response);
        };


        /***/
}),

/***/ 3572:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);
        var transformData = __webpack_require__(8527);
        var isCancel = __webpack_require__(6502);
        var defaults = __webpack_require__(5655);

        /**
         * Throws a `Cancel` if cancellation has been requested.
         */
        function throwIfCancellationRequested(config) {
          if (config.cancelToken) {
            config.cancelToken.throwIfRequested();
          }
        }

        /**
         * Dispatch a request to the server using the configured adapter.
         *
         * @param {object} config The config that is to be used for the request
         * @returns {Promise} The Promise to be fulfilled
         */
        module.exports = function dispatchRequest(config) {
          throwIfCancellationRequested(config);

          // Ensure headers exist
          config.headers = config.headers || {};

          // Transform request data
          config.data = transformData(
            config.data,
            config.headers,
            config.transformRequest
          );

          // Flatten headers
          config.headers = utils.merge(
            config.headers.common || {},
            config.headers[config.method] || {},
            config.headers
          );

          utils.forEach(
            ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
            function cleanHeaderConfig(method) {
              delete config.headers[method];
            }
          );

          var adapter = config.adapter || defaults.adapter;

          return adapter(config).then(function onAdapterResolution(response) {
            throwIfCancellationRequested(config);

            // Transform response data
            response.data = transformData(
              response.data,
              response.headers,
              config.transformResponse
            );

            return response;
          }, function onAdapterRejection(reason) {
            if (!isCancel(reason)) {
              throwIfCancellationRequested(config);

              // Transform response data
              if (reason && reason.response) {
                reason.response.data = transformData(
                  reason.response.data,
                  reason.response.headers,
                  config.transformResponse
                );
              }
            }

            return Promise.reject(reason);
          });
        };


        /***/
}),

/***/ 481:
/***/ ((module) => {

        "use strict";


        /**
         * Update an Error with the specified config, error code, and response.
         *
         * @param {Error} error The error to update.
         * @param {Object} config The config.
         * @param {string} [code] The error code (for example, 'ECONNABORTED').
         * @param {Object} [request] The request.
         * @param {Object} [response] The response.
         * @returns {Error} The error.
         */
        module.exports = function enhanceError(error, config, code, request, response) {
          error.config = config;
          if (code) {
            error.code = code;
          }

          error.request = request;
          error.response = response;
          error.isAxiosError = true;

          error.toJSON = function () {
            return {
              // Standard
              message: this.message,
              name: this.name,
              // Microsoft
              description: this.description,
              number: this.number,
              // Mozilla
              fileName: this.fileName,
              lineNumber: this.lineNumber,
              columnNumber: this.columnNumber,
              stack: this.stack,
              // Axios
              config: this.config,
              code: this.code
            };
          };
          return error;
        };


        /***/
}),

/***/ 7185:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);

        /**
         * Config-specific merge-function which creates a new config-object
         * by merging two configuration objects together.
         *
         * @param {Object} config1
         * @param {Object} config2
         * @returns {Object} New object resulting from merging config2 to config1
         */
        module.exports = function mergeConfig(config1, config2) {
          // eslint-disable-next-line no-param-reassign
          config2 = config2 || {};
          var config = {};

          var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];
          var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];
          var defaultToConfig2Keys = [
            'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',
            'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
            'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',
            'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',
            'httpsAgent', 'cancelToken', 'socketPath'
          ];

          utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
            if (typeof config2[prop] !== 'undefined') {
              config[prop] = config2[prop];
            }
          });

          utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {
            if (utils.isObject(config2[prop])) {
              config[prop] = utils.deepMerge(config1[prop], config2[prop]);
            } else if (typeof config2[prop] !== 'undefined') {
              config[prop] = config2[prop];
            } else if (utils.isObject(config1[prop])) {
              config[prop] = utils.deepMerge(config1[prop]);
            } else if (typeof config1[prop] !== 'undefined') {
              config[prop] = config1[prop];
            }
          });

          utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
            if (typeof config2[prop] !== 'undefined') {
              config[prop] = config2[prop];
            } else if (typeof config1[prop] !== 'undefined') {
              config[prop] = config1[prop];
            }
          });

          var axiosKeys = valueFromConfig2Keys
            .concat(mergeDeepPropertiesKeys)
            .concat(defaultToConfig2Keys);

          var otherKeys = Object
            .keys(config2)
            .filter(function filterAxiosKeys(key) {
              return axiosKeys.indexOf(key) === -1;
            });

          utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {
            if (typeof config2[prop] !== 'undefined') {
              config[prop] = config2[prop];
            } else if (typeof config1[prop] !== 'undefined') {
              config[prop] = config1[prop];
            }
          });

          return config;
        };


        /***/
}),

/***/ 6026:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var createError = __webpack_require__(5061);

        /**
         * Resolve or reject a Promise based on response status.
         *
         * @param {Function} resolve A function that resolves the promise.
         * @param {Function} reject A function that rejects the promise.
         * @param {object} response The response.
         */
        module.exports = function settle(resolve, reject, response) {
          var validateStatus = response.config.validateStatus;
          if (!validateStatus || validateStatus(response.status)) {
            resolve(response);
          } else {
            reject(createError(
              'Request failed with status code ' + response.status,
              response.config,
              null,
              response.request,
              response
            ));
          }
        };


        /***/
}),

/***/ 8527:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);

        /**
         * Transform the data for a request or a response
         *
         * @param {Object|String} data The data to be transformed
         * @param {Array} headers The headers for the request or response
         * @param {Array|Function} fns A single function or Array of functions
         * @returns {*} The resulting transformed data
         */
        module.exports = function transformData(data, headers, fns) {
          /*eslint no-param-reassign:0*/
          utils.forEach(fns, function transform(fn) {
            data = fn(data, headers);
          });

          return data;
        };


        /***/
}),

/***/ 5655:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);
        var normalizeHeaderName = __webpack_require__(6016);

        var DEFAULT_CONTENT_TYPE = {
          'Content-Type': 'application/x-www-form-urlencoded'
        };

        function setContentTypeIfUnset(headers, value) {
          if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
            headers['Content-Type'] = value;
          }
        }

        function getDefaultAdapter() {
          var adapter;
          if (typeof XMLHttpRequest !== 'undefined') {
            // For browsers use XHR adapter
            adapter = __webpack_require__(5448);
          } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
            // For node use HTTP adapter
            adapter = __webpack_require__(5448);
          }
          return adapter;
        }

        var defaults = {
          adapter: getDefaultAdapter(),

          transformRequest: [function transformRequest(data, headers) {
            normalizeHeaderName(headers, 'Accept');
            normalizeHeaderName(headers, 'Content-Type');
            if (utils.isFormData(data) ||
              utils.isArrayBuffer(data) ||
              utils.isBuffer(data) ||
              utils.isStream(data) ||
              utils.isFile(data) ||
              utils.isBlob(data)
            ) {
              return data;
            }
            if (utils.isArrayBufferView(data)) {
              return data.buffer;
            }
            if (utils.isURLSearchParams(data)) {
              setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
              return data.toString();
            }
            if (utils.isObject(data)) {
              setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
              return JSON.stringify(data);
            }
            return data;
          }],

          transformResponse: [function transformResponse(data) {
            /*eslint no-param-reassign:0*/
            if (typeof data === 'string') {
              try {
                data = JSON.parse(data);
              } catch (e) { /* Ignore */ }
            }
            return data;
          }],

          /**
           * A timeout in milliseconds to abort a request. If set to 0 (default) a
           * timeout is not created.
           */
          timeout: 0,

          xsrfCookieName: 'XSRF-TOKEN',
          xsrfHeaderName: 'X-XSRF-TOKEN',

          maxContentLength: -1,

          validateStatus: function validateStatus(status) {
            return status >= 200 && status < 300;
          }
        };

        defaults.headers = {
          common: {
            'Accept': 'application/json, text/plain, */*'
          }
        };

        utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
          defaults.headers[method] = {};
        });

        utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
          defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
        });

        module.exports = defaults;


        /***/
}),

/***/ 1849:
/***/ ((module) => {

        "use strict";


        module.exports = function bind(fn, thisArg) {
          return function wrap() {
            var args = new Array(arguments.length);
            for (var i = 0; i < args.length; i++) {
              args[i] = arguments[i];
            }
            return fn.apply(thisArg, args);
          };
        };


        /***/
}),

/***/ 5327:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);

        function encode(val) {
          return encodeURIComponent(val).
            replace(/%40/gi, '@').
            replace(/%3A/gi, ':').
            replace(/%24/g, '$').
            replace(/%2C/gi, ',').
            replace(/%20/g, '+').
            replace(/%5B/gi, '[').
            replace(/%5D/gi, ']');
        }

        /**
         * Build a URL by appending params to the end
         *
         * @param {string} url The base of the url (e.g., http://www.google.com)
         * @param {object} [params] The params to be appended
         * @returns {string} The formatted url
         */
        module.exports = function buildURL(url, params, paramsSerializer) {
          /*eslint no-param-reassign:0*/
          if (!params) {
            return url;
          }

          var serializedParams;
          if (paramsSerializer) {
            serializedParams = paramsSerializer(params);
          } else if (utils.isURLSearchParams(params)) {
            serializedParams = params.toString();
          } else {
            var parts = [];

            utils.forEach(params, function serialize(val, key) {
              if (val === null || typeof val === 'undefined') {
                return;
              }

              if (utils.isArray(val)) {
                key = key + '[]';
              } else {
                val = [val];
              }

              utils.forEach(val, function parseValue(v) {
                if (utils.isDate(v)) {
                  v = v.toISOString();
                } else if (utils.isObject(v)) {
                  v = JSON.stringify(v);
                }
                parts.push(encode(key) + '=' + encode(v));
              });
            });

            serializedParams = parts.join('&');
          }

          if (serializedParams) {
            var hashmarkIndex = url.indexOf('#');
            if (hashmarkIndex !== -1) {
              url = url.slice(0, hashmarkIndex);
            }

            url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
          }

          return url;
        };


        /***/
}),

/***/ 7303:
/***/ ((module) => {

        "use strict";


        /**
         * Creates a new URL by combining the specified URLs
         *
         * @param {string} baseURL The base URL
         * @param {string} relativeURL The relative URL
         * @returns {string} The combined URL
         */
        module.exports = function combineURLs(baseURL, relativeURL) {
          return relativeURL
            ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
            : baseURL;
        };


        /***/
}),

/***/ 4372:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);

        module.exports = (
          utils.isStandardBrowserEnv() ?

            // Standard browser envs support document.cookie
            (function standardBrowserEnv() {
              return {
                write: function write(name, value, expires, path, domain, secure) {
                  var cookie = [];
                  cookie.push(name + '=' + encodeURIComponent(value));

                  if (utils.isNumber(expires)) {
                    cookie.push('expires=' + new Date(expires).toGMTString());
                  }

                  if (utils.isString(path)) {
                    cookie.push('path=' + path);
                  }

                  if (utils.isString(domain)) {
                    cookie.push('domain=' + domain);
                  }

                  if (secure === true) {
                    cookie.push('secure');
                  }

                  document.cookie = cookie.join('; ');
                },

                read: function read(name) {
                  var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
                  return (match ? decodeURIComponent(match[3]) : null);
                },

                remove: function remove(name) {
                  this.write(name, '', Date.now() - 86400000);
                }
              };
            })() :

            // Non standard browser env (web workers, react-native) lack needed support.
            (function nonStandardBrowserEnv() {
              return {
                write: function write() { },
                read: function read() { return null; },
                remove: function remove() { }
              };
            })()
        );


        /***/
}),

/***/ 1793:
/***/ ((module) => {

        "use strict";


        /**
         * Determines whether the specified URL is absolute
         *
         * @param {string} url The URL to test
         * @returns {boolean} True if the specified URL is absolute, otherwise false
         */
        module.exports = function isAbsoluteURL(url) {
          // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
          // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
          // by any combination of letters, digits, plus, period, or hyphen.
          return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
        };


        /***/
}),

/***/ 7985:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);

        module.exports = (
          utils.isStandardBrowserEnv() ?

            // Standard browser envs have full support of the APIs needed to test
            // whether the request URL is of the same origin as current location.
            (function standardBrowserEnv() {
              var msie = /(msie|trident)/i.test(navigator.userAgent);
              var urlParsingNode = document.createElement('a');
              var originURL;

              /**
            * Parse a URL to discover it's components
            *
            * @param {String} url The URL to be parsed
            * @returns {Object}
            */
              function resolveURL(url) {
                var href = url;

                if (msie) {
                  // IE needs attribute set twice to normalize properties
                  urlParsingNode.setAttribute('href', href);
                  href = urlParsingNode.href;
                }

                urlParsingNode.setAttribute('href', href);

                // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
                return {
                  href: urlParsingNode.href,
                  protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
                  host: urlParsingNode.host,
                  search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
                  hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
                  hostname: urlParsingNode.hostname,
                  port: urlParsingNode.port,
                  pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
                    urlParsingNode.pathname :
                    '/' + urlParsingNode.pathname
                };
              }

              originURL = resolveURL(window.location.href);

              /**
            * Determine if a URL shares the same origin as the current location
            *
            * @param {String} requestURL The URL to test
            * @returns {boolean} True if URL shares the same origin, otherwise false
            */
              return function isURLSameOrigin(requestURL) {
                var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
                return (parsed.protocol === originURL.protocol &&
                  parsed.host === originURL.host);
              };
            })() :

            // Non standard browser envs (web workers, react-native) lack needed support.
            (function nonStandardBrowserEnv() {
              return function isURLSameOrigin() {
                return true;
              };
            })()
        );


        /***/
}),

/***/ 6016:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);

        module.exports = function normalizeHeaderName(headers, normalizedName) {
          utils.forEach(headers, function processHeader(value, name) {
            if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
              headers[normalizedName] = value;
              delete headers[name];
            }
          });
        };


        /***/
}),

/***/ 4109:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var utils = __webpack_require__(4867);

        // Headers whose duplicates are ignored by node
        // c.f. https://nodejs.org/api/http.html#http_message_headers
        var ignoreDuplicateOf = [
          'age', 'authorization', 'content-length', 'content-type', 'etag',
          'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
          'last-modified', 'location', 'max-forwards', 'proxy-authorization',
          'referer', 'retry-after', 'user-agent'
        ];

        /**
         * Parse headers into an object
         *
         * ```
         * Date: Wed, 27 Aug 2014 08:58:49 GMT
         * Content-Type: application/json
         * Connection: keep-alive
         * Transfer-Encoding: chunked
         * ```
         *
         * @param {String} headers Headers needing to be parsed
         * @returns {Object} Headers parsed into an object
         */
        module.exports = function parseHeaders(headers) {
          var parsed = {};
          var key;
          var val;
          var i;

          if (!headers) { return parsed; }

          utils.forEach(headers.split('\n'), function parser(line) {
            i = line.indexOf(':');
            key = utils.trim(line.substr(0, i)).toLowerCase();
            val = utils.trim(line.substr(i + 1));

            if (key) {
              if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
                return;
              }
              if (key === 'set-cookie') {
                parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
              } else {
                parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
              }
            }
          });

          return parsed;
        };


        /***/
}),

/***/ 8713:
/***/ ((module) => {

        "use strict";


        /**
         * Syntactic sugar for invoking a function and expanding an array for arguments.
         *
         * Common use case would be to use `Function.prototype.apply`.
         *
         *  ```js
         *  function f(x, y, z) {}
         *  var args = [1, 2, 3];
         *  f.apply(null, args);
         *  ```
         *
         * With `spread` this example can be re-written.
         *
         *  ```js
         *  spread(function(x, y, z) {})([1, 2, 3]);
         *  ```
         *
         * @param {Function} callback
         * @returns {Function}
         */
        module.exports = function spread(callback) {
          return function wrap(arr) {
            return callback.apply(null, arr);
          };
        };


        /***/
}),

/***/ 4867:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var bind = __webpack_require__(1849);

        /*global toString:true*/

        // utils is a library of generic helper functions non-specific to axios

        var toString = Object.prototype.toString;

        /**
         * Determine if a value is an Array
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is an Array, otherwise false
         */
        function isArray(val) {
          return toString.call(val) === '[object Array]';
        }

        /**
         * Determine if a value is undefined
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if the value is undefined, otherwise false
         */
        function isUndefined(val) {
          return typeof val === 'undefined';
        }

        /**
         * Determine if a value is a Buffer
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a Buffer, otherwise false
         */
        function isBuffer(val) {
          return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
            && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
        }

        /**
         * Determine if a value is an ArrayBuffer
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is an ArrayBuffer, otherwise false
         */
        function isArrayBuffer(val) {
          return toString.call(val) === '[object ArrayBuffer]';
        }

        /**
         * Determine if a value is a FormData
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is an FormData, otherwise false
         */
        function isFormData(val) {
          return (typeof FormData !== 'undefined') && (val instanceof FormData);
        }

        /**
         * Determine if a value is a view on an ArrayBuffer
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
         */
        function isArrayBufferView(val) {
          var result;
          if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
            result = ArrayBuffer.isView(val);
          } else {
            result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
          }
          return result;
        }

        /**
         * Determine if a value is a String
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a String, otherwise false
         */
        function isString(val) {
          return typeof val === 'string';
        }

        /**
         * Determine if a value is a Number
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a Number, otherwise false
         */
        function isNumber(val) {
          return typeof val === 'number';
        }

        /**
         * Determine if a value is an Object
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is an Object, otherwise false
         */
        function isObject(val) {
          return val !== null && typeof val === 'object';
        }

        /**
         * Determine if a value is a Date
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a Date, otherwise false
         */
        function isDate(val) {
          return toString.call(val) === '[object Date]';
        }

        /**
         * Determine if a value is a File
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a File, otherwise false
         */
        function isFile(val) {
          return toString.call(val) === '[object File]';
        }

        /**
         * Determine if a value is a Blob
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a Blob, otherwise false
         */
        function isBlob(val) {
          return toString.call(val) === '[object Blob]';
        }

        /**
         * Determine if a value is a Function
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a Function, otherwise false
         */
        function isFunction(val) {
          return toString.call(val) === '[object Function]';
        }

        /**
         * Determine if a value is a Stream
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a Stream, otherwise false
         */
        function isStream(val) {
          return isObject(val) && isFunction(val.pipe);
        }

        /**
         * Determine if a value is a URLSearchParams object
         *
         * @param {Object} val The value to test
         * @returns {boolean} True if value is a URLSearchParams object, otherwise false
         */
        function isURLSearchParams(val) {
          return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
        }

        /**
         * Trim excess whitespace off the beginning and end of a string
         *
         * @param {String} str The String to trim
         * @returns {String} The String freed of excess whitespace
         */
        function trim(str) {
          return str.replace(/^\s*/, '').replace(/\s*$/, '');
        }

        /**
         * Determine if we're running in a standard browser environment
         *
         * This allows axios to run in a web worker, and react-native.
         * Both environments support XMLHttpRequest, but not fully standard globals.
         *
         * web workers:
         *  typeof window -> undefined
         *  typeof document -> undefined
         *
         * react-native:
         *  navigator.product -> 'ReactNative'
         * nativescript
         *  navigator.product -> 'NativeScript' or 'NS'
         */
        function isStandardBrowserEnv() {
          if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
            navigator.product === 'NativeScript' ||
            navigator.product === 'NS')) {
            return false;
          }
          return (
            typeof window !== 'undefined' &&
            typeof document !== 'undefined'
          );
        }

        /**
         * Iterate over an Array or an Object invoking a function for each item.
         *
         * If `obj` is an Array callback will be called passing
         * the value, index, and complete array for each item.
         *
         * If 'obj' is an Object callback will be called passing
         * the value, key, and complete object for each property.
         *
         * @param {Object|Array} obj The object to iterate
         * @param {Function} fn The callback to invoke for each item
         */
        function forEach(obj, fn) {
          // Don't bother if no value provided
          if (obj === null || typeof obj === 'undefined') {
            return;
          }

          // Force an array if not already something iterable
          if (typeof obj !== 'object') {
            /*eslint no-param-reassign:0*/
            obj = [obj];
          }

          if (isArray(obj)) {
            // Iterate over array values
            for (var i = 0, l = obj.length; i < l; i++) {
              fn.call(null, obj[i], i, obj);
            }
          } else {
            // Iterate over object keys
            for (var key in obj) {
              if (Object.prototype.hasOwnProperty.call(obj, key)) {
                fn.call(null, obj[key], key, obj);
              }
            }
          }
        }

        /**
         * Accepts varargs expecting each argument to be an object, then
         * immutably merges the properties of each object and returns result.
         *
         * When multiple objects contain the same key the later object in
         * the arguments list will take precedence.
         *
         * Example:
         *
         * ```js
         * var result = merge({foo: 123}, {foo: 456});
         * console.log(result.foo); // outputs 456
         * ```
         *
         * @param {Object} obj1 Object to merge
         * @returns {Object} Result of all merge properties
         */
        function merge(/* obj1, obj2, obj3, ... */) {
          var result = {};
          function assignValue(val, key) {
            if (typeof result[key] === 'object' && typeof val === 'object') {
              result[key] = merge(result[key], val);
            } else {
              result[key] = val;
            }
          }

          for (var i = 0, l = arguments.length; i < l; i++) {
            forEach(arguments[i], assignValue);
          }
          return result;
        }

        /**
         * Function equal to merge with the difference being that no reference
         * to original objects is kept.
         *
         * @see merge
         * @param {Object} obj1 Object to merge
         * @returns {Object} Result of all merge properties
         */
        function deepMerge(/* obj1, obj2, obj3, ... */) {
          var result = {};
          function assignValue(val, key) {
            if (typeof result[key] === 'object' && typeof val === 'object') {
              result[key] = deepMerge(result[key], val);
            } else if (typeof val === 'object') {
              result[key] = deepMerge({}, val);
            } else {
              result[key] = val;
            }
          }

          for (var i = 0, l = arguments.length; i < l; i++) {
            forEach(arguments[i], assignValue);
          }
          return result;
        }

        /**
         * Extends object a by mutably adding to it the properties of object b.
         *
         * @param {Object} a The object to be extended
         * @param {Object} b The object to copy properties from
         * @param {Object} thisArg The object to bind function to
         * @return {Object} The resulting value of object a
         */
        function extend(a, b, thisArg) {
          forEach(b, function assignValue(val, key) {
            if (thisArg && typeof val === 'function') {
              a[key] = bind(val, thisArg);
            } else {
              a[key] = val;
            }
          });
          return a;
        }

        module.exports = {
          isArray: isArray,
          isArrayBuffer: isArrayBuffer,
          isBuffer: isBuffer,
          isFormData: isFormData,
          isArrayBufferView: isArrayBufferView,
          isString: isString,
          isNumber: isNumber,
          isObject: isObject,
          isUndefined: isUndefined,
          isDate: isDate,
          isFile: isFile,
          isBlob: isBlob,
          isFunction: isFunction,
          isStream: isStream,
          isURLSearchParams: isURLSearchParams,
          isStandardBrowserEnv: isStandardBrowserEnv,
          forEach: forEach,
          merge: merge,
          deepMerge: deepMerge,
          extend: extend,
          trim: trim
        };


        /***/
}),

/***/ 5323:
/***/ (() => {

        !function (a) {
          var t,
            _o,
            h,
            i,
            n,
            e = '<svg><symbol id="icon-icon_yuyin" viewBox="0 0 1024 1024"><path d="M515.072 10.9056a178.3808 178.3808 0 0 1 178.176 178.2272v366.2336a178.2272 178.2272 0 0 1-356.4032 0V189.1328A178.3808 178.3808 0 0 1 515.072 10.9056z m0 671.4368a127.1296 127.1296 0 0 0 127.0272-127.0272V189.1328a127.0272 127.0272 0 0 0-254.0032 0v366.2336a127.1296 127.1296 0 0 0 126.976 126.976z"  ></path><path d="M512 1013.0944a25.6 25.6 0 0 1-25.6-25.6v-141.7728a25.6 25.6 0 0 1 51.2 0v141.7728a25.6 25.6 0 0 1-25.6 25.6z"  ></path><path d="M512 871.3216a380.416 380.416 0 0 1-380.0064-380.0064 25.6 25.6 0 1 1 51.2 0 328.8064 328.8064 0 0 0 657.5616 0 25.6 25.6 0 0 1 51.2 0A380.416 380.416 0 0 1 512 871.3216z"  ></path></symbol><symbol id="icon-icon_yuyinguanbi" viewBox="0 0 1024 1024"><path d="M515.072 10.9056a178.3808 178.3808 0 0 1 178.176 178.2272v366.2336a178.2272 178.2272 0 0 1-356.4032 0V189.1328A178.3808 178.3808 0 0 1 515.072 10.9056z m0 671.4368a127.1296 127.1296 0 0 0 127.0272-127.0272V189.1328a127.0272 127.0272 0 0 0-254.0032 0v366.2336a127.1296 127.1296 0 0 0 126.976 126.976z"  ></path><path d="M512 871.3216a380.416 380.416 0 0 1-380.0064-380.0064 25.6 25.6 0 0 1 51.2 0A329.1648 329.1648 0 0 0 512 820.1216a349.44 349.44 0 0 0 126.8736-25.344 25.6 25.6 0 1 1 17.7664 48.0256 397.4144 397.4144 0 0 1-144.64 28.5184z"  ></path><path d="M512 1013.0944a25.6 25.6 0 0 1-25.6-25.6v-141.7728a25.6 25.6 0 0 1 51.2 0v141.7728a25.6 25.6 0 0 1-25.6 25.6z"  ></path><path d="M818.7904 694.3744a25.6 25.6 0 0 1-21.4528-39.5776 316.5184 316.5184 0 0 0 43.4176-163.4816 25.6 25.6 0 0 1 51.2 0 364.8512 364.8512 0 0 1-51.712 191.3856 25.6 25.6 0 0 1-21.4528 11.6736z"  ></path><path d="M939.008 964.608a25.6 25.6 0 0 1-18.1248-7.4752L66.8672 103.1168a25.6 25.6 0 0 1 36.1984-36.1984l854.016 854.016a25.6 25.6 0 0 1-18.1248 43.7248z"  ></path></symbol><symbol id="icon-icon_shouqi" viewBox="0 0 1024 1024"><path d="M716.8 519.543467a34.133333 34.133333 0 0 1-10.001067 24.132266l-336.349866 336.349867a34.133333 34.133333 0 0 1-48.264534 0 34.133333 34.133333 0 0 1 0-48.264533l312.183467-312.2176-329.0112-329.045334a34.133333 34.133333 0 0 1 0-48.264533 34.133333 34.133333 0 0 1 48.264533 0l353.1776 353.1776a34.133333 34.133333 0 0 1 10.001067 24.132267z"  ></path></symbol><symbol id="icon-icon_zhankai" viewBox="0 0 1024 1024"><path d="M295.355733 519.5776a34.133333 34.133333 0 0 1 10.001067-24.132267L658.5344 142.267733a34.133333 34.133333 0 0 1 48.264533 0 34.133333 34.133333 0 0 1 0 48.264534l-329.0112 329.045333 312.183467 312.2176a34.133333 34.133333 0 0 1-48.264533 48.264533l-336.349867-336.349866a34.133333 34.133333 0 0 1-10.001067-24.132267z"  ></path></symbol><symbol id="icon-Icon_YunLuXiang" viewBox="0 0 1024 1024"><path d="M307.264 875.904a239.488 239.488 0 0 1-55.552-472.384 32 32 0 0 1 14.784 62.272 175.488 175.488 0 1 0 88.704 339.52 32 32 0 1 1 17.472 61.568 239.808 239.808 0 0 1-65.408 9.024z"  ></path><path d="M716.672 875.904a239.808 239.808 0 0 1-65.408-9.024 32 32 0 1 1 17.472-61.568 175.488 175.488 0 1 0 88.704-339.52 32 32 0 0 1 14.784-62.272 239.488 239.488 0 0 1-55.552 472.384z"  ></path><path d="M763.712 461.056a32 32 0 0 1-32-32 216.96 216.96 0 0 0-433.856 0 32 32 0 1 1-64 0 280.96 280.96 0 0 1 561.856 0 32 32 0 0 1-32 32z"  ></path><path d="M662.72 626.944a32 32 0 0 1-22.528-9.28L514.88 493.376l-121.6 121.6a32 32 0 0 1-45.312-45.184l143.872-144.32a32 32 0 0 1 45.184 0l147.968 146.816a32 32 0 0 1-22.528 54.72z"  ></path><path d="M514.752 834.432a32 32 0 0 1-32-32V521.6a32 32 0 0 1 64 0v280.832a32 32 0 0 1-32 32z"  ></path></symbol><symbol id="icon-Icon_BenDiLuXiang" viewBox="0 0 1024 1024"><path d="M298.688 53.312h554.688a32 32 0 0 1 32 32v853.312a32 32 0 0 1-32 32H170.688a32 32 0 0 1-32-32V256a32 32 0 0 1 6.4-19.2l128-170.688a32 32 0 0 1 25.6-12.8z m522.688 64H314.688l-112 149.312v640h618.688z"  ></path><path d="M320 480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0v128a32 32 0 0 1-32 32z"  ></path><path d="M448 416a32 32 0 0 1-32-32V256a32 32 0 0 1 64 0v128a32 32 0 0 1-32 32z"  ></path><path d="M704 416a32 32 0 0 1-32-32V256a32 32 0 0 1 64 0v128a32 32 0 0 1-32 32z"  ></path><path d="M576 416a32 32 0 0 1-32-32V256a32 32 0 0 1 64 0v128a32 32 0 0 1-32 32z"  ></path></symbol><symbol id="icon-Icon_JingYin" viewBox="0 0 1024 1024"><path d="M494.7456 76.8a25.6 25.6 0 0 1 25.6 25.6v798.3616a25.6 25.6 0 0 1-25.6 25.6 302.4896 302.4896 0 0 1-212.0704-109.568A628.0704 628.0704 0 0 1 209.92 723.2H95.5392A70.0416 70.0416 0 0 1 25.6 653.2608v-306.688A70.0416 70.0416 0 0 1 95.5392 276.48H209.92c29.6448-46.08 139.008-199.68 284.8256-199.68z m-25.6 796.2624V130.0992c-126.0544 20.48-221.7984 183.1936-222.8224 184.9856a25.6 25.6 0 0 1-22.1696 12.8H95.5392a18.7904 18.7904 0 0 0-18.7392 18.7392v306.688a18.7904 18.7904 0 0 0 18.7392 18.7392h128.6144a25.6 25.6 0 0 1 22.272 12.9536c0.9728 1.7408 96.6144 167.3216 222.72 188.0576z"  ></path><path d="M929.0752 682.1376a25.6 25.6 0 0 1-18.0736-7.4752l-289.0752-289.0752a25.6 25.6 0 0 1 36.1984-36.1984L947.2 638.464a25.6 25.6 0 0 1-18.1248 43.7248z"  ></path><path d="M640 682.1376a25.6 25.6 0 0 1-18.1248-43.7248l289.0752-289.0752a25.6 25.6 0 1 1 36.1984 36.1984l-289.024 289.1264a25.6 25.6 0 0 1-18.1248 7.4752z"  ></path></symbol><symbol id="icon-Icon_QuanPing" viewBox="0 0 1024 1024"><path d="M501.76 896H163.84a87.04 87.04 0 0 1-87.04-87.04V471.04a25.6 25.6 0 0 1 25.6-25.6 25.6 25.6 0 0 1 25.6 25.6v337.92a35.84 35.84 0 0 0 35.84 35.84h337.92a25.6 25.6 0 0 1 0 51.2z"  ></path><path d="M911.36 578.56a25.6 25.6 0 0 1-25.6-25.6V215.04a35.84 35.84 0 0 0-35.84-35.84H512a25.6 25.6 0 0 1-25.6-25.6 25.6 25.6 0 0 1 25.6-25.6h337.92a87.04 87.04 0 0 1 87.04 87.04v337.92a25.6 25.6 0 0 1-25.6 25.6z"  ></path></symbol><symbol id="icon-Icon_LuPing" viewBox="0 0 1024 1024"><path d="M50.2784 179.2h716.8a25.6 25.6 0 0 1 25.6 25.6v614.4a25.6 25.6 0 0 1-25.6 25.6h-716.8a25.6 25.6 0 0 1-25.6-25.6V204.8a25.6 25.6 0 0 1 25.6-25.6z m691.2 51.2h-665.6v563.2h665.6z"  ></path><path d="M971.8784 256a25.6 25.6 0 0 1 25.6 25.6v460.8a25.6 25.6 0 0 1-40.96 20.48l-204.8-155.5456a25.6 25.6 0 0 1-10.24-20.48V437.0944a25.6 25.6 0 0 1 10.24-20.48l204.8-155.4944a25.6 25.6 0 0 1 15.36-5.12z m-25.6 434.7904V333.2096l-153.6 116.6336v124.3648z"  ></path><path d="M358.4 654.08a25.6 25.6 0 0 1-16.384-45.2608L458.1888 512 342.016 415.1808a25.6 25.6 0 0 1 32.768-39.3216l139.776 116.48a25.6 25.6 0 0 1 0 39.3216l-139.776 116.48a25.6 25.6 0 0 1-16.384 5.9392z"  ></path></symbol><symbol id="icon-Icon_HD" viewBox="0 0 1024 1024"><path d="M413.4912 359.5776h54.272v319.5904h-54.272v-141.9264H257.28v141.9264H204.8V359.5776h52.48v131.1744h156.2112z m237.8752 318.3616H535.552V358.3488h118.6304c103.7312 1.1776 156.2112 54.8352 157.3888 160.4096 3.1744 109.1584-49.8688 162.2016-160.2048 159.232z m1.792-271.872h-64.9728v228.352h63.1808c72.1408 1.1776 107.52-36.9664 106.7008-114.4832-1.1776-74.496-36.352-112.64-104.7552-113.8176z"  ></path><path d="M51.2 204.8v629.0432h921.6V204.8H51.2M46.5408 153.6h930.9184a43.8784 43.8784 0 0 1 46.5408 40.6528v650.24a43.8784 43.8784 0 0 1-46.5408 40.6528H46.5408A43.8784 43.8784 0 0 1 0 844.3904V194.2528A43.8784 43.8784 0 0 1 46.5408 153.6z"  ></path></symbol><symbol id="icon-Icon_Voice" viewBox="0 0 1024 1024"><path d="M494.7456 76.8a25.6 25.6 0 0 1 25.6 25.6v798.3616a25.6 25.6 0 0 1-25.6 25.6 302.4896 302.4896 0 0 1-212.0704-109.568A628.0704 628.0704 0 0 1 209.92 723.2H95.5392A70.0416 70.0416 0 0 1 25.6 653.2608v-306.688A70.0416 70.0416 0 0 1 95.5392 276.48H209.92c29.6448-46.08 139.008-199.68 284.8256-199.68z m-25.6 796.2624V130.0992c-126.0544 20.48-221.7984 183.1936-222.8224 184.9856a25.6 25.6 0 0 1-22.1696 12.8H95.5392a18.7904 18.7904 0 0 0-18.7392 18.7392v306.688a18.7904 18.7904 0 0 0 18.7392 18.7392h128.6144a25.6 25.6 0 0 1 22.272 12.9536c0.9728 1.7408 96.6144 167.3216 222.72 188.0576z"  ></path><path d="M672.1536 726.9376a25.6 25.6 0 0 1-17.0496-44.6976 238.8992 238.8992 0 0 0 34.4576-38.2464 244.2752 244.2752 0 0 0-0.768-285.4912 238.8992 238.8992 0 0 0-33.7408-37.2224 25.6 25.6 0 0 1 34.0992-38.1952 293.632 293.632 0 0 1 0 437.4016 25.6 25.6 0 0 1-16.9984 6.4512z"  ></path><path d="M721.7664 908.544a25.6 25.6 0 0 1-13.1584-47.5648 417.9968 417.9968 0 0 0 5.6832-715.3152 25.6 25.6 0 0 1 26.9312-43.52 469.1968 469.1968 0 0 1-6.3488 802.3552 25.6 25.6 0 0 1-13.1072 4.0448z"  ></path></symbol><symbol id="icon-Icon_ScreenShot" viewBox="0 0 1024 1024"><path d="M699.904 275.0464H308.3776a25.6 25.6 0 0 1-22.8864-37.0688L350.72 107.4688a25.6 25.6 0 0 1 22.8864-14.1312h261.12a25.6 25.6 0 0 1 22.8864 14.1312l65.28 130.5088a25.6 25.6 0 0 1-22.8864 37.0688z m-350.1056-51.2h308.6848l-39.6288-79.3088h-229.376z"  ></path><path d="M153.6 223.8464h701.1328a128 128 0 0 1 128 128v422.3488a128 128 0 0 1-128 128H153.6a128 128 0 0 1-128-128V351.8464a128 128 0 0 1 128-128z m701.1328 627.1488a76.8 76.8 0 0 0 76.8-76.8V351.8464a76.8 76.8 0 0 0-76.8-76.8H153.6a76.8 76.8 0 0 0-76.8 76.8v422.3488a76.8 76.8 0 0 0 76.8 76.8z"  ></path><path d="M503.6032 758.9376a199.68 199.68 0 1 1 199.68-199.68 199.68 199.68 0 0 1-199.68 199.68z m0-348.16a148.48 148.48 0 1 0 148.48 148.48 148.48 148.48 0 0 0-148.48-148.48z"  ></path></symbol><symbol id="icon-Icon_SD" viewBox="0 0 1024 1024"><path d="M258.6624 656.7424a104.5504 104.5504 0 0 1-42.0864-85.504h49.8176a72.2432 72.2432 0 0 0 24.9344 49.8688 96.1024 96.1024 0 0 0 55.8592 13.312 109.4656 109.4656 0 0 0 53.248-11.1616 34.8672 34.8672 0 0 0 19.7632-30.72 43.4688 43.4688 0 0 0-28.7744-38.6048 563.2 563.2 0 0 0-59.6992-20.48 500.6848 500.6848 0 0 1-70.4512-25.6 67.7888 67.7888 0 0 1-35.2256-61.8496 72.704 72.704 0 0 1 34.3552-64 165.7344 165.7344 0 0 1 166.2464 0 98.2016 98.2016 0 0 1 36.9664 74.2912h-49.8688a66.8672 66.8672 0 0 0-23.6544-40.96 83.3024 83.3024 0 0 0-50.688-12.4416 94.464 94.464 0 0 0-44.2368 8.1408 32.8192 32.8192 0 0 0-18.8928 31.7952 34.8672 34.8672 0 0 0 21.4528 31.3856 438.3744 438.3744 0 0 0 52.4288 18.8928 480.0512 480.0512 0 0 1 80.3328 30.0544 73.5744 73.5744 0 0 1 39.936 66.1504 76.8 76.8 0 0 1-32.256 65.28 188.3648 188.3648 0 0 1-179.5584 1.6896z m392.7552 21.248h-115.6608V358.4h118.6304c103.7824 1.1776 156.2624 54.8864 157.3888 160.4096 2.9184 106.24-47.36 159.3344-151.7568 159.3344z m-63.232-43.5712h63.232c72.1408 1.1776 107.52-36.9664 106.7008-114.4832-1.1776-74.5472-36.352-112.64-104.9088-113.92h-65.024z"  ></path><path d="M51.2 204.8v629.0432h921.6V204.8H51.2M46.5408 153.6h930.9184a43.8784 43.8784 0 0 1 46.5408 40.6528v650.24a43.8784 43.8784 0 0 1-46.5408 40.6528H46.5408A43.8784 43.8784 0 0 1 0 844.3904V194.2528A43.8784 43.8784 0 0 1 46.5408 153.6z"  ></path></symbol><symbol id="icon-Icon_YunTai" viewBox="0 0 1024 1024"><path d="M514.7136 405.2992a109.4144 109.4144 0 1 0 109.4144 109.4144 109.5168 109.5168 0 0 0-109.4144-109.4144m0-51.2a160.6144 160.6144 0 1 1-160.6144 160.6144 160.6144 160.6144 0 0 1 160.6144-160.6144z"  ></path><path d="M804.9664 713.4208a25.6 25.6 0 0 1-18.1248-43.7248l160.4096-160.4608-160.4096-160.4096a25.6 25.6 0 0 1 36.1984-36.1984l178.5344 178.5344a25.6 25.6 0 0 1 0 36.1984l-178.5344 178.5344a25.6 25.6 0 0 1-18.0736 7.5264z"  ></path><path d="M310.5792 804.9664a25.6 25.6 0 0 1 7.4752-18.1248 25.6 25.6 0 0 1 36.1984 0l160.4608 160.4608 160.4096-160.4608a25.6 25.6 0 0 1 36.1984 0 25.6 25.6 0 0 1 0 36.1984l-178.4832 178.5856a25.6 25.6 0 0 1-36.1984 0l-178.5856-178.5344a25.6 25.6 0 0 1-7.4752-18.1248z"  ></path><path d="M219.0336 718.848a25.6 25.6 0 0 1-18.1248-7.4752L22.3744 532.8384a25.6 25.6 0 0 1 0-36.1984l178.5344-178.5344a25.6 25.6 0 1 1 36.1984 36.1984l-160.4096 160.4096 160.4096 160.4608a25.6 25.6 0 0 1-18.1248 43.7248z"  ></path><path d="M305.152 219.0336a25.6 25.6 0 0 1 7.4752-18.1248L491.1616 22.3744a25.6 25.6 0 0 1 36.1984 0l178.5856 178.5344a25.6 25.6 0 0 1 0 36.1984 25.6 25.6 0 0 1-36.1984 0L509.2864 76.6976 348.8768 237.1584a25.6 25.6 0 0 1-43.7248-18.1248z"  ></path></symbol><symbol id="icon-Icon_WangYeQuanPing" viewBox="0 0 1024 1024"><path d="M326.6048 949.8624H94.8224a74.752 74.752 0 0 1-71.936-77.3632V151.4496a74.752 74.752 0 0 1 71.936-77.1072h834.304a74.752 74.752 0 0 1 71.936 77.1072v154.5216a25.6 25.6 0 1 1-51.2 0V151.4496a24.064 24.064 0 0 0-20.736-25.9072H94.8224a24.064 24.064 0 0 0-20.736 25.9072v721.0496a24.064 24.064 0 0 0 20.736 25.9072h231.7824a25.6 25.6 0 0 1 0 51.2z"  ></path><path d="M583.7824 486.4h309.6576a76.8 76.8 0 0 1 76.8 76.8v309.6576a76.8 76.8 0 0 1-76.8 76.8h-309.6576a76.8 76.8 0 0 1-76.8-76.8V563.2a76.8 76.8 0 0 1 76.8-76.8z m309.6576 412.0576a25.6 25.6 0 0 0 25.6-25.6V563.2a25.6 25.6 0 0 0-25.6-25.6h-309.6576a25.6 25.6 0 0 0-25.6 25.6v309.6576a25.6 25.6 0 0 0 25.6 25.6z"  ></path></symbol><symbol id="icon-Icon_Play" viewBox="0 0 1024 1024"><path d="M859.2896 512a75.3664 75.3664 0 0 0-35.84-65.1264L373.504 165.8368A76.8 76.8 0 0 0 256 230.9632v562.0736a76.8 76.8 0 0 0 117.76 65.1264l449.4336-281.0368A75.3664 75.3664 0 0 0 859.2896 512m51.2 0a126.9248 126.9248 0 0 1-60.16 108.544l-449.6896 281.0368A128 128 0 0 1 204.8 793.0368V230.9632a128 128 0 0 1 195.84-108.544l449.6896 281.0368A126.9248 126.9248 0 0 1 910.4896 512z"  ></path></symbol><symbol id="icon-Icon_Stop" viewBox="0 0 1024 1024"><path d="M307.2 896a25.6 25.6 0 0 1-25.6-25.6V153.6a25.6 25.6 0 0 1 51.2 0v716.8a25.6 25.6 0 0 1-25.6 25.6z"  ></path><path d="M716.8 896a25.6 25.6 0 0 1-25.6-25.6V153.6a25.6 25.6 0 0 1 51.2 0v716.8a25.6 25.6 0 0 1-25.6 25.6z"  ></path></symbol><symbol id="icon-Icon_SDcard" viewBox="0 0 1024 1024"><path d="M845.376 971.392H169.088a32 32 0 0 1-32-32V262.912a32 32 0 0 1 6.4-19.2l126.784-169.088a32.32 32.32 0 0 1 25.6-12.8h549.504a32 32 0 0 1 32 32v845.376a32 32 0 0 1-32 32.192zM316.992 294.528a32 32 0 0 0-32 32v126.784a32 32 0 0 0 32 32 32 32 0 0 0 32-32V326.528a32 32 0 0 0-31.936-32z m380.416-63.424a32 32 0 0 0-32 32v126.784a32 32 0 0 0 32 32 32 32 0 0 0 32-32V262.912a32 32 0 0 0-32-32z m-126.784 0a32 32 0 0 0-32 32v126.784a32 32 0 0 0 32 32 32 32 0 0 0 32-32V262.912a32 32 0 0 0-32-32z m-126.848 0a32 32 0 0 0-32 32v126.784a32 32 0 0 0 32 32 32 32 0 0 0 32-32V262.912a32 32 0 0 0-31.936-32z"  ></path></symbol><symbol id="icon-Icon_Cloud" viewBox="0 0 1024 1024"><path d="M997.248 584.768a274.624 274.624 0 0 1-272.896 275.968H269.376A244.736 244.736 0 0 1 26.752 628.352a232.768 232.768 0 0 1 151.616-211.904 60.608 60.608 0 0 0 36.224-43.904 270.08 270.08 0 0 1 267.072-209.408 275.2 275.2 0 0 1 230.784 122.304 60.672 60.672 0 0 0 41.92 26.752 279.872 279.872 0 0 1 242.88 272.576z"  ></path></symbol><symbol id="icon-Icon_Left" viewBox="0 0 1024 1024"><path d="M227.968 592a102.4 102.4 0 0 1 0-159.872L601.6 133.12a102.4 102.4 0 0 1 166.4 80v597.888a102.4 102.4 0 0 1-166.4 79.872z"  ></path></symbol><symbol id="icon-Icon_Right" viewBox="0 0 1024 1024"><path d="M796.032 432a102.4 102.4 0 0 1 0 159.872L422.4 890.88A102.4 102.4 0 0 1 256 810.88V212.992a102.4 102.4 0 0 1 166.4-79.872z"  ></path></symbol><symbol id="icon-Console_icon_delete" viewBox="0 0 1024 1024"><path d="M805.248 895.744L511.872 602.496 218.624 895.744a64 64 0 0 1-45.312 18.816A64 64 0 0 1 128 895.744a64 64 0 0 1 0-90.496L421.248 512 128 218.752a64 64 0 0 1 0-90.496 64 64 0 0 1 90.496 0l293.248 293.248L805.12 128.256a64 64 0 0 1 90.496 0 64 64 0 0 1 0 90.496L602.368 512l293.248 293.248a64 64 0 0 1 0 90.496 64 64 0 0 1-45.312 18.816 64 64 0 0 1-45.056-18.816z"  ></path></symbol><symbol id="icon-Console_icon_calendar" viewBox="0 0 1024 1024"><path d="M179.153455 894.184727a116.363636 116.363636 0 0 1-116.363637-116.363636V336.802909a116.363636 116.363636 0 0 1 116.363637-116.363636h91.648V163.421091a23.272727 23.272727 0 0 1 23.272727-23.272727 23.272727 23.272727 0 0 1 23.272727 23.272727v56.878545h369.570909V163.421091a23.272727 23.272727 0 0 1 23.272727-23.272727 23.272727 23.272727 0 0 1 23.272728 23.272727v56.878545h95.744a116.363636 116.363636 0 0 1 116.363636 116.363637v441.157818a116.363636 116.363636 0 0 1-116.363636 116.363636z m-69.818182-557.335272v440.971636a69.818182 69.818182 0 0 0 69.818182 69.818182h650.053818a69.818182 69.818182 0 0 0 69.818182-69.818182V336.802909a69.818182 69.818182 0 0 0-69.818182-69.818182h-95.744V330.007273a23.272727 23.272727 0 0 1-23.272728 23.272727 23.272727 23.272727 0 0 1-23.272727-23.272727V266.984727h-369.570909V330.007273a23.272727 23.272727 0 0 1-23.272727 23.272727 23.272727 23.272727 0 0 1-23.272727-23.272727V266.984727H179.153455a69.818182 69.818182 0 0 0-69.818182 69.678546z m184.785454 370.129454a23.272727 23.272727 0 0 1-23.272727-23.272727 23.272727 23.272727 0 0 1 23.272727-23.272727h416.116364a23.272727 23.272727 0 0 1 23.272727 23.272727 23.272727 23.272727 0 0 1-23.272727 23.272727z m0-166.446545a23.272727 23.272727 0 0 1-23.272727-23.272728 23.272727 23.272727 0 0 1 23.272727-23.272727h228.864a23.272727 23.272727 0 0 1 23.272728 23.272727 23.272727 23.272727 0 0 1-23.272728 23.272728z"  ></path></symbol><symbol id="icon-code_icon_copy" viewBox="0 0 1024 1024"><path d="M136.192 987.428571A99.766857 99.766857 0 0 1 36.571429 887.808V321.828571a99.693714 99.693714 0 0 1 99.620571-99.620571h86.089143V136.118857A99.766857 99.766857 0 0 1 321.828571 36.571429h565.906286A99.766857 99.766857 0 0 1 987.428571 136.192V702.171429a99.693714 99.693714 0 0 1-99.620571 99.620571h-86.089143v86.089143A99.766857 99.766857 0 0 1 702.171429 987.428571z m-30.939429-665.6v565.906286a31.012571 31.012571 0 0 0 30.939429 31.012572H702.171429a31.012571 31.012571 0 0 0 31.012571-31.012572V321.828571a31.012571 31.012571 0 0 0-31.012571-30.939428H136.265143a31.012571 31.012571 0 0 0-31.012572 30.939428z m782.628572 411.136a31.012571 31.012571 0 0 0 30.939428-30.939428V136.118857a31.012571 31.012571 0 0 0-30.939428-31.012571H321.828571a31.012571 31.012571 0 0 0-31.012571 31.012571v86.089143H702.171429A99.766857 99.766857 0 0 1 801.792 321.828571v411.136z"  ></path></symbol></svg>',
            d = (d = document.getElementsByTagName("script"))[d.length - 1].getAttribute("data-injectcss"),
            l = function l(a, t) {
              t.parentNode.insertBefore(a, t);
            };

          if (d && !a.__iconfont__svg__cssinject__) {
            a.__iconfont__svg__cssinject__ = !0;

            try {
              document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>");
            } catch (a) {
              console && console.log(a);
            }
          }

          function p() {
            n || (n = !0, h());
          }

          function c() {
            try {
              i.documentElement.doScroll("left");
            } catch (a) {
              return void setTimeout(c, 50);
            }

            p();
          }

          t = function t() {
            var a,
              t = document.createElement("div");
            t.innerHTML = e, e = null, (t = t.getElementsByTagName("svg")[0]) && (t.setAttribute("aria-hidden", "true"), t.style.position = "absolute", t.style.width = 0, t.style.height = 0, t.style.overflow = "hidden", t = t, (a = document.body).firstChild ? l(t, a.firstChild) : a.appendChild(t));
          }, document.addEventListener ? ~["complete", "loaded", "interactive"].indexOf(document.readyState) ? setTimeout(t, 0) : (_o = function o() {
            document.removeEventListener("DOMContentLoaded", _o, !1), t();
          }, document.addEventListener("DOMContentLoaded", _o, !1)) : document.attachEvent && (h = t, i = a.document, n = !1, c(), i.onreadystatechange = function () {
            "complete" == i.readyState && (i.onreadystatechange = null, p());
          });
        }(window);

        /***/
}),

/***/ 4963:
/***/ ((module) => {

        module.exports = function (it) {
          if (typeof it != 'function') throw TypeError(it + ' is not a function!');
          return it;
        };


        /***/
}),

/***/ 7722:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 22.1.3.31 Array.prototype[@@unscopables]
        var UNSCOPABLES = __webpack_require__(6314)('unscopables');
        var ArrayProto = Array.prototype;
        if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(7728)(ArrayProto, UNSCOPABLES, {});
        module.exports = function (key) {
          ArrayProto[UNSCOPABLES][key] = true;
        };


        /***/
}),

/***/ 6793:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var at = __webpack_require__(4496)(true);

        // `AdvanceStringIndex` abstract operation
        // https://tc39.github.io/ecma262/#sec-advancestringindex
        module.exports = function (S, index, unicode) {
          return index + (unicode ? at(S, index).length : 1);
        };


        /***/
}),

/***/ 3328:
/***/ ((module) => {

        module.exports = function (it, Constructor, name, forbiddenField) {
          if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
            throw TypeError(name + ': incorrect invocation!');
          } return it;
        };


        /***/
}),

/***/ 7007:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var isObject = __webpack_require__(5286);
        module.exports = function (it) {
          if (!isObject(it)) throw TypeError(it + ' is not an object!');
          return it;
        };


        /***/
}),

/***/ 6852:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";
        // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)

        var toObject = __webpack_require__(508);
        var toAbsoluteIndex = __webpack_require__(2337);
        var toLength = __webpack_require__(875);
        module.exports = function fill(value /* , start = 0, end = @length */) {
          var O = toObject(this);
          var length = toLength(O.length);
          var aLen = arguments.length;
          var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);
          var end = aLen > 2 ? arguments[2] : undefined;
          var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
          while (endPos > index) O[index++] = value;
          return O;
        };


        /***/
}),

/***/ 9315:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // false -> Array#indexOf
        // true  -> Array#includes
        var toIObject = __webpack_require__(2110);
        var toLength = __webpack_require__(875);
        var toAbsoluteIndex = __webpack_require__(2337);
        module.exports = function (IS_INCLUDES) {
          return function ($this, el, fromIndex) {
            var O = toIObject($this);
            var length = toLength(O.length);
            var index = toAbsoluteIndex(fromIndex, length);
            var value;
            // Array#includes uses SameValueZero equality algorithm
            // eslint-disable-next-line no-self-compare
            if (IS_INCLUDES && el != el) while (length > index) {
              value = O[index++];
              // eslint-disable-next-line no-self-compare
              if (value != value) return true;
              // Array#indexOf ignores holes, Array#includes - not
            } else for (; length > index; index++) if (IS_INCLUDES || index in O) {
              if (O[index] === el) return IS_INCLUDES || index || 0;
            } return !IS_INCLUDES && -1;
          };
        };


        /***/
}),

/***/ 50:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 0 -> Array#forEach
        // 1 -> Array#map
        // 2 -> Array#filter
        // 3 -> Array#some
        // 4 -> Array#every
        // 5 -> Array#find
        // 6 -> Array#findIndex
        var ctx = __webpack_require__(741);
        var IObject = __webpack_require__(9797);
        var toObject = __webpack_require__(508);
        var toLength = __webpack_require__(875);
        var asc = __webpack_require__(6886);
        module.exports = function (TYPE, $create) {
          var IS_MAP = TYPE == 1;
          var IS_FILTER = TYPE == 2;
          var IS_SOME = TYPE == 3;
          var IS_EVERY = TYPE == 4;
          var IS_FIND_INDEX = TYPE == 6;
          var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
          var create = $create || asc;
          return function ($this, callbackfn, that) {
            var O = toObject($this);
            var self = IObject(O);
            var f = ctx(callbackfn, that, 3);
            var length = toLength(self.length);
            var index = 0;
            var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
            var val, res;
            for (; length > index; index++) if (NO_HOLES || index in self) {
              val = self[index];
              res = f(val, index, O);
              if (TYPE) {
                if (IS_MAP) result[index] = res;   // map
                else if (res) switch (TYPE) {
                  case 3: return true;             // some
                  case 5: return val;              // find
                  case 6: return index;            // findIndex
                  case 2: result.push(val);        // filter
                } else if (IS_EVERY) return false; // every
              }
            }
            return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
          };
        };


        /***/
}),

/***/ 2736:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var isObject = __webpack_require__(5286);
        var isArray = __webpack_require__(4302);
        var SPECIES = __webpack_require__(6314)('species');

        module.exports = function (original) {
          var C;
          if (isArray(original)) {
            C = original.constructor;
            // cross-realm fallback
            if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
            if (isObject(C)) {
              C = C[SPECIES];
              if (C === null) C = undefined;
            }
          } return C === undefined ? Array : C;
        };


        /***/
}),

/***/ 6886:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
        var speciesConstructor = __webpack_require__(2736);

        module.exports = function (original, length) {
          return new (speciesConstructor(original))(length);
        };


        /***/
}),

/***/ 1488:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // getting tag from 19.1.3.6 Object.prototype.toString()
        var cof = __webpack_require__(2032);
        var TAG = __webpack_require__(6314)('toStringTag');
        // ES3 wrong here
        var ARG = cof(function () { return arguments; }()) == 'Arguments';

        // fallback for IE11 Script Access Denied error
        var tryGet = function (it, key) {
          try {
            return it[key];
          } catch (e) { /* empty */ }
        };

        module.exports = function (it) {
          var O, T, B;
          return it === undefined ? 'Undefined' : it === null ? 'Null'
            // @@toStringTag case
            : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
              // builtinTag case
              : ARG ? cof(O)
                // ES3 arguments fallback
                : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
        };


        /***/
}),

/***/ 2032:
/***/ ((module) => {

        var toString = {}.toString;

        module.exports = function (it) {
          return toString.call(it).slice(8, -1);
        };


        /***/
}),

/***/ 5645:
/***/ ((module) => {

        var core = module.exports = { version: '2.6.12' };
        if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef


        /***/
}),

/***/ 2811:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var $defineProperty = __webpack_require__(9275);
        var createDesc = __webpack_require__(681);

        module.exports = function (object, index, value) {
          if (index in object) $defineProperty.f(object, index, createDesc(0, value));
          else object[index] = value;
        };


        /***/
}),

/***/ 741:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // optional / simple context binding
        var aFunction = __webpack_require__(4963);
        module.exports = function (fn, that, length) {
          aFunction(fn);
          if (that === undefined) return fn;
          switch (length) {
            case 1: return function (a) {
              return fn.call(that, a);
            };
            case 2: return function (a, b) {
              return fn.call(that, a, b);
            };
            case 3: return function (a, b, c) {
              return fn.call(that, a, b, c);
            };
          }
          return function (/* ...args */) {
            return fn.apply(that, arguments);
          };
        };


        /***/
}),

/***/ 1355:
/***/ ((module) => {

        // 7.2.1 RequireObjectCoercible(argument)
        module.exports = function (it) {
          if (it == undefined) throw TypeError("Can't call method on  " + it);
          return it;
        };


        /***/
}),

/***/ 7057:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // Thank's IE8 for his funny defineProperty
        module.exports = !__webpack_require__(4253)(function () {
          return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
        });


        /***/
}),

/***/ 2457:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var isObject = __webpack_require__(5286);
        var document = (__webpack_require__(3816).document);
        // typeof document.createElement is 'object' in old IE
        var is = isObject(document) && isObject(document.createElement);
        module.exports = function (it) {
          return is ? document.createElement(it) : {};
        };


        /***/
}),

/***/ 4430:
/***/ ((module) => {

        // IE 8- don't enum bug keys
        module.exports = (
          'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
        ).split(',');


        /***/
}),

/***/ 5541:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // all enumerable object keys, includes symbols
        var getKeys = __webpack_require__(7184);
        var gOPS = __webpack_require__(4548);
        var pIE = __webpack_require__(4682);
        module.exports = function (it) {
          var result = getKeys(it);
          var getSymbols = gOPS.f;
          if (getSymbols) {
            var symbols = getSymbols(it);
            var isEnum = pIE.f;
            var i = 0;
            var key;
            while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
          } return result;
        };


        /***/
}),

/***/ 2985:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var global = __webpack_require__(3816);
        var core = __webpack_require__(5645);
        var hide = __webpack_require__(7728);
        var redefine = __webpack_require__(7234);
        var ctx = __webpack_require__(741);
        var PROTOTYPE = 'prototype';

        var $export = function (type, name, source) {
          var IS_FORCED = type & $export.F;
          var IS_GLOBAL = type & $export.G;
          var IS_STATIC = type & $export.S;
          var IS_PROTO = type & $export.P;
          var IS_BIND = type & $export.B;
          var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
          var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
          var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
          var key, own, out, exp;
          if (IS_GLOBAL) source = name;
          for (key in source) {
            // contains in native
            own = !IS_FORCED && target && target[key] !== undefined;
            // export native or passed
            out = (own ? target : source)[key];
            // bind timers to global for call from export context
            exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
            // extend global
            if (target) redefine(target, key, out, type & $export.U);
            // export
            if (exports[key] != out) hide(exports, key, exp);
            if (IS_PROTO && expProto[key] != out) expProto[key] = out;
          }
        };
        global.core = core;
        // type bitmap
        $export.F = 1;   // forced
        $export.G = 2;   // global
        $export.S = 4;   // static
        $export.P = 8;   // proto
        $export.B = 16;  // bind
        $export.W = 32;  // wrap
        $export.U = 64;  // safe
        $export.R = 128; // real proto method for `library`
        module.exports = $export;


        /***/
}),

/***/ 4253:
/***/ ((module) => {

        module.exports = function (exec) {
          try {
            return !!exec();
          } catch (e) {
            return true;
          }
        };


        /***/
}),

/***/ 8082:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        __webpack_require__(8269);
        var redefine = __webpack_require__(7234);
        var hide = __webpack_require__(7728);
        var fails = __webpack_require__(4253);
        var defined = __webpack_require__(1355);
        var wks = __webpack_require__(6314);
        var regexpExec = __webpack_require__(1165);

        var SPECIES = wks('species');

        var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
          // #replace needs built-in support for named groups.
          // #match works fine because it just return the exec results, even if it has
          // a "grops" property.
          var re = /./;
          re.exec = function () {
            var result = [];
            result.groups = { a: '7' };
            return result;
          };
          return ''.replace(re, '$<a>') !== '7';
        });

        var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {
          // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
          var re = /(?:)/;
          var originalExec = re.exec;
          re.exec = function () { return originalExec.apply(this, arguments); };
          var result = 'ab'.split(re);
          return result.length === 2 && result[0] === 'a' && result[1] === 'b';
        })();

        module.exports = function (KEY, length, exec) {
          var SYMBOL = wks(KEY);

          var DELEGATES_TO_SYMBOL = !fails(function () {
            // String methods call symbol-named RegEp methods
            var O = {};
            O[SYMBOL] = function () { return 7; };
            return ''[KEY](O) != 7;
          });

          var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {
            // Symbol-named RegExp methods call .exec
            var execCalled = false;
            var re = /a/;
            re.exec = function () { execCalled = true; return null; };
            if (KEY === 'split') {
              // RegExp[@@split] doesn't call the regex's exec method, but first creates
              // a new one. We need to return the patched regex when creating the new one.
              re.constructor = {};
              re.constructor[SPECIES] = function () { return re; };
            }
            re[SYMBOL]('');
            return !execCalled;
          }) : undefined;

          if (
            !DELEGATES_TO_SYMBOL ||
            !DELEGATES_TO_EXEC ||
            (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||
            (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
          ) {
            var nativeRegExpMethod = /./[SYMBOL];
            var fns = exec(
              defined,
              SYMBOL,
              ''[KEY],
              function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {
                if (regexp.exec === regexpExec) {
                  if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
                    // The native String method already delegates to @@method (this
                    // polyfilled function), leasing to infinite recursion.
                    // We avoid it by directly calling the native @@method method.
                    return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
                  }
                  return { done: true, value: nativeMethod.call(str, regexp, arg2) };
                }
                return { done: false };
              }
            );
            var strfn = fns[0];
            var rxfn = fns[1];

            redefine(String.prototype, KEY, strfn);
            hide(RegExp.prototype, SYMBOL, length == 2
              // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
              // 21.2.5.11 RegExp.prototype[@@split](string, limit)
              ? function (string, arg) { return rxfn.call(string, this, arg); }
              // 21.2.5.6 RegExp.prototype[@@match](string)
              // 21.2.5.9 RegExp.prototype[@@search](string)
              : function (string) { return rxfn.call(string, this); }
            );
          }
        };


        /***/
}),

/***/ 3218:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        // 21.2.5.3 get RegExp.prototype.flags
        var anObject = __webpack_require__(7007);
        module.exports = function () {
          var that = anObject(this);
          var result = '';
          if (that.global) result += 'g';
          if (that.ignoreCase) result += 'i';
          if (that.multiline) result += 'm';
          if (that.unicode) result += 'u';
          if (that.sticky) result += 'y';
          return result;
        };


        /***/
}),

/***/ 3531:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var ctx = __webpack_require__(741);
        var call = __webpack_require__(8851);
        var isArrayIter = __webpack_require__(6555);
        var anObject = __webpack_require__(7007);
        var toLength = __webpack_require__(875);
        var getIterFn = __webpack_require__(9002);
        var BREAK = {};
        var RETURN = {};
        var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
          var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
          var f = ctx(fn, that, entries ? 2 : 1);
          var index = 0;
          var length, step, iterator, result;
          if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
          // fast case for arrays with default iterator
          if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
            result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
            if (result === BREAK || result === RETURN) return result;
          } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
            result = call(iterator, f, step.value, entries);
            if (result === BREAK || result === RETURN) return result;
          }
        };
        exports.BREAK = BREAK;
        exports.RETURN = RETURN;


        /***/
}),

/***/ 18:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        module.exports = __webpack_require__(3825)('native-function-to-string', Function.toString);


        /***/
}),

/***/ 3816:
/***/ ((module) => {

        // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
        var global = module.exports = typeof window != 'undefined' && window.Math == Math
          ? window : typeof self != 'undefined' && self.Math == Math ? self
            // eslint-disable-next-line no-new-func
            : Function('return this')();
        if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef


        /***/
}),

/***/ 9181:
/***/ ((module) => {

        var hasOwnProperty = {}.hasOwnProperty;
        module.exports = function (it, key) {
          return hasOwnProperty.call(it, key);
        };


        /***/
}),

/***/ 7728:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var dP = __webpack_require__(9275);
        var createDesc = __webpack_require__(681);
        module.exports = __webpack_require__(7057) ? function (object, key, value) {
          return dP.f(object, key, createDesc(1, value));
        } : function (object, key, value) {
          object[key] = value;
          return object;
        };


        /***/
}),

/***/ 639:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var document = (__webpack_require__(3816).document);
        module.exports = document && document.documentElement;


        /***/
}),

/***/ 1734:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        module.exports = !__webpack_require__(7057) && !__webpack_require__(4253)(function () {
          return Object.defineProperty(__webpack_require__(2457)('div'), 'a', { get: function () { return 7; } }).a != 7;
        });


        /***/
}),

/***/ 266:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var isObject = __webpack_require__(5286);
        var setPrototypeOf = (__webpack_require__(7375).set);
        module.exports = function (that, target, C) {
          var S = target.constructor;
          var P;
          if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {
            setPrototypeOf(that, P);
          } return that;
        };


        /***/
}),

/***/ 7242:
/***/ ((module) => {

        // fast apply, http://jsperf.lnkit.com/fast-apply/5
        module.exports = function (fn, args, that) {
          var un = that === undefined;
          switch (args.length) {
            case 0: return un ? fn()
              : fn.call(that);
            case 1: return un ? fn(args[0])
              : fn.call(that, args[0]);
            case 2: return un ? fn(args[0], args[1])
              : fn.call(that, args[0], args[1]);
            case 3: return un ? fn(args[0], args[1], args[2])
              : fn.call(that, args[0], args[1], args[2]);
            case 4: return un ? fn(args[0], args[1], args[2], args[3])
              : fn.call(that, args[0], args[1], args[2], args[3]);
          } return fn.apply(that, args);
        };


        /***/
}),

/***/ 9797:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // fallback for non-array-like ES3 and non-enumerable old V8 strings
        var cof = __webpack_require__(2032);
        // eslint-disable-next-line no-prototype-builtins
        module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
          return cof(it) == 'String' ? it.split('') : Object(it);
        };


        /***/
}),

/***/ 6555:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // check on default Array iterator
        var Iterators = __webpack_require__(2803);
        var ITERATOR = __webpack_require__(6314)('iterator');
        var ArrayProto = Array.prototype;

        module.exports = function (it) {
          return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
        };


        /***/
}),

/***/ 4302:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 7.2.2 IsArray(argument)
        var cof = __webpack_require__(2032);
        module.exports = Array.isArray || function isArray(arg) {
          return cof(arg) == 'Array';
        };


        /***/
}),

/***/ 5286:
/***/ ((module) => {

        module.exports = function (it) {
          return typeof it === 'object' ? it !== null : typeof it === 'function';
        };


        /***/
}),

/***/ 5364:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 7.2.8 IsRegExp(argument)
        var isObject = __webpack_require__(5286);
        var cof = __webpack_require__(2032);
        var MATCH = __webpack_require__(6314)('match');
        module.exports = function (it) {
          var isRegExp;
          return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
        };


        /***/
}),

/***/ 8851:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // call something on iterator step with safe closing on error
        var anObject = __webpack_require__(7007);
        module.exports = function (iterator, fn, value, entries) {
          try {
            return entries ? fn(anObject(value)[0], value[1]) : fn(value);
            // 7.4.6 IteratorClose(iterator, completion)
          } catch (e) {
            var ret = iterator['return'];
            if (ret !== undefined) anObject(ret.call(iterator));
            throw e;
          }
        };


        /***/
}),

/***/ 9988:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var create = __webpack_require__(2503);
        var descriptor = __webpack_require__(681);
        var setToStringTag = __webpack_require__(2943);
        var IteratorPrototype = {};

        // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
        __webpack_require__(7728)(IteratorPrototype, __webpack_require__(6314)('iterator'), function () { return this; });

        module.exports = function (Constructor, NAME, next) {
          Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
          setToStringTag(Constructor, NAME + ' Iterator');
        };


        /***/
}),

/***/ 2923:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var LIBRARY = __webpack_require__(4461);
        var $export = __webpack_require__(2985);
        var redefine = __webpack_require__(7234);
        var hide = __webpack_require__(7728);
        var Iterators = __webpack_require__(2803);
        var $iterCreate = __webpack_require__(9988);
        var setToStringTag = __webpack_require__(2943);
        var getPrototypeOf = __webpack_require__(468);
        var ITERATOR = __webpack_require__(6314)('iterator');
        var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
        var FF_ITERATOR = '@@iterator';
        var KEYS = 'keys';
        var VALUES = 'values';

        var returnThis = function () { return this; };

        module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
          $iterCreate(Constructor, NAME, next);
          var getMethod = function (kind) {
            if (!BUGGY && kind in proto) return proto[kind];
            switch (kind) {
              case KEYS: return function keys() { return new Constructor(this, kind); };
              case VALUES: return function values() { return new Constructor(this, kind); };
            } return function entries() { return new Constructor(this, kind); };
          };
          var TAG = NAME + ' Iterator';
          var DEF_VALUES = DEFAULT == VALUES;
          var VALUES_BUG = false;
          var proto = Base.prototype;
          var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
          var $default = $native || getMethod(DEFAULT);
          var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
          var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
          var methods, key, IteratorPrototype;
          // Fix native
          if ($anyNative) {
            IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
            if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
              // Set @@toStringTag to native iterators
              setToStringTag(IteratorPrototype, TAG, true);
              // fix for some old engines
              if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
            }
          }
          // fix Array#{values, @@iterator}.name in V8 / FF
          if (DEF_VALUES && $native && $native.name !== VALUES) {
            VALUES_BUG = true;
            $default = function values() { return $native.call(this); };
          }
          // Define iterator
          if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
            hide(proto, ITERATOR, $default);
          }
          // Plug for library
          Iterators[NAME] = $default;
          Iterators[TAG] = returnThis;
          if (DEFAULT) {
            methods = {
              values: DEF_VALUES ? $default : getMethod(VALUES),
              keys: IS_SET ? $default : getMethod(KEYS),
              entries: $entries
            };
            if (FORCED) for (key in methods) {
              if (!(key in proto)) redefine(proto, key, methods[key]);
            } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
          }
          return methods;
        };


        /***/
}),

/***/ 7462:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var ITERATOR = __webpack_require__(6314)('iterator');
        var SAFE_CLOSING = false;

        try {
          var riter = [7][ITERATOR]();
          riter['return'] = function () { SAFE_CLOSING = true; };
          // eslint-disable-next-line no-throw-literal
          Array.from(riter, function () { throw 2; });
        } catch (e) { /* empty */ }

        module.exports = function (exec, skipClosing) {
          if (!skipClosing && !SAFE_CLOSING) return false;
          var safe = false;
          try {
            var arr = [7];
            var iter = arr[ITERATOR]();
            iter.next = function () { return { done: safe = true }; };
            arr[ITERATOR] = function () { return iter; };
            exec(arr);
          } catch (e) { /* empty */ }
          return safe;
        };


        /***/
}),

/***/ 5436:
/***/ ((module) => {

        module.exports = function (done, value) {
          return { value: value, done: !!done };
        };


        /***/
}),

/***/ 2803:
/***/ ((module) => {

        module.exports = {};


        /***/
}),

/***/ 4461:
/***/ ((module) => {

        module.exports = false;


        /***/
}),

/***/ 4728:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var META = __webpack_require__(3953)('meta');
        var isObject = __webpack_require__(5286);
        var has = __webpack_require__(9181);
        var setDesc = (__webpack_require__(9275).f);
        var id = 0;
        var isExtensible = Object.isExtensible || function () {
          return true;
        };
        var FREEZE = !__webpack_require__(4253)(function () {
          return isExtensible(Object.preventExtensions({}));
        });
        var setMeta = function (it) {
          setDesc(it, META, {
            value: {
              i: 'O' + ++id, // object ID
              w: {}          // weak collections IDs
            }
          });
        };
        var fastKey = function (it, create) {
          // return primitive with prefix
          if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
          if (!has(it, META)) {
            // can't set metadata to uncaught frozen object
            if (!isExtensible(it)) return 'F';
            // not necessary to add metadata
            if (!create) return 'E';
            // add missing metadata
            setMeta(it);
            // return object ID
          } return it[META].i;
        };
        var getWeak = function (it, create) {
          if (!has(it, META)) {
            // can't set metadata to uncaught frozen object
            if (!isExtensible(it)) return true;
            // not necessary to add metadata
            if (!create) return false;
            // add missing metadata
            setMeta(it);
            // return hash weak collections IDs
          } return it[META].w;
        };
        // add metadata on freeze-family methods calling
        var onFreeze = function (it) {
          if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
          return it;
        };
        var meta = module.exports = {
          KEY: META,
          NEED: false,
          fastKey: fastKey,
          getWeak: getWeak,
          onFreeze: onFreeze
        };


        /***/
}),

/***/ 4351:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var global = __webpack_require__(3816);
        var macrotask = (__webpack_require__(4193).set);
        var Observer = global.MutationObserver || global.WebKitMutationObserver;
        var process = global.process;
        var Promise = global.Promise;
        var isNode = __webpack_require__(2032)(process) == 'process';

        module.exports = function () {
          var head, last, notify;

          var flush = function () {
            var parent, fn;
            if (isNode && (parent = process.domain)) parent.exit();
            while (head) {
              fn = head.fn;
              head = head.next;
              try {
                fn();
              } catch (e) {
                if (head) notify();
                else last = undefined;
                throw e;
              }
            } last = undefined;
            if (parent) parent.enter();
          };

          // Node.js
          if (isNode) {
            notify = function () {
              process.nextTick(flush);
            };
            // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
          } else if (Observer && !(global.navigator && global.navigator.standalone)) {
            var toggle = true;
            var node = document.createTextNode('');
            new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
            notify = function () {
              node.data = toggle = !toggle;
            };
            // environments with maybe non-completely correct, but existent Promise
          } else if (Promise && Promise.resolve) {
            // Promise.resolve without an argument throws an error in LG WebOS 2
            var promise = Promise.resolve(undefined);
            notify = function () {
              promise.then(flush);
            };
            // for other environments - macrotask based on:
            // - setImmediate
            // - MessageChannel
            // - window.postMessag
            // - onreadystatechange
            // - setTimeout
          } else {
            notify = function () {
              // strange IE + webpack dev server bug - use .call(global)
              macrotask.call(global, flush);
            };
          }

          return function (fn) {
            var task = { fn: fn, next: undefined };
            if (last) last.next = task;
            if (!head) {
              head = task;
              notify();
            } last = task;
          };
        };


        /***/
}),

/***/ 3499:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        // 25.4.1.5 NewPromiseCapability(C)
        var aFunction = __webpack_require__(4963);

        function PromiseCapability(C) {
          var resolve, reject;
          this.promise = new C(function ($$resolve, $$reject) {
            if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
            resolve = $$resolve;
            reject = $$reject;
          });
          this.resolve = aFunction(resolve);
          this.reject = aFunction(reject);
        }

        module.exports.f = function (C) {
          return new PromiseCapability(C);
        };


        /***/
}),

/***/ 5345:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        // 19.1.2.1 Object.assign(target, source, ...)
        var DESCRIPTORS = __webpack_require__(7057);
        var getKeys = __webpack_require__(7184);
        var gOPS = __webpack_require__(4548);
        var pIE = __webpack_require__(4682);
        var toObject = __webpack_require__(508);
        var IObject = __webpack_require__(9797);
        var $assign = Object.assign;

        // should work with symbols and should have deterministic property order (V8 bug)
        module.exports = !$assign || __webpack_require__(4253)(function () {
          var A = {};
          var B = {};
          // eslint-disable-next-line no-undef
          var S = Symbol();
          var K = 'abcdefghijklmnopqrst';
          A[S] = 7;
          K.split('').forEach(function (k) { B[k] = k; });
          return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
        }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
          var T = toObject(target);
          var aLen = arguments.length;
          var index = 1;
          var getSymbols = gOPS.f;
          var isEnum = pIE.f;
          while (aLen > index) {
            var S = IObject(arguments[index++]);
            var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
            var length = keys.length;
            var j = 0;
            var key;
            while (length > j) {
              key = keys[j++];
              if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];
            }
          } return T;
        } : $assign;


        /***/
}),

/***/ 2503:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
        var anObject = __webpack_require__(7007);
        var dPs = __webpack_require__(5588);
        var enumBugKeys = __webpack_require__(4430);
        var IE_PROTO = __webpack_require__(9335)('IE_PROTO');
        var Empty = function () { /* empty */ };
        var PROTOTYPE = 'prototype';

        // Create object with fake `null` prototype: use iframe Object with cleared prototype
        var createDict = function () {
          // Thrash, waste and sodomy: IE GC bug
          var iframe = __webpack_require__(2457)('iframe');
          var i = enumBugKeys.length;
          var lt = '<';
          var gt = '>';
          var iframeDocument;
          iframe.style.display = 'none';
          (__webpack_require__(639).appendChild)(iframe);
          iframe.src = 'javascript:'; // eslint-disable-line no-script-url
          // createDict = iframe.contentWindow.Object;
          // html.removeChild(iframe);
          iframeDocument = iframe.contentWindow.document;
          iframeDocument.open();
          iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
          iframeDocument.close();
          createDict = iframeDocument.F;
          while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
          return createDict();
        };

        module.exports = Object.create || function create(O, Properties) {
          var result;
          if (O !== null) {
            Empty[PROTOTYPE] = anObject(O);
            result = new Empty();
            Empty[PROTOTYPE] = null;
            // add "__proto__" for Object.getPrototypeOf polyfill
            result[IE_PROTO] = O;
          } else result = createDict();
          return Properties === undefined ? result : dPs(result, Properties);
        };


        /***/
}),

/***/ 9275:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

        var anObject = __webpack_require__(7007);
        var IE8_DOM_DEFINE = __webpack_require__(1734);
        var toPrimitive = __webpack_require__(1689);
        var dP = Object.defineProperty;

        exports.f = __webpack_require__(7057) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
          anObject(O);
          P = toPrimitive(P, true);
          anObject(Attributes);
          if (IE8_DOM_DEFINE) try {
            return dP(O, P, Attributes);
          } catch (e) { /* empty */ }
          if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
          if ('value' in Attributes) O[P] = Attributes.value;
          return O;
        };


        /***/
}),

/***/ 5588:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var dP = __webpack_require__(9275);
        var anObject = __webpack_require__(7007);
        var getKeys = __webpack_require__(7184);

        module.exports = __webpack_require__(7057) ? Object.defineProperties : function defineProperties(O, Properties) {
          anObject(O);
          var keys = getKeys(Properties);
          var length = keys.length;
          var i = 0;
          var P;
          while (length > i) dP.f(O, P = keys[i++], Properties[P]);
          return O;
        };


        /***/
}),

/***/ 8693:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

        var pIE = __webpack_require__(4682);
        var createDesc = __webpack_require__(681);
        var toIObject = __webpack_require__(2110);
        var toPrimitive = __webpack_require__(1689);
        var has = __webpack_require__(9181);
        var IE8_DOM_DEFINE = __webpack_require__(1734);
        var gOPD = Object.getOwnPropertyDescriptor;

        exports.f = __webpack_require__(7057) ? gOPD : function getOwnPropertyDescriptor(O, P) {
          O = toIObject(O);
          P = toPrimitive(P, true);
          if (IE8_DOM_DEFINE) try {
            return gOPD(O, P);
          } catch (e) { /* empty */ }
          if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
        };


        /***/
}),

/***/ 9327:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
        var toIObject = __webpack_require__(2110);
        var gOPN = (__webpack_require__(616).f);
        var toString = {}.toString;

        var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
          ? Object.getOwnPropertyNames(window) : [];

        var getWindowNames = function (it) {
          try {
            return gOPN(it);
          } catch (e) {
            return windowNames.slice();
          }
        };

        module.exports.f = function getOwnPropertyNames(it) {
          return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
        };


        /***/
}),

/***/ 616:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

        // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
        var $keys = __webpack_require__(189);
        var hiddenKeys = (__webpack_require__(4430).concat)('length', 'prototype');

        exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
          return $keys(O, hiddenKeys);
        };


        /***/
}),

/***/ 4548:
/***/ ((__unused_webpack_module, exports) => {

        exports.f = Object.getOwnPropertySymbols;


        /***/
}),

/***/ 468:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
        var has = __webpack_require__(9181);
        var toObject = __webpack_require__(508);
        var IE_PROTO = __webpack_require__(9335)('IE_PROTO');
        var ObjectProto = Object.prototype;

        module.exports = Object.getPrototypeOf || function (O) {
          O = toObject(O);
          if (has(O, IE_PROTO)) return O[IE_PROTO];
          if (typeof O.constructor == 'function' && O instanceof O.constructor) {
            return O.constructor.prototype;
          } return O instanceof Object ? ObjectProto : null;
        };


        /***/
}),

/***/ 189:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var has = __webpack_require__(9181);
        var toIObject = __webpack_require__(2110);
        var arrayIndexOf = __webpack_require__(9315)(false);
        var IE_PROTO = __webpack_require__(9335)('IE_PROTO');

        module.exports = function (object, names) {
          var O = toIObject(object);
          var i = 0;
          var result = [];
          var key;
          for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
          // Don't enum bug & hidden keys
          while (names.length > i) if (has(O, key = names[i++])) {
            ~arrayIndexOf(result, key) || result.push(key);
          }
          return result;
        };


        /***/
}),

/***/ 7184:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 19.1.2.14 / 15.2.3.14 Object.keys(O)
        var $keys = __webpack_require__(189);
        var enumBugKeys = __webpack_require__(4430);

        module.exports = Object.keys || function keys(O) {
          return $keys(O, enumBugKeys);
        };


        /***/
}),

/***/ 4682:
/***/ ((__unused_webpack_module, exports) => {

        exports.f = {}.propertyIsEnumerable;


        /***/
}),

/***/ 3160:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // most Object methods by ES6 should accept primitives
        var $export = __webpack_require__(2985);
        var core = __webpack_require__(5645);
        var fails = __webpack_require__(4253);
        module.exports = function (KEY, exec) {
          var fn = (core.Object || {})[KEY] || Object[KEY];
          var exp = {};
          exp[KEY] = exec(fn);
          $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
        };


        /***/
}),

/***/ 7643:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // all object keys, includes non-enumerable and symbols
        var gOPN = __webpack_require__(616);
        var gOPS = __webpack_require__(4548);
        var anObject = __webpack_require__(7007);
        var Reflect = (__webpack_require__(3816).Reflect);
        module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
          var keys = gOPN.f(anObject(it));
          var getSymbols = gOPS.f;
          return getSymbols ? keys.concat(getSymbols(it)) : keys;
        };


        /***/
}),

/***/ 188:
/***/ ((module) => {

        module.exports = function (exec) {
          try {
            return { e: false, v: exec() };
          } catch (e) {
            return { e: true, v: e };
          }
        };


        /***/
}),

/***/ 94:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var anObject = __webpack_require__(7007);
        var isObject = __webpack_require__(5286);
        var newPromiseCapability = __webpack_require__(3499);

        module.exports = function (C, x) {
          anObject(C);
          if (isObject(x) && x.constructor === C) return x;
          var promiseCapability = newPromiseCapability.f(C);
          var resolve = promiseCapability.resolve;
          resolve(x);
          return promiseCapability.promise;
        };


        /***/
}),

/***/ 681:
/***/ ((module) => {

        module.exports = function (bitmap, value) {
          return {
            enumerable: !(bitmap & 1),
            configurable: !(bitmap & 2),
            writable: !(bitmap & 4),
            value: value
          };
        };


        /***/
}),

/***/ 4408:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var redefine = __webpack_require__(7234);
        module.exports = function (target, src, safe) {
          for (var key in src) redefine(target, key, src[key], safe);
          return target;
        };


        /***/
}),

/***/ 7234:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var global = __webpack_require__(3816);
        var hide = __webpack_require__(7728);
        var has = __webpack_require__(9181);
        var SRC = __webpack_require__(3953)('src');
        var $toString = __webpack_require__(18);
        var TO_STRING = 'toString';
        var TPL = ('' + $toString).split(TO_STRING);

        (__webpack_require__(5645).inspectSource) = function (it) {
          return $toString.call(it);
        };

        (module.exports = function (O, key, val, safe) {
          var isFunction = typeof val == 'function';
          if (isFunction) has(val, 'name') || hide(val, 'name', key);
          if (O[key] === val) return;
          if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
          if (O === global) {
            O[key] = val;
          } else if (!safe) {
            delete O[key];
            hide(O, key, val);
          } else if (O[key]) {
            O[key] = val;
          } else {
            hide(O, key, val);
          }
          // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
        })(Function.prototype, TO_STRING, function toString() {
          return typeof this == 'function' && this[SRC] || $toString.call(this);
        });


        /***/
}),

/***/ 7787:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var classof = __webpack_require__(1488);
        var builtinExec = RegExp.prototype.exec;

        // `RegExpExec` abstract operation
        // https://tc39.github.io/ecma262/#sec-regexpexec
        module.exports = function (R, S) {
          var exec = R.exec;
          if (typeof exec === 'function') {
            var result = exec.call(R, S);
            if (typeof result !== 'object') {
              throw new TypeError('RegExp exec method returned something other than an Object or null');
            }
            return result;
          }
          if (classof(R) !== 'RegExp') {
            throw new TypeError('RegExp#exec called on incompatible receiver');
          }
          return builtinExec.call(R, S);
        };


        /***/
}),

/***/ 1165:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var regexpFlags = __webpack_require__(3218);

        var nativeExec = RegExp.prototype.exec;
        // This always refers to the native implementation, because the
        // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
        // which loads this file before patching the method.
        var nativeReplace = String.prototype.replace;

        var patchedExec = nativeExec;

        var LAST_INDEX = 'lastIndex';

        var UPDATES_LAST_INDEX_WRONG = (function () {
          var re1 = /a/,
            re2 = /b*/g;
          nativeExec.call(re1, 'a');
          nativeExec.call(re2, 'a');
          return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;
        })();

        // nonparticipating capturing group, copied from es5-shim's String#split patch.
        var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;

        var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;

        if (PATCH) {
          patchedExec = function exec(str) {
            var re = this;
            var lastIndex, reCopy, match, i;

            if (NPCG_INCLUDED) {
              reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re));
            }
            if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];

            match = nativeExec.call(re, str);

            if (UPDATES_LAST_INDEX_WRONG && match) {
              re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;
            }
            if (NPCG_INCLUDED && match && match.length > 1) {
              // Fix browsers whose `exec` methods don't consistently return `undefined`
              // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
              // eslint-disable-next-line no-loop-func
              nativeReplace.call(match[0], reCopy, function () {
                for (i = 1; i < arguments.length - 2; i++) {
                  if (arguments[i] === undefined) match[i] = undefined;
                }
              });
            }

            return match;
          };
        }

        module.exports = patchedExec;


        /***/
}),

/***/ 7375:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // Works with __proto__ only. Old v8 can't work with null proto objects.
        /* eslint-disable no-proto */
        var isObject = __webpack_require__(5286);
        var anObject = __webpack_require__(7007);
        var check = function (O, proto) {
          anObject(O);
          if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
        };
        module.exports = {
          set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
            function (test, buggy, set) {
              try {
                set = __webpack_require__(741)(Function.call, (__webpack_require__(8693).f)(Object.prototype, '__proto__').set, 2);
                set(test, []);
                buggy = !(test instanceof Array);
              } catch (e) { buggy = true; }
              return function setPrototypeOf(O, proto) {
                check(O, proto);
                if (buggy) O.__proto__ = proto;
                else set(O, proto);
                return O;
              };
            }({}, false) : undefined),
          check: check
        };


        /***/
}),

/***/ 2974:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var global = __webpack_require__(3816);
        var dP = __webpack_require__(9275);
        var DESCRIPTORS = __webpack_require__(7057);
        var SPECIES = __webpack_require__(6314)('species');

        module.exports = function (KEY) {
          var C = global[KEY];
          if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
            configurable: true,
            get: function () { return this; }
          });
        };


        /***/
}),

/***/ 2943:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var def = (__webpack_require__(9275).f);
        var has = __webpack_require__(9181);
        var TAG = __webpack_require__(6314)('toStringTag');

        module.exports = function (it, tag, stat) {
          if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
        };


        /***/
}),

/***/ 9335:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var shared = __webpack_require__(3825)('keys');
        var uid = __webpack_require__(3953);
        module.exports = function (key) {
          return shared[key] || (shared[key] = uid(key));
        };


        /***/
}),

/***/ 3825:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var core = __webpack_require__(5645);
        var global = __webpack_require__(3816);
        var SHARED = '__core-js_shared__';
        var store = global[SHARED] || (global[SHARED] = {});

        (module.exports = function (key, value) {
          return store[key] || (store[key] = value !== undefined ? value : {});
        })('versions', []).push({
          version: core.version,
          mode: __webpack_require__(4461) ? 'pure' : 'global',
          copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
        });


        /***/
}),

/***/ 8364:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 7.3.20 SpeciesConstructor(O, defaultConstructor)
        var anObject = __webpack_require__(7007);
        var aFunction = __webpack_require__(4963);
        var SPECIES = __webpack_require__(6314)('species');
        module.exports = function (O, D) {
          var C = anObject(O).constructor;
          var S;
          return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
        };


        /***/
}),

/***/ 7717:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var fails = __webpack_require__(4253);

        module.exports = function (method, arg) {
          return !!method && fails(function () {
            // eslint-disable-next-line no-useless-call
            arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);
          });
        };


        /***/
}),

/***/ 4496:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var toInteger = __webpack_require__(1467);
        var defined = __webpack_require__(1355);
        // true  -> String#at
        // false -> String#codePointAt
        module.exports = function (TO_STRING) {
          return function (that, pos) {
            var s = String(defined(that));
            var i = toInteger(pos);
            var l = s.length;
            var a, b;
            if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
            a = s.charCodeAt(i);
            return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
              ? TO_STRING ? s.charAt(i) : a
              : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
          };
        };


        /***/
}),

/***/ 9599:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var $export = __webpack_require__(2985);
        var defined = __webpack_require__(1355);
        var fails = __webpack_require__(4253);
        var spaces = __webpack_require__(4644);
        var space = '[' + spaces + ']';
        var non = '\u200b\u0085';
        var ltrim = RegExp('^' + space + space + '*');
        var rtrim = RegExp(space + space + '*$');

        var exporter = function (KEY, exec, ALIAS) {
          var exp = {};
          var FORCE = fails(function () {
            return !!spaces[KEY]() || non[KEY]() != non;
          });
          var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
          if (ALIAS) exp[ALIAS] = fn;
          $export($export.P + $export.F * FORCE, 'String', exp);
        };

        // 1 -> String#trimLeft
        // 2 -> String#trimRight
        // 3 -> String#trim
        var trim = exporter.trim = function (string, TYPE) {
          string = String(defined(string));
          if (TYPE & 1) string = string.replace(ltrim, '');
          if (TYPE & 2) string = string.replace(rtrim, '');
          return string;
        };

        module.exports = exporter;


        /***/
}),

/***/ 4644:
/***/ ((module) => {

        module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
          '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';


        /***/
}),

/***/ 4193:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var ctx = __webpack_require__(741);
        var invoke = __webpack_require__(7242);
        var html = __webpack_require__(639);
        var cel = __webpack_require__(2457);
        var global = __webpack_require__(3816);
        var process = global.process;
        var setTask = global.setImmediate;
        var clearTask = global.clearImmediate;
        var MessageChannel = global.MessageChannel;
        var Dispatch = global.Dispatch;
        var counter = 0;
        var queue = {};
        var ONREADYSTATECHANGE = 'onreadystatechange';
        var defer, channel, port;
        var run = function () {
          var id = +this;
          // eslint-disable-next-line no-prototype-builtins
          if (queue.hasOwnProperty(id)) {
            var fn = queue[id];
            delete queue[id];
            fn();
          }
        };
        var listener = function (event) {
          run.call(event.data);
        };
        // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
        if (!setTask || !clearTask) {
          setTask = function setImmediate(fn) {
            var args = [];
            var i = 1;
            while (arguments.length > i) args.push(arguments[i++]);
            queue[++counter] = function () {
              // eslint-disable-next-line no-new-func
              invoke(typeof fn == 'function' ? fn : Function(fn), args);
            };
            defer(counter);
            return counter;
          };
          clearTask = function clearImmediate(id) {
            delete queue[id];
          };
          // Node.js 0.8-
          if (__webpack_require__(2032)(process) == 'process') {
            defer = function (id) {
              process.nextTick(ctx(run, id, 1));
            };
            // Sphere (JS game engine) Dispatch API
          } else if (Dispatch && Dispatch.now) {
            defer = function (id) {
              Dispatch.now(ctx(run, id, 1));
            };
            // Browsers with MessageChannel, includes WebWorkers
          } else if (MessageChannel) {
            channel = new MessageChannel();
            port = channel.port2;
            channel.port1.onmessage = listener;
            defer = ctx(port.postMessage, port, 1);
            // Browsers with postMessage, skip WebWorkers
            // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
          } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
            defer = function (id) {
              global.postMessage(id + '', '*');
            };
            global.addEventListener('message', listener, false);
            // IE8-
          } else if (ONREADYSTATECHANGE in cel('script')) {
            defer = function (id) {
              html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
                html.removeChild(this);
                run.call(id);
              };
            };
            // Rest old browsers
          } else {
            defer = function (id) {
              setTimeout(ctx(run, id, 1), 0);
            };
          }
        }
        module.exports = {
          set: setTask,
          clear: clearTask
        };


        /***/
}),

/***/ 2337:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var toInteger = __webpack_require__(1467);
        var max = Math.max;
        var min = Math.min;
        module.exports = function (index, length) {
          index = toInteger(index);
          return index < 0 ? max(index + length, 0) : min(index, length);
        };


        /***/
}),

/***/ 1467:
/***/ ((module) => {

        // 7.1.4 ToInteger
        var ceil = Math.ceil;
        var floor = Math.floor;
        module.exports = function (it) {
          return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
        };


        /***/
}),

/***/ 2110:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // to indexed object, toObject with fallback for non-array-like ES3 strings
        var IObject = __webpack_require__(9797);
        var defined = __webpack_require__(1355);
        module.exports = function (it) {
          return IObject(defined(it));
        };


        /***/
}),

/***/ 875:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 7.1.15 ToLength
        var toInteger = __webpack_require__(1467);
        var min = Math.min;
        module.exports = function (it) {
          return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
        };


        /***/
}),

/***/ 508:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 7.1.13 ToObject(argument)
        var defined = __webpack_require__(1355);
        module.exports = function (it) {
          return Object(defined(it));
        };


        /***/
}),

/***/ 1689:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        // 7.1.1 ToPrimitive(input [, PreferredType])
        var isObject = __webpack_require__(5286);
        // instead of the ES6 spec version, we didn't implement @@toPrimitive case
        // and the second argument - flag - preferred type is a string
        module.exports = function (it, S) {
          if (!isObject(it)) return it;
          var fn, val;
          if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
          if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
          if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
          throw TypeError("Can't convert object to primitive value");
        };


        /***/
}),

/***/ 3953:
/***/ ((module) => {

        var id = 0;
        var px = Math.random();
        module.exports = function (key) {
          return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
        };


        /***/
}),

/***/ 575:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var global = __webpack_require__(3816);
        var navigator = global.navigator;

        module.exports = navigator && navigator.userAgent || '';


        /***/
}),

/***/ 6074:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var global = __webpack_require__(3816);
        var core = __webpack_require__(5645);
        var LIBRARY = __webpack_require__(4461);
        var wksExt = __webpack_require__(8787);
        var defineProperty = (__webpack_require__(9275).f);
        module.exports = function (name) {
          var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
          if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
        };


        /***/
}),

/***/ 8787:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

        exports.f = __webpack_require__(6314);


        /***/
}),

/***/ 6314:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var store = __webpack_require__(3825)('wks');
        var uid = __webpack_require__(3953);
        var Symbol = (__webpack_require__(3816).Symbol);
        var USE_SYMBOL = typeof Symbol == 'function';

        var $exports = module.exports = function (name) {
          return store[name] || (store[name] =
            USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
        };

        $exports.store = store;


        /***/
}),

/***/ 9002:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var classof = __webpack_require__(1488);
        var ITERATOR = __webpack_require__(6314)('iterator');
        var Iterators = __webpack_require__(2803);
        module.exports = (__webpack_require__(5645).getIteratorMethod) = function (it) {
          if (it != undefined) return it[ITERATOR]
            || it['@@iterator']
            || Iterators[classof(it)];
        };


        /***/
}),

/***/ 8977:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
        var $export = __webpack_require__(2985);

        $export($export.P, 'Array', { fill: __webpack_require__(6852) });

        __webpack_require__(7722)('fill');


        /***/
}),

/***/ 8837:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var $export = __webpack_require__(2985);
        var $filter = __webpack_require__(50)(2);

        $export($export.P + $export.F * !__webpack_require__(7717)([].filter, true), 'Array', {
          // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
          filter: function filter(callbackfn /* , thisArg */) {
            return $filter(this, callbackfn, arguments[1]);
          }
        });


        /***/
}),

/***/ 522:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var ctx = __webpack_require__(741);
        var $export = __webpack_require__(2985);
        var toObject = __webpack_require__(508);
        var call = __webpack_require__(8851);
        var isArrayIter = __webpack_require__(6555);
        var toLength = __webpack_require__(875);
        var createProperty = __webpack_require__(2811);
        var getIterFn = __webpack_require__(9002);

        $export($export.S + $export.F * !__webpack_require__(7462)(function (iter) { Array.from(iter); }), 'Array', {
          // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
          from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
            var O = toObject(arrayLike);
            var C = typeof this == 'function' ? this : Array;
            var aLen = arguments.length;
            var mapfn = aLen > 1 ? arguments[1] : undefined;
            var mapping = mapfn !== undefined;
            var index = 0;
            var iterFn = getIterFn(O);
            var length, result, step, iterator;
            if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
            // if object isn't iterable or it's array with default iterator - use simple case
            if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
              for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
                createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
              }
            } else {
              length = toLength(O.length);
              for (result = new C(length); length > index; index++) {
                createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
              }
            }
            result.length = index;
            return result;
          }
        });


        /***/
}),

/***/ 6997:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var addToUnscopables = __webpack_require__(7722);
        var step = __webpack_require__(5436);
        var Iterators = __webpack_require__(2803);
        var toIObject = __webpack_require__(2110);

        // 22.1.3.4 Array.prototype.entries()
        // 22.1.3.13 Array.prototype.keys()
        // 22.1.3.29 Array.prototype.values()
        // 22.1.3.30 Array.prototype[@@iterator]()
        module.exports = __webpack_require__(2923)(Array, 'Array', function (iterated, kind) {
          this._t = toIObject(iterated); // target
          this._i = 0;                   // next index
          this._k = kind;                // kind
          // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
        }, function () {
          var O = this._t;
          var kind = this._k;
          var index = this._i++;
          if (!O || index >= O.length) {
            this._t = undefined;
            return step(1);
          }
          if (kind == 'keys') return step(0, index);
          if (kind == 'values') return step(0, O[index]);
          return step(0, [index, O[index]]);
        }, 'values');

        // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
        Iterators.Arguments = Iterators.Array;

        addToUnscopables('keys');
        addToUnscopables('values');
        addToUnscopables('entries');


        /***/
}),

/***/ 9371:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var $export = __webpack_require__(2985);
        var $map = __webpack_require__(50)(1);

        $export($export.P + $export.F * !__webpack_require__(7717)([].map, true), 'Array', {
          // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
          map: function map(callbackfn /* , thisArg */) {
            return $map(this, callbackfn, arguments[1]);
          }
        });


        /***/
}),

/***/ 110:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var $export = __webpack_require__(2985);
        var html = __webpack_require__(639);
        var cof = __webpack_require__(2032);
        var toAbsoluteIndex = __webpack_require__(2337);
        var toLength = __webpack_require__(875);
        var arraySlice = [].slice;

        // fallback for not array-like ES3 strings and DOM objects
        $export($export.P + $export.F * __webpack_require__(4253)(function () {
          if (html) arraySlice.call(html);
        }), 'Array', {
          slice: function slice(begin, end) {
            var len = toLength(this.length);
            var klass = cof(this);
            end = end === undefined ? len : end;
            if (klass == 'Array') return arraySlice.call(this, begin, end);
            var start = toAbsoluteIndex(begin, len);
            var upTo = toAbsoluteIndex(end, len);
            var size = toLength(upTo - start);
            var cloned = new Array(size);
            var i = 0;
            for (; i < size; i++) cloned[i] = klass == 'String'
              ? this.charAt(start + i)
              : this[start + i];
            return cloned;
          }
        });


        /***/
}),

/***/ 6059:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        var dP = (__webpack_require__(9275).f);
        var FProto = Function.prototype;
        var nameRE = /^\s*function ([^ (]*)/;
        var NAME = 'name';

        // 19.2.4.2 name
        NAME in FProto || __webpack_require__(7057) && dP(FProto, NAME, {
          configurable: true,
          get: function () {
            try {
              return ('' + this).match(nameRE)[1];
            } catch (e) {
              return '';
            }
          }
        });


        /***/
}),

/***/ 1246:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var global = __webpack_require__(3816);
        var has = __webpack_require__(9181);
        var cof = __webpack_require__(2032);
        var inheritIfRequired = __webpack_require__(266);
        var toPrimitive = __webpack_require__(1689);
        var fails = __webpack_require__(4253);
        var gOPN = (__webpack_require__(616).f);
        var gOPD = (__webpack_require__(8693).f);
        var dP = (__webpack_require__(9275).f);
        var $trim = (__webpack_require__(9599).trim);
        var NUMBER = 'Number';
        var $Number = global[NUMBER];
        var Base = $Number;
        var proto = $Number.prototype;
        // Opera ~12 has broken Object#toString
        var BROKEN_COF = cof(__webpack_require__(2503)(proto)) == NUMBER;
        var TRIM = 'trim' in String.prototype;

        // 7.1.3 ToNumber(argument)
        var toNumber = function (argument) {
          var it = toPrimitive(argument, false);
          if (typeof it == 'string' && it.length > 2) {
            it = TRIM ? it.trim() : $trim(it, 3);
            var first = it.charCodeAt(0);
            var third, radix, maxCode;
            if (first === 43 || first === 45) {
              third = it.charCodeAt(2);
              if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
            } else if (first === 48) {
              switch (it.charCodeAt(1)) {
                case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
                case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
                default: return +it;
              }
              for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
                code = digits.charCodeAt(i);
                // parseInt parses a string to a first unavailable symbol
                // but ToNumber should return NaN if a string contains unavailable symbols
                if (code < 48 || code > maxCode) return NaN;
              } return parseInt(digits, radix);
            }
          } return +it;
        };

        if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {
          $Number = function Number(value) {
            var it = arguments.length < 1 ? 0 : value;
            var that = this;
            return that instanceof $Number
              // check on 1..constructor(foo) case
              && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)
              ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
          };
          for (var keys = __webpack_require__(7057) ? gOPN(Base) : (
            // ES3:
            'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
            // ES6 (in case, if modules with ES6 Number statics required before):
            'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
            'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
          ).split(','), j = 0, key; keys.length > j; j++) {
            if (has(Base, key = keys[j]) && !has($Number, key)) {
              dP($Number, key, gOPD(Base, key));
            }
          }
          $Number.prototype = proto;
          proto.constructor = $Number;
          __webpack_require__(7234)(global, NUMBER, $Number);
        }


        /***/
}),

/***/ 5115:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        // 19.1.3.1 Object.assign(target, source)
        var $export = __webpack_require__(2985);

        $export($export.S + $export.F, 'Object', { assign: __webpack_require__(5345) });


        /***/
}),

/***/ 4882:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
        var toIObject = __webpack_require__(2110);
        var $getOwnPropertyDescriptor = (__webpack_require__(8693).f);

        __webpack_require__(3160)('getOwnPropertyDescriptor', function () {
          return function getOwnPropertyDescriptor(it, key) {
            return $getOwnPropertyDescriptor(toIObject(it), key);
          };
        });


        /***/
}),

/***/ 7476:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        // 19.1.2.14 Object.keys(O)
        var toObject = __webpack_require__(508);
        var $keys = __webpack_require__(7184);

        __webpack_require__(3160)('keys', function () {
          return function keys(it) {
            return $keys(toObject(it));
          };
        });


        /***/
}),

/***/ 6253:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        // 19.1.3.6 Object.prototype.toString()
        var classof = __webpack_require__(1488);
        var test = {};
        test[__webpack_require__(6314)('toStringTag')] = 'z';
        if (test + '' != '[object z]') {
          __webpack_require__(7234)(Object.prototype, 'toString', function toString() {
            return '[object ' + classof(this) + ']';
          }, true);
        }


        /***/
}),

/***/ 851:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var LIBRARY = __webpack_require__(4461);
        var global = __webpack_require__(3816);
        var ctx = __webpack_require__(741);
        var classof = __webpack_require__(1488);
        var $export = __webpack_require__(2985);
        var isObject = __webpack_require__(5286);
        var aFunction = __webpack_require__(4963);
        var anInstance = __webpack_require__(3328);
        var forOf = __webpack_require__(3531);
        var speciesConstructor = __webpack_require__(8364);
        var task = (__webpack_require__(4193).set);
        var microtask = __webpack_require__(4351)();
        var newPromiseCapabilityModule = __webpack_require__(3499);
        var perform = __webpack_require__(188);
        var userAgent = __webpack_require__(575);
        var promiseResolve = __webpack_require__(94);
        var PROMISE = 'Promise';
        var TypeError = global.TypeError;
        var process = global.process;
        var versions = process && process.versions;
        var v8 = versions && versions.v8 || '';
        var $Promise = global[PROMISE];
        var isNode = classof(process) == 'process';
        var empty = function () { /* empty */ };
        var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
        var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;

        var USE_NATIVE = !!function () {
          try {
            // correct subclassing with @@species support
            var promise = $Promise.resolve(1);
            var FakePromise = (promise.constructor = {})[__webpack_require__(6314)('species')] = function (exec) {
              exec(empty, empty);
            };
            // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
            return (isNode || typeof PromiseRejectionEvent == 'function')
              && promise.then(empty) instanceof FakePromise
              // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
              // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
              // we can't detect it synchronously, so just check versions
              && v8.indexOf('6.6') !== 0
              && userAgent.indexOf('Chrome/66') === -1;
          } catch (e) { /* empty */ }
        }();

        // helpers
        var isThenable = function (it) {
          var then;
          return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
        };
        var notify = function (promise, isReject) {
          if (promise._n) return;
          promise._n = true;
          var chain = promise._c;
          microtask(function () {
            var value = promise._v;
            var ok = promise._s == 1;
            var i = 0;
            var run = function (reaction) {
              var handler = ok ? reaction.ok : reaction.fail;
              var resolve = reaction.resolve;
              var reject = reaction.reject;
              var domain = reaction.domain;
              var result, then, exited;
              try {
                if (handler) {
                  if (!ok) {
                    if (promise._h == 2) onHandleUnhandled(promise);
                    promise._h = 1;
                  }
                  if (handler === true) result = value;
                  else {
                    if (domain) domain.enter();
                    result = handler(value); // may throw
                    if (domain) {
                      domain.exit();
                      exited = true;
                    }
                  }
                  if (result === reaction.promise) {
                    reject(TypeError('Promise-chain cycle'));
                  } else if (then = isThenable(result)) {
                    then.call(result, resolve, reject);
                  } else resolve(result);
                } else reject(value);
              } catch (e) {
                if (domain && !exited) domain.exit();
                reject(e);
              }
            };
            while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
            promise._c = [];
            promise._n = false;
            if (isReject && !promise._h) onUnhandled(promise);
          });
        };
        var onUnhandled = function (promise) {
          task.call(global, function () {
            var value = promise._v;
            var unhandled = isUnhandled(promise);
            var result, handler, console;
            if (unhandled) {
              result = perform(function () {
                if (isNode) {
                  process.emit('unhandledRejection', value, promise);
                } else if (handler = global.onunhandledrejection) {
                  handler({ promise: promise, reason: value });
                } else if ((console = global.console) && console.error) {
                  console.error('Unhandled promise rejection', value);
                }
              });
              // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
              promise._h = isNode || isUnhandled(promise) ? 2 : 1;
            } promise._a = undefined;
            if (unhandled && result.e) throw result.v;
          });
        };
        var isUnhandled = function (promise) {
          return promise._h !== 1 && (promise._a || promise._c).length === 0;
        };
        var onHandleUnhandled = function (promise) {
          task.call(global, function () {
            var handler;
            if (isNode) {
              process.emit('rejectionHandled', promise);
            } else if (handler = global.onrejectionhandled) {
              handler({ promise: promise, reason: promise._v });
            }
          });
        };
        var $reject = function (value) {
          var promise = this;
          if (promise._d) return;
          promise._d = true;
          promise = promise._w || promise; // unwrap
          promise._v = value;
          promise._s = 2;
          if (!promise._a) promise._a = promise._c.slice();
          notify(promise, true);
        };
        var $resolve = function (value) {
          var promise = this;
          var then;
          if (promise._d) return;
          promise._d = true;
          promise = promise._w || promise; // unwrap
          try {
            if (promise === value) throw TypeError("Promise can't be resolved itself");
            if (then = isThenable(value)) {
              microtask(function () {
                var wrapper = { _w: promise, _d: false }; // wrap
                try {
                  then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
                } catch (e) {
                  $reject.call(wrapper, e);
                }
              });
            } else {
              promise._v = value;
              promise._s = 1;
              notify(promise, false);
            }
          } catch (e) {
            $reject.call({ _w: promise, _d: false }, e); // wrap
          }
        };

        // constructor polyfill
        if (!USE_NATIVE) {
          // 25.4.3.1 Promise(executor)
          $Promise = function Promise(executor) {
            anInstance(this, $Promise, PROMISE, '_h');
            aFunction(executor);
            Internal.call(this);
            try {
              executor(ctx($resolve, this, 1), ctx($reject, this, 1));
            } catch (err) {
              $reject.call(this, err);
            }
          };
          // eslint-disable-next-line no-unused-vars
          Internal = function Promise(executor) {
            this._c = [];             // <- awaiting reactions
            this._a = undefined;      // <- checked in isUnhandled reactions
            this._s = 0;              // <- state
            this._d = false;          // <- done
            this._v = undefined;      // <- value
            this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
            this._n = false;          // <- notify
          };
          Internal.prototype = __webpack_require__(4408)($Promise.prototype, {
            // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
            then: function then(onFulfilled, onRejected) {
              var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
              reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
              reaction.fail = typeof onRejected == 'function' && onRejected;
              reaction.domain = isNode ? process.domain : undefined;
              this._c.push(reaction);
              if (this._a) this._a.push(reaction);
              if (this._s) notify(this, false);
              return reaction.promise;
            },
            // 25.4.5.1 Promise.prototype.catch(onRejected)
            'catch': function (onRejected) {
              return this.then(undefined, onRejected);
            }
          });
          OwnPromiseCapability = function () {
            var promise = new Internal();
            this.promise = promise;
            this.resolve = ctx($resolve, promise, 1);
            this.reject = ctx($reject, promise, 1);
          };
          newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
            return C === $Promise || C === Wrapper
              ? new OwnPromiseCapability(C)
              : newGenericPromiseCapability(C);
          };
        }

        $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
        __webpack_require__(2943)($Promise, PROMISE);
        __webpack_require__(2974)(PROMISE);
        Wrapper = __webpack_require__(5645)[PROMISE];

        // statics
        $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
          // 25.4.4.5 Promise.reject(r)
          reject: function reject(r) {
            var capability = newPromiseCapability(this);
            var $$reject = capability.reject;
            $$reject(r);
            return capability.promise;
          }
        });
        $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
          // 25.4.4.6 Promise.resolve(x)
          resolve: function resolve(x) {
            return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
          }
        });
        $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(7462)(function (iter) {
          $Promise.all(iter)['catch'](empty);
        })), PROMISE, {
          // 25.4.4.1 Promise.all(iterable)
          all: function all(iterable) {
            var C = this;
            var capability = newPromiseCapability(C);
            var resolve = capability.resolve;
            var reject = capability.reject;
            var result = perform(function () {
              var values = [];
              var index = 0;
              var remaining = 1;
              forOf(iterable, false, function (promise) {
                var $index = index++;
                var alreadyCalled = false;
                values.push(undefined);
                remaining++;
                C.resolve(promise).then(function (value) {
                  if (alreadyCalled) return;
                  alreadyCalled = true;
                  values[$index] = value;
                  --remaining || resolve(values);
                }, reject);
              });
              --remaining || resolve(values);
            });
            if (result.e) reject(result.v);
            return capability.promise;
          },
          // 25.4.4.4 Promise.race(iterable)
          race: function race(iterable) {
            var C = this;
            var capability = newPromiseCapability(C);
            var reject = capability.reject;
            var result = perform(function () {
              forOf(iterable, false, function (promise) {
                C.resolve(promise).then(capability.resolve, reject);
              });
            });
            if (result.e) reject(result.v);
            return capability.promise;
          }
        });


        /***/
}),

/***/ 8269:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var regexpExec = __webpack_require__(1165);
        __webpack_require__(2985)({
          target: 'RegExp',
          proto: true,
          forced: regexpExec !== /./.exec
        }, {
          exec: regexpExec
        });


        /***/
}),

/***/ 6774:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        // 21.2.5.3 get RegExp.prototype.flags()
        if (__webpack_require__(7057) && /./g.flags != 'g') (__webpack_require__(9275).f)(RegExp.prototype, 'flags', {
          configurable: true,
          get: __webpack_require__(3218)
        });


        /***/
}),

/***/ 9357:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var anObject = __webpack_require__(7007);
        var toObject = __webpack_require__(508);
        var toLength = __webpack_require__(875);
        var toInteger = __webpack_require__(1467);
        var advanceStringIndex = __webpack_require__(6793);
        var regExpExec = __webpack_require__(7787);
        var max = Math.max;
        var min = Math.min;
        var floor = Math.floor;
        var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g;
        var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g;

        var maybeToString = function (it) {
          return it === undefined ? it : String(it);
        };

        // @@replace logic
        __webpack_require__(8082)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {
          return [
            // `String.prototype.replace` method
            // https://tc39.github.io/ecma262/#sec-string.prototype.replace
            function replace(searchValue, replaceValue) {
              var O = defined(this);
              var fn = searchValue == undefined ? undefined : searchValue[REPLACE];
              return fn !== undefined
                ? fn.call(searchValue, O, replaceValue)
                : $replace.call(String(O), searchValue, replaceValue);
            },
            // `RegExp.prototype[@@replace]` method
            // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
            function (regexp, replaceValue) {
              var res = maybeCallNative($replace, regexp, this, replaceValue);
              if (res.done) return res.value;

              var rx = anObject(regexp);
              var S = String(this);
              var functionalReplace = typeof replaceValue === 'function';
              if (!functionalReplace) replaceValue = String(replaceValue);
              var global = rx.global;
              if (global) {
                var fullUnicode = rx.unicode;
                rx.lastIndex = 0;
              }
              var results = [];
              while (true) {
                var result = regExpExec(rx, S);
                if (result === null) break;
                results.push(result);
                if (!global) break;
                var matchStr = String(result[0]);
                if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
              }
              var accumulatedResult = '';
              var nextSourcePosition = 0;
              for (var i = 0; i < results.length; i++) {
                result = results[i];
                var matched = String(result[0]);
                var position = max(min(toInteger(result.index), S.length), 0);
                var captures = [];
                // NOTE: This is equivalent to
                //   captures = result.slice(1).map(maybeToString)
                // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
                // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
                // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
                for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
                var namedCaptures = result.groups;
                if (functionalReplace) {
                  var replacerArgs = [matched].concat(captures, position, S);
                  if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
                  var replacement = String(replaceValue.apply(undefined, replacerArgs));
                } else {
                  replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
                }
                if (position >= nextSourcePosition) {
                  accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
                  nextSourcePosition = position + matched.length;
                }
              }
              return accumulatedResult + S.slice(nextSourcePosition);
            }
          ];

          // https://tc39.github.io/ecma262/#sec-getsubstitution
          function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
            var tailPos = position + matched.length;
            var m = captures.length;
            var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
            if (namedCaptures !== undefined) {
              namedCaptures = toObject(namedCaptures);
              symbols = SUBSTITUTION_SYMBOLS;
            }
            return $replace.call(replacement, symbols, function (match, ch) {
              var capture;
              switch (ch.charAt(0)) {
                case '$': return '$';
                case '&': return matched;
                case '`': return str.slice(0, position);
                case "'": return str.slice(tailPos);
                case '<':
                  capture = namedCaptures[ch.slice(1, -1)];
                  break;
                default: // \d\d?
                  var n = +ch;
                  if (n === 0) return match;
                  if (n > m) {
                    var f = floor(n / 10);
                    if (f === 0) return match;
                    if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
                    return match;
                  }
                  capture = captures[n - 1];
              }
              return capture === undefined ? '' : capture;
            });
          }
        });


        /***/
}),

/***/ 1876:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var isRegExp = __webpack_require__(5364);
        var anObject = __webpack_require__(7007);
        var speciesConstructor = __webpack_require__(8364);
        var advanceStringIndex = __webpack_require__(6793);
        var toLength = __webpack_require__(875);
        var callRegExpExec = __webpack_require__(7787);
        var regexpExec = __webpack_require__(1165);
        var fails = __webpack_require__(4253);
        var $min = Math.min;
        var $push = [].push;
        var $SPLIT = 'split';
        var LENGTH = 'length';
        var LAST_INDEX = 'lastIndex';
        var MAX_UINT32 = 0xffffffff;

        // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
        var SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });

        // @@split logic
        __webpack_require__(8082)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {
          var internalSplit;
          if (
            'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||
            'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||
            'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||
            '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
            '.'[$SPLIT](/()()/)[LENGTH] > 1 ||
            ''[$SPLIT](/.?/)[LENGTH]
          ) {
            // based on es5-shim implementation, need to rework it
            internalSplit = function (separator, limit) {
              var string = String(this);
              if (separator === undefined && limit === 0) return [];
              // If `separator` is not a regex, use native split
              if (!isRegExp(separator)) return $split.call(string, separator, limit);
              var output = [];
              var flags = (separator.ignoreCase ? 'i' : '') +
                (separator.multiline ? 'm' : '') +
                (separator.unicode ? 'u' : '') +
                (separator.sticky ? 'y' : '');
              var lastLastIndex = 0;
              var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;
              // Make `global` and avoid `lastIndex` issues by working with a copy
              var separatorCopy = new RegExp(separator.source, flags + 'g');
              var match, lastIndex, lastLength;
              while (match = regexpExec.call(separatorCopy, string)) {
                lastIndex = separatorCopy[LAST_INDEX];
                if (lastIndex > lastLastIndex) {
                  output.push(string.slice(lastLastIndex, match.index));
                  if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
                  lastLength = match[0][LENGTH];
                  lastLastIndex = lastIndex;
                  if (output[LENGTH] >= splitLimit) break;
                }
                if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
              }
              if (lastLastIndex === string[LENGTH]) {
                if (lastLength || !separatorCopy.test('')) output.push('');
              } else output.push(string.slice(lastLastIndex));
              return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
            };
            // Chakra, V8
          } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
            internalSplit = function (separator, limit) {
              return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);
            };
          } else {
            internalSplit = $split;
          }

          return [
            // `String.prototype.split` method
            // https://tc39.github.io/ecma262/#sec-string.prototype.split
            function split(separator, limit) {
              var O = defined(this);
              var splitter = separator == undefined ? undefined : separator[SPLIT];
              return splitter !== undefined
                ? splitter.call(separator, O, limit)
                : internalSplit.call(String(O), separator, limit);
            },
            // `RegExp.prototype[@@split]` method
            // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
            //
            // NOTE: This cannot be properly polyfilled in engines that don't support
            // the 'y' flag.
            function (regexp, limit) {
              var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);
              if (res.done) return res.value;

              var rx = anObject(regexp);
              var S = String(this);
              var C = speciesConstructor(rx, RegExp);

              var unicodeMatching = rx.unicode;
              var flags = (rx.ignoreCase ? 'i' : '') +
                (rx.multiline ? 'm' : '') +
                (rx.unicode ? 'u' : '') +
                (SUPPORTS_Y ? 'y' : 'g');

              // ^(? + rx + ) is needed, in combination with some S slicing, to
              // simulate the 'y' flag.
              var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
              var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
              if (lim === 0) return [];
              if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
              var p = 0;
              var q = 0;
              var A = [];
              while (q < S.length) {
                splitter.lastIndex = SUPPORTS_Y ? q : 0;
                var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
                var e;
                if (
                  z === null ||
                  (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
                ) {
                  q = advanceStringIndex(S, q, unicodeMatching);
                } else {
                  A.push(S.slice(p, q));
                  if (A.length === lim) return A;
                  for (var i = 1; i <= z.length - 1; i++) {
                    A.push(z[i]);
                    if (A.length === lim) return A;
                  }
                  q = p = e;
                }
              }
              A.push(S.slice(p));
              return A;
            }
          ];
        });


        /***/
}),

/***/ 6108:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        __webpack_require__(6774);
        var anObject = __webpack_require__(7007);
        var $flags = __webpack_require__(3218);
        var DESCRIPTORS = __webpack_require__(7057);
        var TO_STRING = 'toString';
        var $toString = /./[TO_STRING];

        var define = function (fn) {
          __webpack_require__(7234)(RegExp.prototype, TO_STRING, fn, true);
        };

        // 21.2.5.14 RegExp.prototype.toString()
        if (__webpack_require__(4253)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
          define(function toString() {
            var R = anObject(this);
            return '/'.concat(R.source, '/',
              'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
          });
          // FF44- RegExp#toString has a wrong name
        } else if ($toString.name != TO_STRING) {
          define(function toString() {
            return $toString.call(this);
          });
        }


        /***/
}),

/***/ 9115:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        var $at = __webpack_require__(4496)(true);

        // 21.1.3.27 String.prototype[@@iterator]()
        __webpack_require__(2923)(String, 'String', function (iterated) {
          this._t = String(iterated); // target
          this._i = 0;                // next index
          // 21.1.5.2.1 %StringIteratorPrototype%.next()
        }, function () {
          var O = this._t;
          var index = this._i;
          var point;
          if (index >= O.length) return { value: undefined, done: true };
          point = $at(O, index);
          this._i += point.length;
          return { value: point, done: false };
        });


        /***/
}),

/***/ 5767:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        // ECMAScript 6 symbols shim
        var global = __webpack_require__(3816);
        var has = __webpack_require__(9181);
        var DESCRIPTORS = __webpack_require__(7057);
        var $export = __webpack_require__(2985);
        var redefine = __webpack_require__(7234);
        var META = (__webpack_require__(4728).KEY);
        var $fails = __webpack_require__(4253);
        var shared = __webpack_require__(3825);
        var setToStringTag = __webpack_require__(2943);
        var uid = __webpack_require__(3953);
        var wks = __webpack_require__(6314);
        var wksExt = __webpack_require__(8787);
        var wksDefine = __webpack_require__(6074);
        var enumKeys = __webpack_require__(5541);
        var isArray = __webpack_require__(4302);
        var anObject = __webpack_require__(7007);
        var isObject = __webpack_require__(5286);
        var toObject = __webpack_require__(508);
        var toIObject = __webpack_require__(2110);
        var toPrimitive = __webpack_require__(1689);
        var createDesc = __webpack_require__(681);
        var _create = __webpack_require__(2503);
        var gOPNExt = __webpack_require__(9327);
        var $GOPD = __webpack_require__(8693);
        var $GOPS = __webpack_require__(4548);
        var $DP = __webpack_require__(9275);
        var $keys = __webpack_require__(7184);
        var gOPD = $GOPD.f;
        var dP = $DP.f;
        var gOPN = gOPNExt.f;
        var $Symbol = global.Symbol;
        var $JSON = global.JSON;
        var _stringify = $JSON && $JSON.stringify;
        var PROTOTYPE = 'prototype';
        var HIDDEN = wks('_hidden');
        var TO_PRIMITIVE = wks('toPrimitive');
        var isEnum = {}.propertyIsEnumerable;
        var SymbolRegistry = shared('symbol-registry');
        var AllSymbols = shared('symbols');
        var OPSymbols = shared('op-symbols');
        var ObjectProto = Object[PROTOTYPE];
        var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;
        var QObject = global.QObject;
        // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
        var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;

        // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
        var setSymbolDesc = DESCRIPTORS && $fails(function () {
          return _create(dP({}, 'a', {
            get: function () { return dP(this, 'a', { value: 7 }).a; }
          })).a != 7;
        }) ? function (it, key, D) {
          var protoDesc = gOPD(ObjectProto, key);
          if (protoDesc) delete ObjectProto[key];
          dP(it, key, D);
          if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
        } : dP;

        var wrap = function (tag) {
          var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
          sym._k = tag;
          return sym;
        };

        var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
          return typeof it == 'symbol';
        } : function (it) {
          return it instanceof $Symbol;
        };

        var $defineProperty = function defineProperty(it, key, D) {
          if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
          anObject(it);
          key = toPrimitive(key, true);
          anObject(D);
          if (has(AllSymbols, key)) {
            if (!D.enumerable) {
              if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
              it[HIDDEN][key] = true;
            } else {
              if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
              D = _create(D, { enumerable: createDesc(0, false) });
            } return setSymbolDesc(it, key, D);
          } return dP(it, key, D);
        };
        var $defineProperties = function defineProperties(it, P) {
          anObject(it);
          var keys = enumKeys(P = toIObject(P));
          var i = 0;
          var l = keys.length;
          var key;
          while (l > i) $defineProperty(it, key = keys[i++], P[key]);
          return it;
        };
        var $create = function create(it, P) {
          return P === undefined ? _create(it) : $defineProperties(_create(it), P);
        };
        var $propertyIsEnumerable = function propertyIsEnumerable(key) {
          var E = isEnum.call(this, key = toPrimitive(key, true));
          if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
          return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
        };
        var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
          it = toIObject(it);
          key = toPrimitive(key, true);
          if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
          var D = gOPD(it, key);
          if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
          return D;
        };
        var $getOwnPropertyNames = function getOwnPropertyNames(it) {
          var names = gOPN(toIObject(it));
          var result = [];
          var i = 0;
          var key;
          while (names.length > i) {
            if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
          } return result;
        };
        var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
          var IS_OP = it === ObjectProto;
          var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
          var result = [];
          var i = 0;
          var key;
          while (names.length > i) {
            if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
          } return result;
        };

        // 19.4.1.1 Symbol([description])
        if (!USE_NATIVE) {
          $Symbol = function Symbol() {
            if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
            var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
            var $set = function (value) {
              if (this === ObjectProto) $set.call(OPSymbols, value);
              if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
              setSymbolDesc(this, tag, createDesc(1, value));
            };
            if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
            return wrap(tag);
          };
          redefine($Symbol[PROTOTYPE], 'toString', function toString() {
            return this._k;
          });

          $GOPD.f = $getOwnPropertyDescriptor;
          $DP.f = $defineProperty;
          (__webpack_require__(616).f) = gOPNExt.f = $getOwnPropertyNames;
          (__webpack_require__(4682).f) = $propertyIsEnumerable;
          $GOPS.f = $getOwnPropertySymbols;

          if (DESCRIPTORS && !__webpack_require__(4461)) {
            redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
          }

          wksExt.f = function (name) {
            return wrap(wks(name));
          };
        }

        $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });

        for (var es6Symbols = (
          // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
          'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
        ).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);

        for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);

        $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
          // 19.4.2.1 Symbol.for(key)
          'for': function (key) {
            return has(SymbolRegistry, key += '')
              ? SymbolRegistry[key]
              : SymbolRegistry[key] = $Symbol(key);
          },
          // 19.4.2.5 Symbol.keyFor(sym)
          keyFor: function keyFor(sym) {
            if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
            for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
          },
          useSetter: function () { setter = true; },
          useSimple: function () { setter = false; }
        });

        $export($export.S + $export.F * !USE_NATIVE, 'Object', {
          // 19.1.2.2 Object.create(O [, Properties])
          create: $create,
          // 19.1.2.4 Object.defineProperty(O, P, Attributes)
          defineProperty: $defineProperty,
          // 19.1.2.3 Object.defineProperties(O, Properties)
          defineProperties: $defineProperties,
          // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
          getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
          // 19.1.2.7 Object.getOwnPropertyNames(O)
          getOwnPropertyNames: $getOwnPropertyNames,
          // 19.1.2.8 Object.getOwnPropertySymbols(O)
          getOwnPropertySymbols: $getOwnPropertySymbols
        });

        // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
        // https://bugs.chromium.org/p/v8/issues/detail?id=3443
        var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });

        $export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {
          getOwnPropertySymbols: function getOwnPropertySymbols(it) {
            return $GOPS.f(toObject(it));
          }
        });

        // 24.3.2 JSON.stringify(value [, replacer [, space]])
        $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
          var S = $Symbol();
          // MS Edge converts symbol values to JSON as {}
          // WebKit converts symbol values to JSON as null
          // V8 throws on boxed symbols
          return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
        })), 'JSON', {
          stringify: function stringify(it) {
            var args = [it];
            var i = 1;
            var replacer, $replacer;
            while (arguments.length > i) args.push(arguments[i++]);
            $replacer = replacer = args[1];
            if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
            if (!isArray(replacer)) replacer = function (key, value) {
              if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
              if (!isSymbol(value)) return value;
            };
            args[1] = replacer;
            return _stringify.apply($JSON, args);
          }
        });

        // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
        $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(7728)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
        // 19.4.3.5 Symbol.prototype[@@toStringTag]
        setToStringTag($Symbol, 'Symbol');
        // 20.2.1.9 Math[@@toStringTag]
        setToStringTag(Math, 'Math', true);
        // 24.3.3 JSON[@@toStringTag]
        setToStringTag(global.JSON, 'JSON', true);


        /***/
}),

/***/ 2773:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";

        // https://github.com/tc39/Array.prototype.includes
        var $export = __webpack_require__(2985);
        var $includes = __webpack_require__(9315)(true);

        $export($export.P, 'Array', {
          includes: function includes(el /* , fromIndex = 0 */) {
            return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
          }
        });

        __webpack_require__(7722)('includes');


        /***/
}),

/***/ 8351:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        // https://github.com/tc39/proposal-object-getownpropertydescriptors
        var $export = __webpack_require__(2985);
        var ownKeys = __webpack_require__(7643);
        var toIObject = __webpack_require__(2110);
        var gOPD = __webpack_require__(8693);
        var createProperty = __webpack_require__(2811);

        $export($export.S, 'Object', {
          getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
            var O = toIObject(object);
            var getDesc = gOPD.f;
            var keys = ownKeys(O);
            var result = {};
            var i = 0;
            var key, desc;
            while (keys.length > i) {
              desc = getDesc(O, key = keys[i++]);
              if (desc !== undefined) createProperty(result, key, desc);
            }
            return result;
          }
        });


        /***/
}),

/***/ 9865:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";
        // https://github.com/tc39/proposal-promise-finally

        var $export = __webpack_require__(2985);
        var core = __webpack_require__(5645);
        var global = __webpack_require__(3816);
        var speciesConstructor = __webpack_require__(8364);
        var promiseResolve = __webpack_require__(94);

        $export($export.P + $export.R, 'Promise', {
          'finally': function (onFinally) {
            var C = speciesConstructor(this, core.Promise || global.Promise);
            var isFunction = typeof onFinally == 'function';
            return this.then(
              isFunction ? function (x) {
                return promiseResolve(C, onFinally()).then(function () { return x; });
              } : onFinally,
              isFunction ? function (e) {
                return promiseResolve(C, onFinally()).then(function () { throw e; });
              } : onFinally
            );
          }
        });


        /***/
}),

/***/ 1181:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

        var $iterators = __webpack_require__(6997);
        var getKeys = __webpack_require__(7184);
        var redefine = __webpack_require__(7234);
        var global = __webpack_require__(3816);
        var hide = __webpack_require__(7728);
        var Iterators = __webpack_require__(2803);
        var wks = __webpack_require__(6314);
        var ITERATOR = wks('iterator');
        var TO_STRING_TAG = wks('toStringTag');
        var ArrayValues = Iterators.Array;

        var DOMIterables = {
          CSSRuleList: true, // TODO: Not spec compliant, should be false.
          CSSStyleDeclaration: false,
          CSSValueList: false,
          ClientRectList: false,
          DOMRectList: false,
          DOMStringList: false,
          DOMTokenList: true,
          DataTransferItemList: false,
          FileList: false,
          HTMLAllCollection: false,
          HTMLCollection: false,
          HTMLFormElement: false,
          HTMLSelectElement: false,
          MediaList: true, // TODO: Not spec compliant, should be false.
          MimeTypeArray: false,
          NamedNodeMap: false,
          NodeList: true,
          PaintRequestList: false,
          Plugin: false,
          PluginArray: false,
          SVGLengthList: false,
          SVGNumberList: false,
          SVGPathSegList: false,
          SVGPointList: false,
          SVGStringList: false,
          SVGTransformList: false,
          SourceBufferList: false,
          StyleSheetList: true, // TODO: Not spec compliant, should be false.
          TextTrackCueList: false,
          TextTrackList: false,
          TouchList: false
        };

        for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
          var NAME = collections[i];
          var explicit = DOMIterables[NAME];
          var Collection = global[NAME];
          var proto = Collection && Collection.prototype;
          var key;
          if (proto) {
            if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
            if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
            Iterators[NAME] = ArrayValues;
            if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);
          }
        }


        /***/
}),

/***/ 86:
/***/ ((module, exports, __webpack_require__) => {

        // Imports
        var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
        exports = ___CSS_LOADER_API_IMPORT___(false);
        // Module
        exports.push([module.id, "@charset \"utf-8\";\r\n.border,\r\n.border-top,\r\n.border-right,\r\n.border-bottom,\r\n.border-left,\r\n.border-topbottom,\r\n.border-rightleft,\r\n.border-topleft,\r\n.border-rightbottom,\r\n.border-topright,\r\n.border-bottomleft {\r\n    position: relative;\r\n}\r\n.border::before,\r\n.border-top::before,\r\n.border-right::before,\r\n.border-bottom::before,\r\n.border-left::before,\r\n.border-topbottom::before,\r\n.border-topbottom::after,\r\n.border-rightleft::before,\r\n.border-rightleft::after,\r\n.border-topleft::before,\r\n.border-topleft::after,\r\n.border-rightbottom::before,\r\n.border-rightbottom::after,\r\n.border-topright::before,\r\n.border-topright::after,\r\n.border-bottomleft::before,\r\n.border-bottomleft::after {\r\n    content: \"\\0020\";\r\n    overflow: hidden;\r\n    position: absolute;\r\n}\r\n/* border\r\n * 因，边框是由伪元素区域遮盖在父级\r\n * 故，子级若有交互，需要对子级设置\r\n * 定位 及 z轴\r\n */\r\n.border::before {\r\n    box-sizing: border-box;\r\n    top: 0;\r\n    left: 0;\r\n    height: 100%;\r\n    width: 100%;\r\n    border: 1px solid #eaeaea;\r\n    transform-origin: 0 0;\r\n}\r\n.border-top::before,\r\n.border-bottom::before,\r\n.border-topbottom::before,\r\n.border-topbottom::after,\r\n.border-topleft::before,\r\n.border-rightbottom::after,\r\n.border-topright::before,\r\n.border-bottomleft::before {\r\n    left: 0;\r\n    width: 100%;\r\n    height: 1px;\r\n}\r\n.border-right::before,\r\n.border-left::before,\r\n.border-rightleft::before,\r\n.border-rightleft::after,\r\n.border-topleft::after,\r\n.border-rightbottom::before,\r\n.border-topright::after,\r\n.border-bottomleft::after {\r\n    top: 0;\r\n    width: 1px;\r\n    height: 100%;\r\n}\r\n.border-top::before,\r\n.border-topbottom::before,\r\n.border-topleft::before,\r\n.border-topright::before {\r\n    border-top: 1px solid #eaeaea;\r\n    transform-origin: 0 0;\r\n}\r\n.border-right::before,\r\n.border-rightbottom::before,\r\n.border-rightleft::before,\r\n.border-topright::after {\r\n    border-right: 1px solid #eaeaea;\r\n    transform-origin: 100% 0;\r\n}\r\n.border-bottom::before,\r\n.border-topbottom::after,\r\n.border-rightbottom::after,\r\n.border-bottomleft::before {\r\n    border-bottom: 1px solid #eaeaea;\r\n    transform-origin: 0 100%;\r\n}\r\n.border-left::before,\r\n.border-topleft::after,\r\n.border-rightleft::after,\r\n.border-bottomleft::after {\r\n    border-left: 1px solid #eaeaea;\r\n    transform-origin: 0 0;\r\n}\r\n.border-top::before,\r\n.border-topbottom::before,\r\n.border-topleft::before,\r\n.border-topright::before {\r\n    top: 0;\r\n}\r\n.border-right::before,\r\n.border-rightleft::after,\r\n.border-rightbottom::before,\r\n.border-topright::after {\r\n    right: 0;\r\n}\r\n.border-bottom::before,\r\n.border-topbottom::after,\r\n.border-rightbottom::after,\r\n.border-bottomleft::after {\r\n    bottom: 0;\r\n}\r\n.border-left::before,\r\n.border-rightleft::before,\r\n.border-topleft::after,\r\n.border-bottomleft::before {\r\n    left: 0;\r\n}\r\n@media (max--moz-device-pixel-ratio: 1.49), (-webkit-max-device-pixel-ratio: 1.49), (max-device-pixel-ratio: 1.49), (max-resolution: 143dpi), (max-resolution: 1.49dppx) {\r\n    /* 默认值，无需重置 */\r\n}\r\n@media (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49), (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49), (min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 2.49), (min-resolution: 144dpi) and (max-resolution: 239dpi), (min-resolution: 1.5dppx) and (max-resolution: 2.49dppx) {\r\n    .border::before {\r\n        width: 200%;\r\n        height: 200%;\r\n        transform: scale(.5);\r\n    }\r\n    .border-top::before,\r\n    .border-bottom::before,\r\n    .border-topbottom::before,\r\n    .border-topbottom::after,\r\n    .border-topleft::before,\r\n    .border-rightbottom::after,\r\n    .border-topright::before,\r\n    .border-bottomleft::before {\r\n        transform: scaleY(.5);\r\n    }\r\n    .border-right::before,\r\n    .border-left::before,\r\n    .border-rightleft::before,\r\n    .border-rightleft::after,\r\n    .border-topleft::after,\r\n    .border-rightbottom::before,\r\n    .border-topright::after,\r\n    .border-bottomleft::after {\r\n        transform: scaleX(.5);\r\n    }\r\n}\r\n@media (min--moz-device-pixel-ratio: 2.5), (-webkit-min-device-pixel-ratio: 2.5), (min-device-pixel-ratio: 2.5), (min-resolution: 240dpi), (min-resolution: 2.5dppx) {\r\n    .border::before {\r\n        width: 300%;\r\n        height: 300%;\r\n        transform: scale(.33333);\r\n    }\r\n    .border-top::before,\r\n    .border-bottom::before,\r\n    .border-topbottom::before,\r\n    .border-topbottom::after,\r\n    .border-topleft::before,\r\n    .border-rightbottom::after,\r\n    .border-topright::before,\r\n    .border-bottomleft::before {\r\n        transform: scaleY(.33333);\r\n    }\r\n    .border-right::before,\r\n    .border-left::before,\r\n    .border-rightleft::before,\r\n    .border-rightleft::after,\r\n    .border-topleft::after,\r\n    .border-rightbottom::before,\r\n    .border-topright::after,\r\n    .border-bottomleft::after {\r\n        transform: scaleX(.33333);\r\n    }\r\n}", ""]);
        // Exports
        module.exports = exports;


        /***/
}),

/***/ 4559:
/***/ ((module, exports, __webpack_require__) => {

        // Imports
        var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
        exports = ___CSS_LOADER_API_IMPORT___(false);
        // Module
        exports.push([module.id, "/*!\n * Datepicker v1.0.10\n * https://fengyuanchen.github.io/datepicker\n *\n * Copyright 2014-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-09-29T14:46:09.037Z\n */\n\n.datepicker-container {\n  background-color: #fff;\n  direction: ltr;\n  font-size: 12px;\n  left: 0;\n  line-height: 30px;\n  position: fixed;\n  -webkit-tap-highlight-color: transparent;\n  top: 0;\n  -ms-touch-action: none;\n  touch-action: none;\n  -webkit-touch-callout: none;\n  width: 210px;\n  z-index: -1;\n}\n\n.datepicker-container::before,\n.datepicker-container::after {\n  border: 5px solid transparent;\n  content: \" \";\n  display: block;\n  height: 0;\n  position: absolute;\n  width: 0;\n}\n\n.datepicker-dropdown {\n  border: 1px solid #ccc;\n  -webkit-box-shadow: 0 3px 6px #ccc;\n  box-shadow: 0 3px 6px #ccc;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n  position: absolute;\n  z-index: 1;\n}\n\n.datepicker-inline {\n  position: static;\n}\n\n.datepicker-top-left,\n.datepicker-top-right {\n  border-top-color: #39f;\n}\n\n.datepicker-top-left::before,\n.datepicker-top-left::after,\n.datepicker-top-right::before,\n.datepicker-top-right::after {\n  border-top: 0;\n  left: 10px;\n  top: -5px;\n}\n\n.datepicker-top-left::before,\n.datepicker-top-right::before {\n  border-bottom-color: #39f;\n}\n\n.datepicker-top-left::after,\n.datepicker-top-right::after {\n  border-bottom-color: #fff;\n  top: -4px;\n}\n\n.datepicker-bottom-left,\n.datepicker-bottom-right {\n  border-bottom-color: #39f;\n}\n\n.datepicker-bottom-left::before,\n.datepicker-bottom-left::after,\n.datepicker-bottom-right::before,\n.datepicker-bottom-right::after {\n  border-bottom: 0;\n  bottom: -5px;\n  left: 10px;\n}\n\n.datepicker-bottom-left::before,\n.datepicker-bottom-right::before {\n  border-top-color: #39f;\n}\n\n.datepicker-bottom-left::after,\n.datepicker-bottom-right::after {\n  border-top-color: #fff;\n  bottom: -4px;\n}\n\n.datepicker-top-right::before,\n.datepicker-top-right::after,\n.datepicker-bottom-right::before,\n.datepicker-bottom-right::after {\n  left: auto;\n  right: 10px;\n}\n\n.datepicker-panel > ul {\n  margin: 0;\n  padding: 0;\n  width: 102%;\n}\n\n.datepicker-panel > ul::before,\n.datepicker-panel > ul::after {\n  content: \" \";\n  display: table;\n}\n\n.datepicker-panel > ul::after {\n  clear: both;\n}\n\n.datepicker-panel > ul > li {\n  background-color: #fff;\n  cursor: pointer;\n  float: left;\n  height: 30px;\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  text-align: center;\n  width: 30px;\n}\n\n.datepicker-panel > ul > li:hover {\n  background-color: rgb(229, 242, 255);\n}\n\n.datepicker-panel > ul > li.muted,\n.datepicker-panel > ul > li.muted:hover {\n  color: #999;\n}\n\n.datepicker-panel > ul > li.highlighted {\n  background-color: rgb(229, 242, 255);\n}\n\n.datepicker-panel > ul > li.highlighted:hover {\n  background-color: rgb(204, 229, 255);\n}\n\n.datepicker-panel > ul > li.picked,\n.datepicker-panel > ul > li.picked:hover {\n  color: #39f;\n}\n\n.datepicker-panel > ul > li.disabled,\n.datepicker-panel > ul > li.disabled:hover {\n  background-color: #fff;\n  color: #ccc;\n  cursor: default;\n}\n\n.datepicker-panel > ul > li.disabled.highlighted,\n.datepicker-panel > ul > li.disabled:hover.highlighted {\n  background-color: rgb(229, 242, 255);\n}\n\n.datepicker-panel > ul > li[data-view=\"years prev\"],\n.datepicker-panel > ul > li[data-view=\"year prev\"],\n.datepicker-panel > ul > li[data-view=\"month prev\"],\n.datepicker-panel > ul > li[data-view=\"years next\"],\n.datepicker-panel > ul > li[data-view=\"year next\"],\n.datepicker-panel > ul > li[data-view=\"month next\"],\n.datepicker-panel > ul > li[data-view=\"next\"] {\n  font-size: 18px;\n}\n\n.datepicker-panel > ul > li[data-view=\"years current\"],\n.datepicker-panel > ul > li[data-view=\"year current\"],\n.datepicker-panel > ul > li[data-view=\"month current\"] {\n  width: 150px;\n}\n\n.datepicker-panel > ul[data-view=\"years\"] > li,\n.datepicker-panel > ul[data-view=\"months\"] > li {\n  height: 52.5px;\n  line-height: 52.5px;\n  width: 52.5px;\n}\n\n.datepicker-panel > ul[data-view=\"week\"] > li,\n.datepicker-panel > ul[data-view=\"week\"] > li:hover {\n  background-color: #fff;\n  cursor: default;\n}\n\n.datepicker-hide {\n  display: none;\n}\n", ""]);
        // Exports
        module.exports = exports;


        /***/
}),

/***/ 2888:
/***/ ((module, exports, __webpack_require__) => {

        // Imports
        var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
        exports = ___CSS_LOADER_API_IMPORT___(false);
        // Module
        exports.push([module.id, "#message_box_outside {\r\n    position: fixed;\r\n    top: 40px;\r\n    left: 50%;\r\n    transform: translate(-50%, -50%);\r\n    /* 50%为自身尺寸的一半 */\r\n    z-index: 2000;\r\n}\r\n\r\n.message_box_inside {\r\n    margin-top: 10px;\r\n    color: white;\r\n    min-height: 40px;\r\n    min-width: 200px;\r\n    border-radius: 10px;\r\n}\r\n\r\n.cc-display {\r\n    justify-content: center;\r\n    align-items: center;\r\n    display: flex;\r\n    display: -webkit-flex;\r\n}", ""]);
        // Exports
        module.exports = exports;


        /***/
}),

/***/ 6036:
/***/ ((module, exports, __webpack_require__) => {

        // Imports
        var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
        var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(1667);
        var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(2630);
        var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(1911);
        var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(4094);
        var ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(5201);
        var ___CSS_LOADER_URL_IMPORT_4___ = __webpack_require__(8770);
        var ___CSS_LOADER_URL_IMPORT_5___ = __webpack_require__(4835);
        var ___CSS_LOADER_URL_IMPORT_6___ = __webpack_require__(1027);
        var ___CSS_LOADER_URL_IMPORT_7___ = __webpack_require__(5037);
        var ___CSS_LOADER_URL_IMPORT_8___ = __webpack_require__(7742);
        var ___CSS_LOADER_URL_IMPORT_9___ = __webpack_require__(7048);
        var ___CSS_LOADER_URL_IMPORT_10___ = __webpack_require__(6412);
        exports = ___CSS_LOADER_API_IMPORT___(false);
        var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
        var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
        var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);
        var ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);
        var ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);
        var ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);
        var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);
        var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);
        var ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);
        var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);
        var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);
        // Module
        exports.push([module.id, "* {\r\n    -webkit-touch-callout: none;\r\n    /*系统默认菜单被禁用*/\r\n  }\r\n\r\n.player--full-screen {\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n\r\n.player__panel {\r\n    width: 100%;\r\n    height: 100%;\r\n    position: absolute;\r\n    left: 0;\r\n    top: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    z-index: 99;\r\n}\r\n\r\n.player__panel--wrap {\r\n    height: 40px;\r\n    position: relative;\r\n}\r\n\r\n.player__panel .player__controls {\r\n    box-sizing: border-box;\r\n    height: 60px;\r\n    width: 100%;\r\n    padding: 0 10px;\r\n    background-color: #333;\r\n    position: absolute;\r\n    bottom: 0;\r\n    display: flex;\r\n    flex-flow: row nowrap;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    opacity: 0;\r\n    transition: opacity 0.5s ease;\r\n}\r\n\r\n.player__panel .player__controls--shown {\r\n    opacity: 1;\r\n}\r\n\r\n.player__panel .player__controls--transparent {\r\n    background-color: transparent;\r\n}\r\n\r\n.player__poster--wrap {\r\n    width: 100%;\r\n    height: 100%;\r\n    position: absolute;\r\n    left: 0;\r\n    top: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    z-index: 98;\r\n}\r\n\r\n.player__poster {\r\n    width: 100%;\r\n    height: 100%;\r\n    position: absolute;\r\n    left: 0;\r\n    top: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n}\r\n\r\n.player__poster>img {\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n\r\n.player__stream {\r\n    display: inline-block;\r\n    height: 24px;\r\n    width: 44px;\r\n    vertical-align: middle;\r\n    cursor: pointer;\r\n}\r\n\r\n.player__btn {\r\n    display: inline-block;\r\n    height: 24px;\r\n    width: 24px;\r\n    vertical-align: middle;\r\n    cursor: pointer;\r\n    color: rgb(249, 142, 11);\r\n    text-align: center;\r\n    line-height: 24px;\r\n}\r\n\r\n.player__btn-large {\r\n    font-size: 22px;\r\n}\r\n\r\n.player__tip--wrap {\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    z-index: 99;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    color: #fff;\r\n    font-size: 18px;\r\n}\r\n\r\n.player__btn--play {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") no-repeat -24px 0;\r\n}\r\n\r\n.player__btn--pause {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") no-repeat -24px 0;\r\n}\r\n\r\n.player__btn--full {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") no-repeat -24px 0;\r\n}\r\n\r\n.player__btn--empty {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") no-repeat -24px 0;\r\n}\r\n\r\n.player__stream--hd {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_4___ + ") no-repeat -44px 0;\r\n}\r\n\r\n.player__stream--sd {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_5___ + ") no-repeat -44px;\r\n}\r\n\r\n.player__btn--voice {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_6___ + ") no-repeat center;\r\n}\r\n\r\n.player__btn--voiceOff {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_7___ + ") no-repeat center;\r\n}\r\n\r\n.player__split {\r\n    border: 1px solid rgb(7, 5, 2);\r\n    margin-left: 5px;\r\n    border-radius: 3px;\r\n    width: 20px;\r\n    height: 20px;\r\n    line-height: 20px;\r\n    font-size: 12px;\r\n}\r\n\r\n.player__sound--on {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_8___ + ") no-repeat -24px;\r\n}\r\n\r\n.player__sound--off {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_9___ + ") no-repeat -24px;\r\n}\r\n\r\n.player__btn--stop {\r\n    background: url(" + ___CSS_LOADER_URL_REPLACEMENT_10___ + ") no-repeat;\r\n    background-size: 24px 24px;\r\n    margin-right: 3px;\r\n}\r\n\r\n\r\n/* TODO: 样式写法待优化 */\r\n\r\n.player__split--2>div:nth-child(2n) {\r\n    border-left: 1px solid #fff;\r\n}\r\n\r\n.player__split--4>div:nth-child(2n) {\r\n    border-left: 1px solid #fff;\r\n}\r\n\r\n.player__split--4>div:nth-child(1),\r\n.player__split--4>div:nth-child(2) {\r\n    border-bottom: 1px solid #fff;\r\n}\r\n\r\n.player__split--1>div:nth-child(1) {\r\n    border: none;\r\n}\r\n\r\n.player__split--9>div:nth-child(1),\r\n.player__split--9>div:nth-child(2),\r\n.player__split--9>div:nth-child(3),\r\n.player__split--9>div:nth-child(4),\r\n.player__split--9>div:nth-child(5),\r\n.player__split--9>div:nth-child(6) {\r\n    border-bottom: 1px solid #fff;\r\n}\r\n\r\n.player__split--9>div:nth-child(2),\r\n.player__split--9>div:nth-child(3),\r\n.player__split--9>div:nth-child(5),\r\n.player__split--9>div:nth-child(6),\r\n.player__split--9>div:nth-child(8),\r\n.player__split--9>div:nth-child(9) {\r\n    border-left: 1px solid #fff;\r\n}\r\n\r\n\r\n/* videoJs的loading隐藏 -- 并非长久之计 */\r\n\r\n.vjs-loading-spinner {\r\n    display: none !important;\r\n}\r\n\r\n\r\n/* videoJs的错误信息隐藏 -- 并非长久之计 */\r\n\r\n.vjs-error-display {\r\n    display: none !important;\r\n}\r\n\r\n.player__header {\r\n    width: 100%;\r\n    position: absolute;\r\n    top: 0px;\r\n    display: block;\r\n    z-index: 99999;\r\n    background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));\r\n    font-size: 20px;\r\n}\r\n\r\n.player__header-control {\r\n    padding-top: 16px;\r\n    height: 36px;\r\n    display: flex;\r\n}\r\n\r\n.player__header-control-left {\r\n    display: flex;\r\n    justify-content: flex-start;\r\n    padding-left: 24px;\r\n    /* background-color: lightblue; */\r\n    width: 75%;\r\n    height: 100%;\r\n}\r\n\r\n.player__header-control-right {\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    padding-right: 24px;\r\n    /* background-color: pink; */\r\n    width: 25%;\r\n    height: 100%;\r\n}\r\n\r\n.player_header-control-item {\r\n    height: 100%;\r\n    width: 100%;\r\n}\r\n\r\n.header-control-item {\r\n    height: 24px;\r\n    width: 24px;\r\n    margin: 6px;\r\n}\r\n\r\n.player__footer {\r\n    width: 100%;\r\n    position: absolute;\r\n    bottom: 0px;\r\n    display: block;\r\n    z-index: 99999;\r\n}\r\n\r\n.player__footer-control {\r\n    padding-bottom: 16px;\r\n    height: 48px;\r\n    display: flex;\r\n    background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));\r\n}\r\n\r\n.player__footer-control-left {\r\n    padding-left: 16px;\r\n    display: flex;\r\n    justify-content: flex-start;\r\n    /* background-color: lightblue; */\r\n    width: 50%;\r\n    height: 100%;\r\n}\r\n\r\n.player__footer-control-right {\r\n    padding-right: 16px;\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    /* background-color: pink; */\r\n    width: 50%;\r\n    height: 100%;\r\n}\r\n\r\n.player_footer-control-item {\r\n    height: 100%;\r\n    width: 100%;\r\n}\r\n\r\n.footer-control-item {\r\n    height: 36px;\r\n    width: 36px;\r\n    margin: 6px;\r\n}\r\n\r\n.player__time-control {\r\n    height: 60px;\r\n    display: flex;\r\n    background-color: #3c3c3c;\r\n}\r\n\r\n.player__PTZArea {\r\n    height: 120px;\r\n    width: 120px;\r\n    position: absolute;\r\n    top: 50%;\r\n    right: 10px;\r\n    transform: translateY(-50%);\r\n    display: none;\r\n    z-index: 100;\r\n}\r\n\r\n.player__PTZArea-panel {\r\n    height: 120px;\r\n    width: 120px;\r\n    border-radius: 50%;\r\n    background-color: rgba(255, 255, 255, 0.2);\r\n    box-shadow: 0 0 5px rgba(255, 255, 255, 0);\r\n}\r\n\r\n.player__PTZArea-panel::after {\r\n    content: \"\";\r\n    width: 20px;\r\n    height: 20px;\r\n    background: #2b8bf7;\r\n    position: absolute;\r\n    transform: translate(50px, 50px);\r\n    border-radius: 50%;\r\n    /* border: 4px solid #2b8bf7; */\r\n}\r\n\r\n.arrow-up {\r\n    width: 0;\r\n    height: 0;\r\n    border-left: 6px solid transparent;\r\n    border-right: 6px solid transparent;\r\n    border-bottom: 6px solid #ffffff;\r\n    position: absolute;\r\n    top: 20px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n}\r\n\r\n.arrow-down {\r\n    width: 0;\r\n    height: 0;\r\n    border-left: 6px solid transparent;\r\n    border-right: 6px solid transparent;\r\n    border-top: 6px solid #ffffff;\r\n    position: absolute;\r\n    bottom: 20px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n}\r\n\r\n.arrow-left {\r\n    width: 0;\r\n    height: 0;\r\n    border-right: 6px solid #ffffff;\r\n    border-bottom: 6px solid transparent;\r\n    border-top: 6px solid transparent;\r\n    position: absolute;\r\n    left: 20px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n}\r\n\r\n.arrow-right {\r\n    width: 0;\r\n    height: 0;\r\n    border-left: 6px solid #ffffff;\r\n    border-bottom: 6px solid transparent;\r\n    border-top: 6px solid transparent;\r\n    position: absolute;\r\n    right: 20px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n}\r\n\r\n.h5-PTZ-pannel {\r\n    padding-top: 60px;\r\n    margin: 0px auto 20px;\r\n    width: 280px;\r\n    height: 320px;\r\n    position: relative;\r\n    /* padding: 20px; */\r\n    /* border-radius: 50%; */\r\n}\r\n\r\n.player_PTZ-contral-h5-title {\r\n    height: 20px;\r\n    padding-bottom: 10px;\r\n    font-size: 18px;\r\n    font-weight: normal;\r\n    font-stretch: normal;\r\n    line-height: 7px;\r\n    letter-spacing: 0px;\r\n    color: #262626;\r\n    display: flex;\r\n    justify-content: center;\r\n    transform: translateY(-100%);\r\n}\r\n\r\n.player_PTZ-contral-h5 {\r\n    position: absolute;\r\n    width: 260px;\r\n    height: 260px;\r\n    top: 54%;\r\n    left: 50%;\r\n    transform: translate(-50%, -50%);\r\n    border-radius: 50%;\r\n    background-color: rgba(255, 255, 255);\r\n    box-shadow: 0px 0px 10px silver;\r\n}\r\n\r\n.player_PTZ-contral-h5::after {\r\n    content: \"\";\r\n    width: 30px;\r\n    height: 30px;\r\n    background: #ffffff;\r\n    position: absolute;\r\n    transform: translate(110px, 110px);\r\n    border-radius: 50%;\r\n    border: 5px solid #eaeaea;\r\n}\r\n\r\n.arrow-h5-up {\r\n    width: 0;\r\n    height: 0;\r\n    border-left: 10px solid transparent;\r\n    border-right: 10px solid transparent;\r\n    border-bottom: 10px solid #f18f00;\r\n    position: absolute;\r\n    top: 30px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n}\r\n\r\n.arrow-h5-down {\r\n    width: 0;\r\n    height: 0;\r\n    border-left: 10px solid transparent;\r\n    border-right: 10px solid transparent;\r\n    border-top: 10px solid #f18f00;\r\n    position: absolute;\r\n    bottom: 30px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n}\r\n\r\n.arrow-h5-left {\r\n    width: 0;\r\n    height: 0;\r\n    border-right: 10px solid #f18f00;\r\n    border-bottom: 10px solid transparent;\r\n    border-top: 10px solid transparent;\r\n    position: absolute;\r\n    left: 30px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n}\r\n\r\n.arrow-h5-right {\r\n    width: 0;\r\n    height: 0;\r\n    border-left: 10px solid #f18f00;\r\n    border-bottom: 10px solid transparent;\r\n    border-top: 10px solid transparent;\r\n    position: absolute;\r\n    right: 30px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n}\r\n\r\n.player_timeLine_web-control {\r\n    width: calc(100% - 60px);\r\n    height: 100%;\r\n    display: flex;\r\n}\r\n\r\n.player_dateSelect_web-control {\r\n    width: 60px;\r\n    height: 100%;\r\n    display: flex;\r\n    /* background-color: green; */\r\n}\r\n\r\n#datePicker-icon {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    width: 100%;\r\n}\r\n\r\n#datepicker {\r\n    border: 0;\r\n    padding: 0;\r\n}\r\n\r\n.player__app-timeline-h5 {\r\n    width: 93vw;\r\n    height: 400px;\r\n    padding-top: 20px;\r\n    margin: 0px auto 20px;\r\n    position: relative;\r\n}\r\n\r\n.player__app-timeline-title-area-h5 {\r\n    width: 100%;\r\n    height: 40px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n}\r\n\r\n.player__app-timeline-date-area-h5 {\r\n    border-radius: 6px;\r\n    width: 40px;\r\n    position: absolute;\r\n    right: 0;\r\n}\r\n\r\n.timeline-title {\r\n    font-family: PingFang SC;\r\n    font-size: 18px;\r\n    font-weight: normal;\r\n    font-stretch: normal;\r\n    line-height: 7px;\r\n    letter-spacing: 0px;\r\n    color: #262626;\r\n    font-weight: 600;\r\n}\r\n\r\n.player__app-timeline-record-area-h5 {\r\n    width: 100%;\r\n    height: 40px;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n}\r\n\r\n.player__app-timeline-record-num-area-h5 {\r\n    width: 50%;\r\n    height: 40px;\r\n    padding: 0 10px;\r\n    display: flex;\r\n    align-items: center;\r\n    font-family: PingFang SC;\r\n    font-size: 12px;\r\n    font-weight: normal;\r\n    font-stretch: normal;\r\n    line-height: 7px;\r\n    letter-spacing: 0px;\r\n    color: #262626;\r\n    justify-content: flex-start;\r\n}\r\n\r\n.player__app-timeline-record-button-area-h5 {\r\n    /* position: relative; */\r\n    width: 50%;\r\n    display: flex;\r\n    justify-content: flex-end;\r\n}\r\n\r\n#record-type-button-list {\r\n    background: #f8f8f8;\r\n    display: flex;\r\n    align-items: center;\r\n    border-radius: 6px;\r\n}\r\n\r\n.record-button-list {\r\n    width: 40px;\r\n    height: 24px;\r\n    background-color: #f8f8f8;\r\n    display: inline-flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n}\r\n\r\n.record-button-list-active {\r\n    border-radius: 4px;\r\n    border: solid 1px #ebebeb;\r\n    box-shadow: 0px 2px 6px 0px #eaeaea;\r\n    border-radius: 6px;\r\n}\r\n\r\n.player_timeLine_h5-control {\r\n    margin: 35px auto;\r\n    width: 280px;\r\n    height: 280px;\r\n}\r\n\r\n.player__Timeline-h5-extend-Area {\r\n    height: 100%;\r\n    position: absolute;\r\n    top: 0;\r\n    right: 0px;\r\n    z-index: 1000;\r\n    display: flex;\r\n    justify-content: flex-end;\r\n}\r\n\r\n.player__Timeline-h5-extend-Panel {\r\n    width: 120px;\r\n    height: 100%;\r\n    position: absolute;\r\n    top: 0;\r\n    right: 0;\r\n    z-index: 1000;\r\n    background-color: rgba(60, 60, 60, 0.5);\r\n}\r\n\r\n.player__Timeline-h5-extend-Button {\r\n    width: 30px;\r\n    height: 60px;\r\n    position: absolute;\r\n    top: 50%;\r\n    right: 120px;\r\n    transform: translateY(-50%);\r\n    z-index: 99999;\r\n    /* background-image: linear-gradient(90deg, rgba(60, 60, 60, 0.5), rgba(255, 255, 255, 0.3)); */\r\n    border-radius: 60px 0 0 60px;\r\n    background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0.3) 100%);\r\n}\r\n\r\n.extend-button-h5 {\r\n    position: absolute;\r\n    top: 50%;\r\n    left: 50%;\r\n    transform: translate(-40%, -40%);\r\n}\r\n\r\n@keyframes slideInRightButton {\r\n    0% {\r\n        right: 0px;\r\n    }\r\n    100% {\r\n        right: 120px;\r\n    }\r\n}\r\n\r\n@keyframes slideOutRightButton {\r\n    0% {\r\n        right: 120px;\r\n    }\r\n    100% {\r\n        right: 0px;\r\n    }\r\n}\r\n\r\n@keyframes slideInRightPanel {\r\n    0% {\r\n        display: none;\r\n    }\r\n    100% {\r\n        display: block;\r\n    }\r\n}\r\n\r\n@keyframes slideOutRightPanel {\r\n    0% {\r\n        display: block;\r\n    }\r\n    100% {\r\n        display: none;\r\n    }\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n    .player__header {\r\n        font-size: 14px;\r\n    }\r\n    .player__header-control {\r\n        padding-top: 0;\r\n    }\r\n    .player__header-control-left {\r\n        padding-left: 0;\r\n    }\r\n    .player__header-control-right {\r\n        padding-right: 0;\r\n    }\r\n    .player__footer-control {\r\n        height: 36px;\r\n        display: flex;\r\n        padding-bottom: 0;\r\n    }\r\n    .player__footer-control-left {\r\n        padding-left: 0;\r\n    }\r\n    .player__footer-control-right {\r\n        padding-right: 0;\r\n    }\r\n    .footer-control-item {\r\n        height: 24px;\r\n        width: 24px;\r\n        margin: 6px;\r\n    }\r\n}", ""]);
        // Exports
        module.exports = exports;


        /***/
}),

/***/ 2501:
/***/ ((module, exports, __webpack_require__) => {

        // Imports
        var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
        exports = ___CSS_LOADER_API_IMPORT___(false);
        // Module
        exports.push([module.id, ".video-js .vjs-big-play-button .vjs-icon-placeholder:before, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-modal-dialog, .vjs-modal-dialog .vjs-modal-dialog-content {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%; }\r\n\r\n.video-js .vjs-big-play-button .vjs-icon-placeholder:before, .vjs-button > .vjs-icon-placeholder:before {\r\n  text-align: center; }\r\n\r\n@font-face {\r\n  font-family: VideoJS;\r\n  src: url(data:application/font-woff;charset=utf-8;base64, ) format(\"woff\");\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n\r\n.vjs-icon-play, .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-play-control .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-play:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-play-control .vjs-icon-placeholder:before {\r\n  content: \"\\f101\"; }\r\n\r\n.vjs-icon-play-circle {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-play-circle:before {\r\n  content: \"\\f102\"; }\r\n\r\n.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {\r\n  content: \"\\f103\"; }\r\n\r\n.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {\r\n  content: \"\\f104\"; }\r\n\r\n.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {\r\n  content: \"\\f105\"; }\r\n\r\n.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {\r\n  content: \"\\f106\"; }\r\n\r\n.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {\r\n  content: \"\\f107\"; }\r\n\r\n.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {\r\n  content: \"\\f108\"; }\r\n\r\n.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {\r\n  content: \"\\f109\"; }\r\n\r\n.vjs-icon-square {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-square:before {\r\n  content: \"\\f10a\"; }\r\n\r\n.vjs-icon-spinner {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-spinner:before {\r\n  content: \"\\f10b\"; }\r\n\r\n.vjs-icon-subtitles, .video-js .vjs-subtitles-button .vjs-icon-placeholder, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-subtitles:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before {\r\n  content: \"\\f10c\"; }\r\n\r\n.vjs-icon-captions, .video-js .vjs-captions-button .vjs-icon-placeholder, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-captions:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before {\r\n  content: \"\\f10d\"; }\r\n\r\n.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {\r\n  content: \"\\f10e\"; }\r\n\r\n.vjs-icon-share {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-share:before {\r\n  content: \"\\f10f\"; }\r\n\r\n.vjs-icon-cog {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-cog:before {\r\n  content: \"\\f110\"; }\r\n\r\n.vjs-icon-circle, .video-js .vjs-play-progress, .video-js .vjs-volume-level, .vjs-seek-to-live-control .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-circle:before, .video-js .vjs-play-progress:before, .video-js .vjs-volume-level:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before {\r\n  content: \"\\f111\"; }\r\n\r\n.vjs-icon-circle-outline {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-circle-outline:before {\r\n  content: \"\\f112\"; }\r\n\r\n.vjs-icon-circle-inner-circle {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-circle-inner-circle:before {\r\n  content: \"\\f113\"; }\r\n\r\n.vjs-icon-hd {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-hd:before {\r\n  content: \"\\f114\"; }\r\n\r\n.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {\r\n  content: \"\\f115\"; }\r\n\r\n.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {\r\n  content: \"\\f116\"; }\r\n\r\n.vjs-icon-facebook {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-facebook:before {\r\n  content: \"\\f117\"; }\r\n\r\n.vjs-icon-gplus {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-gplus:before {\r\n  content: \"\\f118\"; }\r\n\r\n.vjs-icon-linkedin {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-linkedin:before {\r\n  content: \"\\f119\"; }\r\n\r\n.vjs-icon-twitter {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-twitter:before {\r\n  content: \"\\f11a\"; }\r\n\r\n.vjs-icon-tumblr {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-tumblr:before {\r\n  content: \"\\f11b\"; }\r\n\r\n.vjs-icon-pinterest {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-pinterest:before {\r\n  content: \"\\f11c\"; }\r\n\r\n.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {\r\n  content: \"\\f11d\"; }\r\n\r\n.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {\r\n  content: \"\\f11e\"; }\r\n\r\n.vjs-icon-next-item {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-next-item:before {\r\n  content: \"\\f11f\"; }\r\n\r\n.vjs-icon-previous-item {\r\n  font-family: VideoJS;\r\n  font-weight: normal;\r\n  font-style: normal; }\r\n.vjs-icon-previous-item:before {\r\n  content: \"\\f120\"; }\r\n\r\n.video-js {\r\n  display: block;\r\n  vertical-align: top;\r\n  box-sizing: border-box;\r\n  color: #fff;\r\n  background-color: #000;\r\n  position: relative;\r\n  padding: 0;\r\n  font-size: 10px;\r\n  line-height: 1;\r\n  font-weight: normal;\r\n  font-style: normal;\r\n  font-family: Arial, Helvetica, sans-serif;\r\n  word-break: initial; }\r\n.video-js:-moz-full-screen {\r\n  position: absolute; }\r\n.video-js:-webkit-full-screen {\r\n  width: 100% !important;\r\n  height: 100% !important; }\r\n\r\n.video-js[tabindex=\"-1\"] {\r\n  outline: none; }\r\n\r\n.video-js *,\r\n.video-js *:before,\r\n.video-js *:after {\r\n  box-sizing: inherit; }\r\n\r\n.video-js ul {\r\n  font-family: inherit;\r\n  font-size: inherit;\r\n  line-height: inherit;\r\n  list-style-position: outside;\r\n  margin-left: 0;\r\n  margin-right: 0;\r\n  margin-top: 0;\r\n  margin-bottom: 0; }\r\n\r\n.video-js.vjs-fluid,\r\n.video-js.vjs-16-9,\r\n.video-js.vjs-4-3 {\r\n  width: 100%;\r\n  max-width: 100%;\r\n  height: 0; }\r\n\r\n.video-js.vjs-16-9 {\r\n  padding-top: 56.25%; }\r\n\r\n.video-js.vjs-4-3 {\r\n  padding-top: 75%; }\r\n\r\n.video-js.vjs-fill {\r\n  width: 100%;\r\n  height: 100%; }\r\n\r\n.video-js .vjs-tech {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%; }\r\n\r\nbody.vjs-full-window {\r\n  padding: 0;\r\n  margin: 0;\r\n  height: 100%; }\r\n\r\n.vjs-full-window .video-js.vjs-fullscreen {\r\n  position: fixed;\r\n  overflow: hidden;\r\n  z-index: 1000;\r\n  left: 0;\r\n  top: 0;\r\n  bottom: 0;\r\n  right: 0; }\r\n\r\n.video-js.vjs-fullscreen {\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  padding-top: 0 !important; }\r\n\r\n.video-js.vjs-fullscreen.vjs-user-inactive {\r\n  cursor: none; }\r\n\r\n.vjs-hidden {\r\n  display: none !important; }\r\n\r\n.vjs-disabled {\r\n  opacity: 0.5;\r\n  cursor: default; }\r\n\r\n.video-js .vjs-offscreen {\r\n  height: 1px;\r\n  left: -9999px;\r\n  position: absolute;\r\n  top: 0;\r\n  width: 1px; }\r\n\r\n.vjs-lock-showing {\r\n  display: block !important;\r\n  opacity: 1;\r\n  visibility: visible; }\r\n\r\n.vjs-no-js {\r\n  padding: 20px;\r\n  color: #fff;\r\n  background-color: #000;\r\n  font-size: 18px;\r\n  font-family: Arial, Helvetica, sans-serif;\r\n  text-align: center;\r\n  width: 300px;\r\n  height: 150px;\r\n  margin: 0px auto; }\r\n\r\n.vjs-no-js a,\r\n.vjs-no-js a:visited {\r\n  color: #66A8CC; }\r\n\r\n.video-js .vjs-big-play-button {\r\n  font-size: 3em;\r\n  line-height: 1.5em;\r\n  height: 1.63332em;\r\n  width: 3em;\r\n  display: block;\r\n  position: absolute;\r\n  top: 10px;\r\n  left: 10px;\r\n  padding: 0;\r\n  cursor: pointer;\r\n  opacity: 1;\r\n  border: 0.06666em solid #fff;\r\n  background-color: #2B333F;\r\n  background-color: rgba(43, 51, 63, 0.7);\r\n  border-radius: 0.3em;\r\n  transition: all 0.4s; }\r\n\r\n.vjs-big-play-centered .vjs-big-play-button {\r\n  top: 50%;\r\n  left: 50%;\r\n  margin-top: -0.81666em;\r\n  margin-left: -1.5em; }\r\n\r\n.video-js:hover .vjs-big-play-button,\r\n.video-js .vjs-big-play-button:focus {\r\n  border-color: #fff;\r\n  background-color: #73859f;\r\n  background-color: rgba(115, 133, 159, 0.5);\r\n  transition: all 0s; }\r\n\r\n.vjs-controls-disabled .vjs-big-play-button,\r\n.vjs-has-started .vjs-big-play-button,\r\n.vjs-using-native-controls .vjs-big-play-button,\r\n.vjs-error .vjs-big-play-button {\r\n  display: none; }\r\n\r\n.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button {\r\n  display: block; }\r\n\r\n.video-js button {\r\n  background: none;\r\n  border: none;\r\n  color: inherit;\r\n  display: inline-block;\r\n  font-size: inherit;\r\n  line-height: inherit;\r\n  text-transform: none;\r\n  text-decoration: none;\r\n  transition: none;\r\n  -webkit-appearance: none;\r\n  -moz-appearance: none;\r\n  appearance: none; }\r\n\r\n.vjs-control .vjs-button {\r\n  width: 100%;\r\n  height: 100%; }\r\n\r\n.video-js .vjs-control.vjs-close-button {\r\n  cursor: pointer;\r\n  height: 3em;\r\n  position: absolute;\r\n  right: 0;\r\n  top: 0.5em;\r\n  z-index: 2; }\r\n\r\n.video-js .vjs-modal-dialog {\r\n  background: rgba(0, 0, 0, 0.8);\r\n  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));\r\n  overflow: auto; }\r\n\r\n.video-js .vjs-modal-dialog > * {\r\n  box-sizing: border-box; }\r\n\r\n.vjs-modal-dialog .vjs-modal-dialog-content {\r\n  font-size: 1.2em;\r\n  line-height: 1.5;\r\n  padding: 20px 24px;\r\n  z-index: 1; }\r\n\r\n.vjs-menu-button {\r\n  cursor: pointer; }\r\n\r\n.vjs-menu-button.vjs-disabled {\r\n  cursor: default; }\r\n\r\n.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {\r\n  display: none; }\r\n\r\n.vjs-menu .vjs-menu-content {\r\n  display: block;\r\n  padding: 0;\r\n  margin: 0;\r\n  font-family: Arial, Helvetica, sans-serif;\r\n  overflow: auto; }\r\n\r\n.vjs-menu .vjs-menu-content > * {\r\n  box-sizing: border-box; }\r\n\r\n.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {\r\n  display: none; }\r\n\r\n.vjs-menu li {\r\n  list-style: none;\r\n  margin: 0;\r\n  padding: 0.2em 0;\r\n  line-height: 1.4em;\r\n  font-size: 1.2em;\r\n  text-align: center;\r\n  text-transform: lowercase; }\r\n\r\n.vjs-menu li.vjs-menu-item:focus,\r\n.vjs-menu li.vjs-menu-item:hover,\r\n.js-focus-visible .vjs-menu li.vjs-menu-item:hover {\r\n  background-color: #73859f;\r\n  background-color: rgba(115, 133, 159, 0.5); }\r\n\r\n.vjs-menu li.vjs-selected,\r\n.vjs-menu li.vjs-selected:focus,\r\n.vjs-menu li.vjs-selected:hover,\r\n.js-focus-visible .vjs-menu li.vjs-selected:hover {\r\n  background-color: #fff;\r\n  color: #2B333F; }\r\n\r\n.vjs-menu li.vjs-menu-title {\r\n  text-align: center;\r\n  text-transform: uppercase;\r\n  font-size: 1em;\r\n  line-height: 2em;\r\n  padding: 0;\r\n  margin: 0 0 0.3em 0;\r\n  font-weight: bold;\r\n  cursor: default; }\r\n\r\n.vjs-menu-button-popup .vjs-menu {\r\n  display: none;\r\n  position: absolute;\r\n  bottom: 0;\r\n  width: 10em;\r\n  left: -3em;\r\n  height: 0em;\r\n  margin-bottom: 1.5em;\r\n  border-top-color: rgba(43, 51, 63, 0.7); }\r\n\r\n.vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n  background-color: #2B333F;\r\n  background-color: rgba(43, 51, 63, 0.7);\r\n  position: absolute;\r\n  width: 100%;\r\n  bottom: 1.5em;\r\n  max-height: 15em; }\r\n\r\n.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\r\n.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n  max-height: 5em; }\r\n\r\n.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n  max-height: 10em; }\r\n\r\n.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n  max-height: 14em; }\r\n\r\n.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\r\n.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\r\n.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n  max-height: 25em; }\r\n\r\n.vjs-workinghover .vjs-menu-button-popup:hover .vjs-menu,\r\n.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {\r\n  display: block; }\r\n\r\n.video-js .vjs-menu-button-inline {\r\n  transition: all 0.4s;\r\n  overflow: hidden; }\r\n\r\n.video-js .vjs-menu-button-inline:before {\r\n  width: 2.222222222em; }\r\n\r\n.video-js .vjs-menu-button-inline:hover,\r\n.video-js .vjs-menu-button-inline:focus,\r\n.video-js .vjs-menu-button-inline.vjs-slider-active,\r\n.video-js.vjs-no-flex .vjs-menu-button-inline {\r\n  width: 12em; }\r\n\r\n.vjs-menu-button-inline .vjs-menu {\r\n  opacity: 0;\r\n  height: 100%;\r\n  width: auto;\r\n  position: absolute;\r\n  left: 4em;\r\n  top: 0;\r\n  padding: 0;\r\n  margin: 0;\r\n  transition: all 0.4s; }\r\n\r\n.vjs-menu-button-inline:hover .vjs-menu,\r\n.vjs-menu-button-inline:focus .vjs-menu,\r\n.vjs-menu-button-inline.vjs-slider-active .vjs-menu {\r\n  display: block;\r\n  opacity: 1; }\r\n\r\n.vjs-no-flex .vjs-menu-button-inline .vjs-menu {\r\n  display: block;\r\n  opacity: 1;\r\n  position: relative;\r\n  width: auto; }\r\n\r\n.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,\r\n.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,\r\n.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu {\r\n  width: auto; }\r\n\r\n.vjs-menu-button-inline .vjs-menu-content {\r\n  width: auto;\r\n  height: 100%;\r\n  margin: 0;\r\n  overflow: hidden; }\r\n\r\n.video-js .vjs-control-bar {\r\n  display: none;\r\n  width: 100%;\r\n  position: absolute;\r\n  bottom: 0;\r\n  left: 0;\r\n  right: 0;\r\n  height: 3.0em;\r\n  background-color: #2B333F;\r\n  background-color: rgba(43, 51, 63, 0.7); }\r\n\r\n.vjs-has-started .vjs-control-bar {\r\n  display: flex;\r\n  visibility: visible;\r\n  opacity: 1;\r\n  transition: visibility 0.1s, opacity 0.1s; }\r\n\r\n.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\r\n  visibility: visible;\r\n  opacity: 0;\r\n  transition: visibility 1s, opacity 1s; }\r\n\r\n.vjs-controls-disabled .vjs-control-bar,\r\n.vjs-using-native-controls .vjs-control-bar,\r\n.vjs-error .vjs-control-bar {\r\n  display: none !important; }\r\n\r\n.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\r\n  opacity: 1;\r\n  visibility: visible; }\r\n\r\n.vjs-has-started.vjs-no-flex .vjs-control-bar {\r\n  display: table; }\r\n\r\n.video-js .vjs-control {\r\n  position: relative;\r\n  text-align: center;\r\n  margin: 0;\r\n  padding: 0;\r\n  height: 100%;\r\n  width: 4em;\r\n  flex: none; }\r\n\r\n.vjs-button > .vjs-icon-placeholder:before {\r\n  font-size: 1.8em;\r\n  line-height: 1.67; }\r\n\r\n.video-js .vjs-control:focus:before,\r\n.video-js .vjs-control:hover:before,\r\n.video-js .vjs-control:focus {\r\n  text-shadow: 0em 0em 1em white; }\r\n\r\n.video-js .vjs-control-text {\r\n  border: 0;\r\n  clip: rect(0 0 0 0);\r\n  height: 1px;\r\n  overflow: hidden;\r\n  padding: 0;\r\n  position: absolute;\r\n  width: 1px; }\r\n\r\n.vjs-no-flex .vjs-control {\r\n  display: table-cell;\r\n  vertical-align: middle; }\r\n\r\n.video-js .vjs-custom-control-spacer {\r\n  display: none; }\r\n\r\n.video-js .vjs-progress-control {\r\n  cursor: pointer;\r\n  flex: auto;\r\n  display: flex;\r\n  align-items: center;\r\n  min-width: 4em;\r\n  touch-action: none; }\r\n\r\n.video-js .vjs-progress-control.disabled {\r\n  cursor: default; }\r\n\r\n.vjs-live .vjs-progress-control {\r\n  display: none; }\r\n\r\n.vjs-liveui .vjs-progress-control {\r\n  display: flex;\r\n  align-items: center; }\r\n\r\n.vjs-no-flex .vjs-progress-control {\r\n  width: auto; }\r\n\r\n.video-js .vjs-progress-holder {\r\n  flex: auto;\r\n  transition: all 0.2s;\r\n  height: 0.3em; }\r\n\r\n.video-js .vjs-progress-control .vjs-progress-holder {\r\n  margin: 0 10px; }\r\n\r\n.video-js .vjs-progress-control:hover .vjs-progress-holder {\r\n  font-size: 1.666666666666666666em; }\r\n\r\n.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {\r\n  font-size: 1em; }\r\n\r\n.video-js .vjs-progress-holder .vjs-play-progress,\r\n.video-js .vjs-progress-holder .vjs-load-progress,\r\n.video-js .vjs-progress-holder .vjs-load-progress div {\r\n  position: absolute;\r\n  display: block;\r\n  height: 100%;\r\n  margin: 0;\r\n  padding: 0;\r\n  width: 0; }\r\n\r\n.video-js .vjs-play-progress {\r\n  background-color: #fff; }\r\n.video-js .vjs-play-progress:before {\r\n  font-size: 0.9em;\r\n  position: absolute;\r\n  right: -0.5em;\r\n  top: -0.333333333333333em;\r\n  z-index: 1; }\r\n\r\n.video-js .vjs-load-progress {\r\n  background: rgba(115, 133, 159, 0.5); }\r\n\r\n.video-js .vjs-load-progress div {\r\n  background: rgba(115, 133, 159, 0.75); }\r\n\r\n.video-js .vjs-time-tooltip {\r\n  background-color: #fff;\r\n  background-color: rgba(255, 255, 255, 0.8);\r\n  border-radius: 0.3em;\r\n  color: #000;\r\n  float: right;\r\n  font-family: Arial, Helvetica, sans-serif;\r\n  font-size: 1em;\r\n  padding: 6px 8px 8px 8px;\r\n  pointer-events: none;\r\n  position: absolute;\r\n  top: -3.4em;\r\n  visibility: hidden;\r\n  z-index: 1; }\r\n\r\n.video-js .vjs-progress-holder:focus .vjs-time-tooltip {\r\n  display: none; }\r\n\r\n.video-js .vjs-progress-control:hover .vjs-time-tooltip,\r\n.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip {\r\n  display: block;\r\n  font-size: 0.6em;\r\n  visibility: visible; }\r\n\r\n.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {\r\n  font-size: 1em; }\r\n\r\n.video-js .vjs-progress-control .vjs-mouse-display {\r\n  display: none;\r\n  position: absolute;\r\n  width: 1px;\r\n  height: 100%;\r\n  background-color: #000;\r\n  z-index: 1; }\r\n\r\n.vjs-no-flex .vjs-progress-control .vjs-mouse-display {\r\n  z-index: 0; }\r\n\r\n.video-js .vjs-progress-control:hover .vjs-mouse-display {\r\n  display: block; }\r\n\r\n.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {\r\n  visibility: hidden;\r\n  opacity: 0;\r\n  transition: visibility 1s, opacity 1s; }\r\n\r\n.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display {\r\n  display: none; }\r\n\r\n.vjs-mouse-display .vjs-time-tooltip {\r\n  color: #fff;\r\n  background-color: #000;\r\n  background-color: rgba(0, 0, 0, 0.8); }\r\n\r\n.video-js .vjs-slider {\r\n  position: relative;\r\n  cursor: pointer;\r\n  padding: 0;\r\n  margin: 0 0.45em 0 0.45em;\r\n  /* iOS Safari */\r\n  -webkit-touch-callout: none;\r\n  /* Safari */\r\n  -webkit-user-select: none;\r\n  /* Konqueror HTML */\r\n  /* Firefox */\r\n  -moz-user-select: none;\r\n  /* Internet Explorer/Edge */\r\n  -ms-user-select: none;\r\n  /* Non-prefixed version, currently supported by Chrome and Opera */\r\n  user-select: none;\r\n  background-color: #73859f;\r\n  background-color: rgba(115, 133, 159, 0.5); }\r\n\r\n.video-js .vjs-slider.disabled {\r\n  cursor: default; }\r\n\r\n.video-js .vjs-slider:focus {\r\n  text-shadow: 0em 0em 1em white;\r\n  box-shadow: 0 0 1em #fff; }\r\n\r\n.video-js .vjs-mute-control {\r\n  cursor: pointer;\r\n  flex: none; }\r\n\r\n.video-js .vjs-volume-control {\r\n  cursor: pointer;\r\n  margin-right: 1em;\r\n  display: flex; }\r\n\r\n.video-js .vjs-volume-control.vjs-volume-horizontal {\r\n  width: 5em; }\r\n\r\n.video-js .vjs-volume-panel .vjs-volume-control {\r\n  visibility: visible;\r\n  opacity: 0;\r\n  width: 1px;\r\n  height: 1px;\r\n  margin-left: -1px; }\r\n\r\n.video-js .vjs-volume-panel {\r\n  transition: width 1s; }\r\n.video-js .vjs-volume-panel:hover .vjs-volume-control,\r\n.video-js .vjs-volume-panel:active .vjs-volume-control,\r\n.video-js .vjs-volume-panel:focus .vjs-volume-control,\r\n.video-js .vjs-volume-panel .vjs-volume-control:hover,\r\n.video-js .vjs-volume-panel .vjs-volume-control:active,\r\n.video-js .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control,\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {\r\n  visibility: visible;\r\n  opacity: 1;\r\n  position: relative;\r\n  transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s; }\r\n.video-js .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {\r\n  width: 5em;\r\n  height: 3em; }\r\n.video-js .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {\r\n  left: -3.5em; }\r\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\r\n  width: 9em;\r\n  transition: width 0.1s; }\r\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {\r\n  width: 4em; }\r\n\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\r\n  height: 8em;\r\n  width: 3em;\r\n  left: -3000em;\r\n  transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s; }\r\n\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\r\n  transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s; }\r\n\r\n.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\r\n  width: 5em;\r\n  height: 3em;\r\n  visibility: visible;\r\n  opacity: 1;\r\n  position: relative;\r\n  transition: none; }\r\n\r\n.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,\r\n.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\r\n  position: absolute;\r\n  bottom: 3em;\r\n  left: 0.5em; }\r\n\r\n.video-js .vjs-volume-panel {\r\n  display: flex; }\r\n\r\n.video-js .vjs-volume-bar {\r\n  margin: 1.35em 0.45em; }\r\n\r\n.vjs-volume-bar.vjs-slider-horizontal {\r\n  width: 5em;\r\n  height: 0.3em; }\r\n\r\n.vjs-volume-bar.vjs-slider-vertical {\r\n  width: 0.3em;\r\n  height: 5em;\r\n  margin: 1.35em auto; }\r\n\r\n.video-js .vjs-volume-level {\r\n  position: absolute;\r\n  bottom: 0;\r\n  left: 0;\r\n  background-color: #fff; }\r\n.video-js .vjs-volume-level:before {\r\n  position: absolute;\r\n  font-size: 0.9em; }\r\n\r\n.vjs-slider-vertical .vjs-volume-level {\r\n  width: 0.3em; }\r\n.vjs-slider-vertical .vjs-volume-level:before {\r\n  top: -0.5em;\r\n  left: -0.3em; }\r\n\r\n.vjs-slider-horizontal .vjs-volume-level {\r\n  height: 0.3em; }\r\n.vjs-slider-horizontal .vjs-volume-level:before {\r\n  top: -0.3em;\r\n  right: -0.5em; }\r\n\r\n.video-js .vjs-volume-panel.vjs-volume-panel-vertical {\r\n  width: 4em; }\r\n\r\n.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {\r\n  height: 100%; }\r\n\r\n.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {\r\n  width: 100%; }\r\n\r\n.video-js .vjs-volume-vertical {\r\n  width: 3em;\r\n  height: 8em;\r\n  bottom: 8em;\r\n  background-color: #2B333F;\r\n  background-color: rgba(43, 51, 63, 0.7); }\r\n\r\n.video-js .vjs-volume-horizontal .vjs-menu {\r\n  left: -2em; }\r\n\r\n.vjs-poster {\r\n  display: inline-block;\r\n  vertical-align: middle;\r\n  background-repeat: no-repeat;\r\n  background-position: 50% 50%;\r\n  background-size: contain;\r\n  background-color: #000000;\r\n  cursor: pointer;\r\n  margin: 0;\r\n  padding: 0;\r\n  position: absolute;\r\n  top: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  left: 0;\r\n  height: 100%; }\r\n\r\n.vjs-has-started .vjs-poster {\r\n  display: none; }\r\n\r\n.vjs-audio.vjs-has-started .vjs-poster {\r\n  display: block; }\r\n\r\n.vjs-using-native-controls .vjs-poster {\r\n  display: none; }\r\n\r\n.video-js .vjs-live-control {\r\n  display: flex;\r\n  align-items: flex-start;\r\n  flex: auto;\r\n  font-size: 1em;\r\n  line-height: 3em; }\r\n\r\n.vjs-no-flex .vjs-live-control {\r\n  display: table-cell;\r\n  width: auto;\r\n  text-align: left; }\r\n\r\n.video-js:not(.vjs-live) .vjs-live-control,\r\n.video-js.vjs-liveui .vjs-live-control {\r\n  display: none; }\r\n\r\n.video-js .vjs-seek-to-live-control {\r\n  cursor: pointer;\r\n  flex: none;\r\n  display: inline-flex;\r\n  height: 100%;\r\n  padding-left: 0.5em;\r\n  padding-right: 0.5em;\r\n  font-size: 1em;\r\n  line-height: 3em;\r\n  width: auto;\r\n  min-width: 4em; }\r\n\r\n.vjs-no-flex .vjs-seek-to-live-control {\r\n  display: table-cell;\r\n  width: auto;\r\n  text-align: left; }\r\n\r\n.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,\r\n.video-js:not(.vjs-live) .vjs-seek-to-live-control {\r\n  display: none; }\r\n\r\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {\r\n  cursor: auto; }\r\n\r\n.vjs-seek-to-live-control .vjs-icon-placeholder {\r\n  margin-right: 0.5em;\r\n  color: #888; }\r\n\r\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {\r\n  color: red; }\r\n\r\n.video-js .vjs-time-control {\r\n  flex: none;\r\n  font-size: 1em;\r\n  line-height: 3em;\r\n  min-width: 2em;\r\n  width: auto;\r\n  padding-left: 1em;\r\n  padding-right: 1em; }\r\n\r\n.vjs-live .vjs-time-control {\r\n  display: none; }\r\n\r\n.video-js .vjs-current-time,\r\n.vjs-no-flex .vjs-current-time {\r\n  display: none; }\r\n\r\n.video-js .vjs-duration,\r\n.vjs-no-flex .vjs-duration {\r\n  display: none; }\r\n\r\n.vjs-time-divider {\r\n  display: none;\r\n  line-height: 3em; }\r\n\r\n.vjs-live .vjs-time-divider {\r\n  display: none; }\r\n\r\n.video-js .vjs-play-control {\r\n  cursor: pointer; }\r\n\r\n.video-js .vjs-play-control .vjs-icon-placeholder {\r\n  flex: none; }\r\n\r\n.vjs-text-track-display {\r\n  position: absolute;\r\n  bottom: 3em;\r\n  left: 0;\r\n  right: 0;\r\n  top: 0;\r\n  pointer-events: none; }\r\n\r\n.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {\r\n  bottom: 1em; }\r\n\r\n.video-js .vjs-text-track {\r\n  font-size: 1.4em;\r\n  text-align: center;\r\n  margin-bottom: 0.1em; }\r\n\r\n.vjs-subtitles {\r\n  color: #fff; }\r\n\r\n.vjs-captions {\r\n  color: #fc6; }\r\n\r\n.vjs-tt-cue {\r\n  display: block; }\r\n\r\nvideo::-webkit-media-text-track-display {\r\n  -webkit-transform: translateY(-3em);\r\n  transform: translateY(-3em); }\r\n\r\n.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {\r\n  -webkit-transform: translateY(-1.5em);\r\n  transform: translateY(-1.5em); }\r\n\r\n.video-js .vjs-fullscreen-control {\r\n  cursor: pointer;\r\n  flex: none; }\r\n\r\n.vjs-playback-rate > .vjs-menu-button,\r\n.vjs-playback-rate .vjs-playback-rate-value {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%; }\r\n\r\n.vjs-playback-rate .vjs-playback-rate-value {\r\n  pointer-events: none;\r\n  font-size: 1.5em;\r\n  line-height: 2;\r\n  text-align: center; }\r\n\r\n.vjs-playback-rate .vjs-menu {\r\n  width: 4em;\r\n  left: 0em; }\r\n\r\n.vjs-error .vjs-error-display .vjs-modal-dialog-content {\r\n  font-size: 1.4em;\r\n  text-align: center; }\r\n\r\n.vjs-error .vjs-error-display:before {\r\n  color: #fff;\r\n  content: 'X';\r\n  font-family: Arial, Helvetica, sans-serif;\r\n  font-size: 4em;\r\n  left: 0;\r\n  line-height: 1;\r\n  margin-top: -0.5em;\r\n  position: absolute;\r\n  text-shadow: 0.05em 0.05em 0.1em #000;\r\n  text-align: center;\r\n  top: 50%;\r\n  vertical-align: middle;\r\n  width: 100%; }\r\n\r\n.vjs-loading-spinner {\r\n  display: none;\r\n  position: absolute;\r\n  top: 50%;\r\n  left: 50%;\r\n  margin: -25px 0 0 -25px;\r\n  opacity: 0.85;\r\n  text-align: left;\r\n  border: 6px solid rgba(43, 51, 63, 0.7);\r\n  box-sizing: border-box;\r\n  background-clip: padding-box;\r\n  width: 50px;\r\n  height: 50px;\r\n  border-radius: 25px;\r\n  visibility: hidden; }\r\n\r\n.vjs-seeking .vjs-loading-spinner,\r\n.vjs-waiting .vjs-loading-spinner {\r\n  display: block;\r\n  -webkit-animation: vjs-spinner-show 0s linear 0.3s forwards;\r\n  animation: vjs-spinner-show 0s linear 0.3s forwards; }\r\n\r\n.vjs-loading-spinner:before,\r\n.vjs-loading-spinner:after {\r\n  content: \"\";\r\n  position: absolute;\r\n  margin: -6px;\r\n  box-sizing: inherit;\r\n  width: inherit;\r\n  height: inherit;\r\n  border-radius: inherit;\r\n  opacity: 1;\r\n  border: inherit;\r\n  border-color: transparent;\r\n  border-top-color: white; }\r\n\r\n.vjs-seeking .vjs-loading-spinner:before,\r\n.vjs-seeking .vjs-loading-spinner:after,\r\n.vjs-waiting .vjs-loading-spinner:before,\r\n.vjs-waiting .vjs-loading-spinner:after {\r\n  -webkit-animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;\r\n  animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite; }\r\n\r\n.vjs-seeking .vjs-loading-spinner:before,\r\n.vjs-waiting .vjs-loading-spinner:before {\r\n  border-top-color: white; }\r\n\r\n.vjs-seeking .vjs-loading-spinner:after,\r\n.vjs-waiting .vjs-loading-spinner:after {\r\n  border-top-color: white;\r\n  -webkit-animation-delay: 0.44s;\r\n  animation-delay: 0.44s; }\r\n\r\n@keyframes vjs-spinner-show {\r\n  to {\r\n    visibility: visible; } }\r\n\r\n@-webkit-keyframes vjs-spinner-show {\r\n  to {\r\n    visibility: visible; } }\r\n\r\n@keyframes vjs-spinner-spin {\r\n  100% {\r\n    -webkit-transform: rotate(360deg);\r\n    transform: rotate(360deg); } }\r\n\r\n@-webkit-keyframes vjs-spinner-spin {\r\n  100% {\r\n    -webkit-transform: rotate(360deg); } }\r\n\r\n@keyframes vjs-spinner-fade {\r\n  0% {\r\n    border-top-color: #73859f; }\r\n  20% {\r\n    border-top-color: #73859f; }\r\n  35% {\r\n    border-top-color: white; }\r\n  60% {\r\n    border-top-color: #73859f; }\r\n  100% {\r\n    border-top-color: #73859f; } }\r\n\r\n@-webkit-keyframes vjs-spinner-fade {\r\n  0% {\r\n    border-top-color: #73859f; }\r\n  20% {\r\n    border-top-color: #73859f; }\r\n  35% {\r\n    border-top-color: white; }\r\n  60% {\r\n    border-top-color: #73859f; }\r\n  100% {\r\n    border-top-color: #73859f; } }\r\n\r\n.vjs-chapters-button .vjs-menu ul {\r\n  width: 24em; }\r\n\r\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\r\n  vertical-align: middle;\r\n  display: inline-block;\r\n  margin-bottom: -0.1em; }\r\n\r\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\r\n  font-family: VideoJS;\r\n  content: \"\\f10d\";\r\n  font-size: 1.5em;\r\n  line-height: inherit; }\r\n\r\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\r\n  vertical-align: middle;\r\n  display: inline-block;\r\n  margin-bottom: -0.1em; }\r\n\r\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\r\n  font-family: VideoJS;\r\n  content: \" \\f11d\";\r\n  font-size: 1.5em;\r\n  line-height: inherit; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-current-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-time-divider,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-duration,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-remaining-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-playback-rate,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-chapters-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-descriptions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-captions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-subtitles-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-audio-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-control, .video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-current-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-time-divider,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-duration,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-remaining-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-playback-rate,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-chapters-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-descriptions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-captions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-subtitles-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-audio-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-control, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-current-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-time-divider,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-duration,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-remaining-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-playback-rate,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-chapters-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-descriptions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-captions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-subtitles-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-audio-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-control {\r\n  display: none; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\r\n  width: auto;\r\n  width: initial; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small:not(.vjs-liveui) .vjs-subs-caps-button, .video-js:not(.vjs-fullscreen).vjs-layout-x-small:not(.vjs-live) .vjs-subs-caps-button, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-subs-caps-button {\r\n  display: none; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui .vjs-custom-control-spacer, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-custom-control-spacer {\r\n  flex: auto;\r\n  display: block; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui.vjs-no-flex .vjs-custom-control-spacer, .video-js:not(.vjs-fullscreen).vjs-layout-tiny.vjs-no-flex .vjs-custom-control-spacer {\r\n  width: auto; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui .vjs-progress-control, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-progress-control {\r\n  display: none; }\r\n\r\n.vjs-modal-dialog.vjs-text-track-settings {\r\n  background-color: #2B333F;\r\n  background-color: rgba(43, 51, 63, 0.75);\r\n  color: #fff;\r\n  height: 70%; }\r\n\r\n.vjs-text-track-settings .vjs-modal-dialog-content {\r\n  display: table; }\r\n\r\n.vjs-text-track-settings .vjs-track-settings-colors,\r\n.vjs-text-track-settings .vjs-track-settings-font,\r\n.vjs-text-track-settings .vjs-track-settings-controls {\r\n  display: table-cell; }\r\n\r\n.vjs-text-track-settings .vjs-track-settings-controls {\r\n  text-align: right;\r\n  vertical-align: bottom; }\r\n\r\n@supports (display: grid) {\r\n  .vjs-text-track-settings .vjs-modal-dialog-content {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    grid-template-rows: 1fr;\r\n    padding: 20px 24px 0px 24px; }\r\n  .vjs-track-settings-controls .vjs-default-button {\r\n    margin-bottom: 20px; }\r\n  .vjs-text-track-settings .vjs-track-settings-controls {\r\n    grid-column: 1 / -1; }\r\n  .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,\r\n  .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,\r\n  .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {\r\n    grid-template-columns: 1fr; } }\r\n\r\n.vjs-track-setting > select {\r\n  margin-right: 1em;\r\n  margin-bottom: 0.5em; }\r\n\r\n.vjs-text-track-settings fieldset {\r\n  margin: 5px;\r\n  padding: 3px;\r\n  border: none; }\r\n\r\n.vjs-text-track-settings fieldset span {\r\n  display: inline-block; }\r\n\r\n.vjs-text-track-settings fieldset span > select {\r\n  max-width: 7.3em; }\r\n\r\n.vjs-text-track-settings legend {\r\n  color: #fff;\r\n  margin: 0 0 5px 0; }\r\n\r\n.vjs-text-track-settings .vjs-label {\r\n  position: absolute;\r\n  clip: rect(1px 1px 1px 1px);\r\n  clip: rect(1px, 1px, 1px, 1px);\r\n  display: block;\r\n  margin: 0 0 5px 0;\r\n  padding: 0;\r\n  border: 0;\r\n  height: 1px;\r\n  width: 1px;\r\n  overflow: hidden; }\r\n\r\n.vjs-track-settings-controls button:focus,\r\n.vjs-track-settings-controls button:active {\r\n  outline-style: solid;\r\n  outline-width: medium;\r\n  background-image: linear-gradient(0deg, #fff 88%, #73859f 100%); }\r\n\r\n.vjs-track-settings-controls button:hover {\r\n  color: rgba(43, 51, 63, 0.75); }\r\n\r\n.vjs-track-settings-controls button {\r\n  background-color: #fff;\r\n  background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);\r\n  color: #2B333F;\r\n  cursor: pointer;\r\n  border-radius: 2px; }\r\n\r\n.vjs-track-settings-controls .vjs-default-button {\r\n  margin-right: 1em; }\r\n\r\n@media print {\r\n  .video-js > *:not(.vjs-tech):not(.vjs-poster) {\r\n    visibility: hidden; } }\r\n\r\n.vjs-resize-manager {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  border: none;\r\n  z-index: -1000; }\r\n\r\n.js-focus-visible .video-js *:focus:not(.focus-visible) {\r\n  outline: none;\r\n  background: none; }\r\n\r\n.video-js *:focus:not(:focus-visible),\r\n.video-js .vjs-menu *:focus:not(:focus-visible) {\r\n  outline: none;\r\n  background: none; }\r\n", ""]);
        // Exports
        module.exports = exports;


        /***/
}),

/***/ 9142:
/***/ ((module, exports, __webpack_require__) => {

        // Imports
        var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
        var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(1667);
        var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(3581);
        var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(8539);
        var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(758);
        exports = ___CSS_LOADER_API_IMPORT___(false);
        var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
        var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
        var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);
        // Module
        exports.push([module.id, "@font-face {\n  font-family: \"iconfont\"; /* Project id 3238821 */\n  src: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") format('woff2'),\n       url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") format('woff'),\n       url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") format('truetype');\n}\n\n.iconfont {\n  font-family: \"iconfont\" !important;\n  font-size: 16px;\n  font-style: normal;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n.icon-icon_yuyin:before {\n  content: \"\\e677\";\n}\n\n.icon-icon_yuyinguanbi:before {\n  content: \"\\e678\";\n}\n\n.icon-icon_shouqi:before {\n  content: \"\\e675\";\n}\n\n.icon-icon_zhankai:before {\n  content: \"\\e676\";\n}\n\n.icon-Icon_YunLuXiang:before {\n  content: \"\\e673\";\n}\n\n.icon-Icon_BenDiLuXiang:before {\n  content: \"\\e674\";\n}\n\n.icon-Icon_JingYin:before {\n  content: \"\\e672\";\n}\n\n.icon-Icon_QuanPing:before {\n  content: \"\\e671\";\n}\n\n.icon-Icon_LuPing:before {\n  content: \"\\e669\";\n}\n\n.icon-Icon_HD:before {\n  content: \"\\e66a\";\n}\n\n.icon-Icon_Voice:before {\n  content: \"\\e66b\";\n}\n\n.icon-Icon_ScreenShot:before {\n  content: \"\\e66d\";\n}\n\n.icon-Icon_SD:before {\n  content: \"\\e66e\";\n}\n\n.icon-Icon_YunTai:before {\n  content: \"\\e66f\";\n}\n\n.icon-Icon_WangYeQuanPing:before {\n  content: \"\\e670\";\n}\n\n.icon-Icon_Play:before {\n  content: \"\\e667\";\n}\n\n.icon-Icon_Stop:before {\n  content: \"\\e668\";\n}\n\n.icon-Icon_SDcard:before {\n  content: \"\\e665\";\n}\n\n.icon-Icon_Cloud:before {\n  content: \"\\e666\";\n}\n\n.icon-Icon_Left:before {\n  content: \"\\e663\";\n}\n\n.icon-Icon_Right:before {\n  content: \"\\e664\";\n}\n\n.icon-Console_icon_delete:before {\n  content: \"\\e608\";\n}\n\n.icon-Console_icon_calendar:before {\n  content: \"\\e609\";\n}\n\n.icon-code_icon_copy:before {\n  content: \"\\e60c\";\n}\n\n", ""]);
        // Exports
        module.exports = exports;


        /***/
}),

/***/ 3645:
/***/ ((module) => {

        "use strict";


        /*
          MIT License http://www.opensource.org/licenses/mit-license.php
          Author Tobias Koppers @sokra
        */
        // css base code, injected by the css-loader
        // eslint-disable-next-line func-names
        module.exports = function (useSourceMap) {
          var list = []; // return the list of modules as css string

          list.toString = function toString() {
            return this.map(function (item) {
              var content = cssWithMappingToString(item, useSourceMap);

              if (item[2]) {
                return "@media ".concat(item[2], " {").concat(content, "}");
              }

              return content;
            }).join('');
          }; // import a list of modules into the list
          // eslint-disable-next-line func-names


          list.i = function (modules, mediaQuery, dedupe) {
            if (typeof modules === 'string') {
              // eslint-disable-next-line no-param-reassign
              modules = [[null, modules, '']];
            }

            var alreadyImportedModules = {};

            if (dedupe) {
              for (var i = 0; i < this.length; i++) {
                // eslint-disable-next-line prefer-destructuring
                var id = this[i][0];

                if (id != null) {
                  alreadyImportedModules[id] = true;
                }
              }
            }

            for (var _i = 0; _i < modules.length; _i++) {
              var item = [].concat(modules[_i]);

              if (dedupe && alreadyImportedModules[item[0]]) {
                // eslint-disable-next-line no-continue
                continue;
              }

              if (mediaQuery) {
                if (!item[2]) {
                  item[2] = mediaQuery;
                } else {
                  item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
                }
              }

              list.push(item);
            }
          };

          return list;
        };

        function cssWithMappingToString(item, useSourceMap) {
          var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring

          var cssMapping = item[3];

          if (!cssMapping) {
            return content;
          }

          if (useSourceMap && typeof btoa === 'function') {
            var sourceMapping = toComment(cssMapping);
            var sourceURLs = cssMapping.sources.map(function (source) {
              return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
            });
            return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
          }

          return [content].join('\n');
        } // Adapted from convert-source-map (MIT)


        function toComment(sourceMap) {
          // eslint-disable-next-line no-undef
          var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
          var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
          return "/*# ".concat(data, " */");
        }

        /***/
}),

/***/ 1667:
/***/ ((module) => {

        "use strict";


        module.exports = function (url, options) {
          if (!options) {
            // eslint-disable-next-line no-param-reassign
            options = {};
          } // eslint-disable-next-line no-underscore-dangle, no-param-reassign


          url = url && url.__esModule ? url.default : url;

          if (typeof url !== 'string') {
            return url;
          } // If url is already wrapped in quotes, remove them


          if (/^['"].*['"]$/.test(url)) {
            // eslint-disable-next-line no-param-reassign
            url = url.slice(1, -1);
          }

          if (options.hash) {
            // eslint-disable-next-line no-param-reassign
            url += options.hash;
          } // Should url be wrapped?
          // See https://drafts.csswg.org/css-values-3/#urls


          if (/["'() \t\n]/.test(url) || options.needQuotes) {
            return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, '\\n'), "\"");
          }

          return url;
        };

        /***/
}),

/***/ 1795:
/***/ (function (module, exports, __webpack_require__) {

/* module decorator */ module = __webpack_require__.nmd(module);
        var __WEBPACK_AMD_DEFINE_RESULT__;/*!
 * Platform.js v1.3.6
 * Copyright 2014-2020 Benjamin Tan
 * Copyright 2011-2013 John-David Dalton
 * Available under MIT license
 */
        ; (function () {
          'use strict';

          /** Used to determine if values are of the language type `Object`. */
          var objectTypes = {
            'function': true,
            'object': true
          };

          /** Used as a reference to the global object. */
          var root = (objectTypes[typeof window] && window) || this;

          /** Backup possible global object. */
          var oldRoot = root;

          /** Detect free variable `exports`. */
          var freeExports = objectTypes[typeof exports] && exports;

          /** Detect free variable `module`. */
          var freeModule = objectTypes["object"] && module && !module.nodeType && module;

          /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */
          var freeGlobal = freeExports && freeModule && typeof __webpack_require__.g == 'object' && __webpack_require__.g;
          if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {
            root = freeGlobal;
          }

          /**
           * Used as the maximum length of an array-like object.
           * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)
           * for more details.
           */
          var maxSafeInteger = Math.pow(2, 53) - 1;

          /** Regular expression to detect Opera. */
          var reOpera = /\bOpera/;

          /** Possible global object. */
          var thisBinding = this;

          /** Used for native method references. */
          var objectProto = Object.prototype;

          /** Used to check for own properties of an object. */
          var hasOwnProperty = objectProto.hasOwnProperty;

          /** Used to resolve the internal `[[Class]]` of values. */
          var toString = objectProto.toString;

          /*--------------------------------------------------------------------------*/

          /**
           * Capitalizes a string value.
           *
           * @private
           * @param {string} string The string to capitalize.
           * @returns {string} The capitalized string.
           */
          function capitalize(string) {
            string = String(string);
            return string.charAt(0).toUpperCase() + string.slice(1);
          }

          /**
           * A utility function to clean up the OS name.
           *
           * @private
           * @param {string} os The OS name to clean up.
           * @param {string} [pattern] A `RegExp` pattern matching the OS name.
           * @param {string} [label] A label for the OS.
           */
          function cleanupOS(os, pattern, label) {
            // Platform tokens are defined at:
            // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
            // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
            var data = {
              '10.0': '10',
              '6.4': '10 Technical Preview',
              '6.3': '8.1',
              '6.2': '8',
              '6.1': 'Server 2008 R2 / 7',
              '6.0': 'Server 2008 / Vista',
              '5.2': 'Server 2003 / XP 64-bit',
              '5.1': 'XP',
              '5.01': '2000 SP1',
              '5.0': '2000',
              '4.0': 'NT',
              '4.90': 'ME'
            };
            // Detect Windows version from platform tokens.
            if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&
              (data = data[/[\d.]+$/.exec(os)])) {
              os = 'Windows ' + data;
            }
            // Correct character case and cleanup string.
            os = String(os);

            if (pattern && label) {
              os = os.replace(RegExp(pattern, 'i'), label);
            }

            os = format(
              os.replace(/ ce$/i, ' CE')
                .replace(/\bhpw/i, 'web')
                .replace(/\bMacintosh\b/, 'Mac OS')
                .replace(/_PowerPC\b/i, ' OS')
                .replace(/\b(OS X) [^ \d]+/i, '$1')
                .replace(/\bMac (OS X)\b/, '$1')
                .replace(/\/(\d)/, ' $1')
                .replace(/_/g, '.')
                .replace(/(?: BePC|[ .]*fc[ \d.]+)$/i, '')
                .replace(/\bx86\.64\b/gi, 'x86_64')
                .replace(/\b(Windows Phone) OS\b/, '$1')
                .replace(/\b(Chrome OS \w+) [\d.]+\b/, '$1')
                .split(' on ')[0]
            );

            return os;
          }

          /**
           * An iteration utility for arrays and objects.
           *
           * @private
           * @param {Array|Object} object The object to iterate over.
           * @param {Function} callback The function called per iteration.
           */
          function each(object, callback) {
            var index = -1,
              length = object ? object.length : 0;

            if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {
              while (++index < length) {
                callback(object[index], index, object);
              }
            } else {
              forOwn(object, callback);
            }
          }

          /**
           * Trim and conditionally capitalize string values.
           *
           * @private
           * @param {string} string The string to format.
           * @returns {string} The formatted string.
           */
          function format(string) {
            string = trim(string);
            return /^(?:webOS|i(?:OS|P))/.test(string)
              ? string
              : capitalize(string);
          }

          /**
           * Iterates over an object's own properties, executing the `callback` for each.
           *
           * @private
           * @param {Object} object The object to iterate over.
           * @param {Function} callback The function executed per own property.
           */
          function forOwn(object, callback) {
            for (var key in object) {
              if (hasOwnProperty.call(object, key)) {
                callback(object[key], key, object);
              }
            }
          }

          /**
           * Gets the internal `[[Class]]` of a value.
           *
           * @private
           * @param {*} value The value.
           * @returns {string} The `[[Class]]`.
           */
          function getClassOf(value) {
            return value == null
              ? capitalize(value)
              : toString.call(value).slice(8, -1);
          }

          /**
           * Host objects can return type values that are different from their actual
           * data type. The objects we are concerned with usually return non-primitive
           * types of "object", "function", or "unknown".
           *
           * @private
           * @param {*} object The owner of the property.
           * @param {string} property The property to check.
           * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.
           */
          function isHostType(object, property) {
            var type = object != null ? typeof object[property] : 'number';
            return !/^(?:boolean|number|string|undefined)$/.test(type) &&
              (type == 'object' ? !!object[property] : true);
          }

          /**
           * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.
           *
           * @private
           * @param {string} string The string to qualify.
           * @returns {string} The qualified string.
           */
          function qualify(string) {
            return String(string).replace(/([ -])(?!$)/g, '$1?');
          }

          /**
           * A bare-bones `Array#reduce` like utility function.
           *
           * @private
           * @param {Array} array The array to iterate over.
           * @param {Function} callback The function called per iteration.
           * @returns {*} The accumulated result.
           */
          function reduce(array, callback) {
            var accumulator = null;
            each(array, function (value, index) {
              accumulator = callback(accumulator, value, index, array);
            });
            return accumulator;
          }

          /**
           * Removes leading and trailing whitespace from a string.
           *
           * @private
           * @param {string} string The string to trim.
           * @returns {string} The trimmed string.
           */
          function trim(string) {
            return String(string).replace(/^ +| +$/g, '');
          }

          /*--------------------------------------------------------------------------*/

          /**
           * Creates a new platform object.
           *
           * @memberOf platform
           * @param {Object|string} [ua=navigator.userAgent] The user agent string or
           *  context object.
           * @returns {Object} A platform object.
           */
          function parse(ua) {

            /** The environment context object. */
            var context = root;

            /** Used to flag when a custom context is provided. */
            var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';

            // Juggle arguments.
            if (isCustomContext) {
              context = ua;
              ua = null;
            }

            /** Browser navigator object. */
            var nav = context.navigator || {};

            /** Browser user agent string. */
            var userAgent = nav.userAgent || '';

            ua || (ua = userAgent);

            /** Used to flag when `thisBinding` is the [ModuleScope]. */
            var isModuleScope = isCustomContext || thisBinding == oldRoot;

            /** Used to detect if browser is like Chrome. */
            var likeChrome = isCustomContext
              ? !!nav.likeChrome
              : /\bChrome\b/.test(ua) && !/internal|\n/i.test(toString.toString());

            /** Internal `[[Class]]` value shortcuts. */
            var objectClass = 'Object',
              airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',
              enviroClass = isCustomContext ? objectClass : 'Environment',
              javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),
              phantomClass = isCustomContext ? objectClass : 'RuntimeObject';

            /** Detect Java environments. */
            var java = /\bJava/.test(javaClass) && context.java;

            /** Detect Rhino. */
            var rhino = java && getClassOf(context.environment) == enviroClass;

            /** A character to represent alpha. */
            var alpha = java ? 'a' : '\u03b1';

            /** A character to represent beta. */
            var beta = java ? 'b' : '\u03b2';

            /** Browser document object. */
            var doc = context.document || {};

            /**
             * Detect Opera browser (Presto-based).
             * http://www.howtocreate.co.uk/operaStuff/operaObject.html
             * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini
             */
            var opera = context.operamini || context.opera;

            /** Opera `[[Class]]`. */
            var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))
              ? operaClass
              : (opera = null);

            /*------------------------------------------------------------------------*/

            /** Temporary variable used over the script's lifetime. */
            var data;

            /** The CPU architecture. */
            var arch = ua;

            /** Platform description array. */
            var description = [];

            /** Platform alpha/beta indicator. */
            var prerelease = null;

            /** A flag to indicate that environment features should be used to resolve the platform. */
            var useFeatures = ua == userAgent;

            /** The browser/environment version. */
            var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();

            /** A flag to indicate if the OS ends with "/ Version" */
            var isSpecialCasedOS;

            /* Detectable layout engines (order is important). */
            var layout = getLayout([
              { 'label': 'EdgeHTML', 'pattern': 'Edge' },
              'Trident',
              { 'label': 'WebKit', 'pattern': 'AppleWebKit' },
              'iCab',
              'Presto',
              'NetFront',
              'Tasman',
              'KHTML',
              'Gecko'
            ]);

            /* Detectable browser names (order is important). */
            var name = getName([
              'Adobe AIR',
              'Arora',
              'Avant Browser',
              'Breach',
              'Camino',
              'Electron',
              'Epiphany',
              'Fennec',
              'Flock',
              'Galeon',
              'GreenBrowser',
              'iCab',
              'Iceweasel',
              'K-Meleon',
              'Konqueror',
              'Lunascape',
              'Maxthon',
              { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },
              'Midori',
              'Nook Browser',
              'PaleMoon',
              'PhantomJS',
              'Raven',
              'Rekonq',
              'RockMelt',
              { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },
              'SeaMonkey',
              { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },
              'Sleipnir',
              'SlimBrowser',
              { 'label': 'SRWare Iron', 'pattern': 'Iron' },
              'Sunrise',
              'Swiftfox',
              'Vivaldi',
              'Waterfox',
              'WebPositive',
              { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },
              { 'label': 'UC Browser', 'pattern': 'UCBrowser' },
              'Opera Mini',
              { 'label': 'Opera Mini', 'pattern': 'OPiOS' },
              'Opera',
              { 'label': 'Opera', 'pattern': 'OPR' },
              'Chromium',
              'Chrome',
              { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },
              { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },
              { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },
              { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },
              { 'label': 'IE', 'pattern': 'IEMobile' },
              { 'label': 'IE', 'pattern': 'MSIE' },
              'Safari'
            ]);

            /* Detectable products (order is important). */
            var product = getProduct([
              { 'label': 'BlackBerry', 'pattern': 'BB10' },
              'BlackBerry',
              { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },
              { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },
              { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },
              { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },
              { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },
              { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },
              { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },
              { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },
              { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },
              'Google TV',
              'Lumia',
              'iPad',
              'iPod',
              'iPhone',
              'Kindle',
              { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },
              'Nexus',
              'Nook',
              'PlayBook',
              'PlayStation Vita',
              'PlayStation',
              'TouchPad',
              'Transformer',
              { 'label': 'Wii U', 'pattern': 'WiiU' },
              'Wii',
              'Xbox One',
              { 'label': 'Xbox 360', 'pattern': 'Xbox' },
              'Xoom'
            ]);

            /* Detectable manufacturers. */
            var manufacturer = getManufacturer({
              'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },
              'Alcatel': {},
              'Archos': {},
              'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },
              'Asus': { 'Transformer': 1 },
              'Barnes & Noble': { 'Nook': 1 },
              'BlackBerry': { 'PlayBook': 1 },
              'Google': { 'Google TV': 1, 'Nexus': 1 },
              'HP': { 'TouchPad': 1 },
              'HTC': {},
              'Huawei': {},
              'Lenovo': {},
              'LG': {},
              'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },
              'Motorola': { 'Xoom': 1 },
              'Nintendo': { 'Wii U': 1, 'Wii': 1 },
              'Nokia': { 'Lumia': 1 },
              'Oppo': {},
              'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },
              'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },
              'Xiaomi': { 'Mi': 1, 'Redmi': 1 }
            });

            /* Detectable operating systems (order is important). */
            var os = getOS([
              'Windows Phone',
              'KaiOS',
              'Android',
              'CentOS',
              { 'label': 'Chrome OS', 'pattern': 'CrOS' },
              'Debian',
              { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },
              'Fedora',
              'FreeBSD',
              'Gentoo',
              'Haiku',
              'Kubuntu',
              'Linux Mint',
              'OpenBSD',
              'Red Hat',
              'SuSE',
              'Ubuntu',
              'Xubuntu',
              'Cygwin',
              'Symbian OS',
              'hpwOS',
              'webOS ',
              'webOS',
              'Tablet OS',
              'Tizen',
              'Linux',
              'Mac OS X',
              'Macintosh',
              'Mac',
              'Windows 98;',
              'Windows '
            ]);

            /*------------------------------------------------------------------------*/

            /**
             * Picks the layout engine from an array of guesses.
             *
             * @private
             * @param {Array} guesses An array of guesses.
             * @returns {null|string} The detected layout engine.
             */
            function getLayout(guesses) {
              return reduce(guesses, function (result, guess) {
                return result || RegExp('\\b' + (
                  guess.pattern || qualify(guess)
                ) + '\\b', 'i').exec(ua) && (guess.label || guess);
              });
            }

            /**
             * Picks the manufacturer from an array of guesses.
             *
             * @private
             * @param {Array} guesses An object of guesses.
             * @returns {null|string} The detected manufacturer.
             */
            function getManufacturer(guesses) {
              return reduce(guesses, function (result, value, key) {
                // Lookup the manufacturer by product or scan the UA for the manufacturer.
                return result || (
                  value[product] ||
                  value[/^[a-z]+(?: +[a-z]+\b)*/i.exec(product)] ||
                  RegExp('\\b' + qualify(key) + '(?:\\b|\\w*\\d)', 'i').exec(ua)
                ) && key;
              });
            }

            /**
             * Picks the browser name from an array of guesses.
             *
             * @private
             * @param {Array} guesses An array of guesses.
             * @returns {null|string} The detected browser name.
             */
            function getName(guesses) {
              return reduce(guesses, function (result, guess) {
                return result || RegExp('\\b' + (
                  guess.pattern || qualify(guess)
                ) + '\\b', 'i').exec(ua) && (guess.label || guess);
              });
            }

            /**
             * Picks the OS name from an array of guesses.
             *
             * @private
             * @param {Array} guesses An array of guesses.
             * @returns {null|string} The detected OS name.
             */
            function getOS(guesses) {
              return reduce(guesses, function (result, guess) {
                var pattern = guess.pattern || qualify(guess);
                if (!result && (result =
                  RegExp('\\b' + pattern + '(?:/[\\d.]+|[ \\w.]*)', 'i').exec(ua)
                )) {
                  result = cleanupOS(result, pattern, guess.label || guess);
                }
                return result;
              });
            }

            /**
             * Picks the product name from an array of guesses.
             *
             * @private
             * @param {Array} guesses An array of guesses.
             * @returns {null|string} The detected product name.
             */
            function getProduct(guesses) {
              return reduce(guesses, function (result, guess) {
                var pattern = guess.pattern || qualify(guess);
                if (!result && (result =
                  RegExp('\\b' + pattern + ' *\\d+[.\\w_]*', 'i').exec(ua) ||
                  RegExp('\\b' + pattern + ' *\\w+-[\\w]*', 'i').exec(ua) ||
                  RegExp('\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i').exec(ua)
                )) {
                  // Split by forward slash and append product version if needed.
                  if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\d.]+/.test(result[0])) {
                    result[0] += ' ' + result[1];
                  }
                  // Correct character case and cleanup string.
                  guess = guess.label || guess;
                  result = format(result[0]
                    .replace(RegExp(pattern, 'i'), guess)
                    .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')
                    .replace(RegExp('(' + guess + ')[-_.]?(\\w)', 'i'), '$1 $2'));
                }
                return result;
              });
            }

            /**
             * Resolves the version using an array of UA patterns.
             *
             * @private
             * @param {Array} patterns An array of UA patterns.
             * @returns {null|string} The detected version.
             */
            function getVersion(patterns) {
              return reduce(patterns, function (result, pattern) {
                return result || (RegExp(pattern +
                  '(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;
              });
            }

            /**
             * Returns `platform.description` when the platform object is coerced to a string.
             *
             * @name toString
             * @memberOf platform
             * @returns {string} Returns `platform.description` if available, else an empty string.
             */
            function toStringPlatform() {
              return this.description || '';
            }

            /*------------------------------------------------------------------------*/

            // Convert layout to an array so we can add extra details.
            layout && (layout = [layout]);

            // Detect Android products.
            // Browsers on Android devices typically provide their product IDS after "Android;"
            // up to "Build" or ") AppleWebKit".
            // Example:
            // "Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36
            // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36"
            if (/\bAndroid\b/.test(os) && !product &&
              (data = /\bAndroid[^;]*;(.*?)(?:Build|\) AppleWebKit)\b/i.exec(ua))) {
              product = trim(data[1])
                // Replace any language codes (eg. "en-US").
                .replace(/^[a-z]{2}-[a-z]{2};\s*/i, '')
                || null;
            }
            // Detect product names that contain their manufacturer's name.
            if (manufacturer && !product) {
              product = getProduct([manufacturer]);
            } else if (manufacturer && product) {
              product = product
                .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\s]', 'i'), manufacturer + ' ')
                .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\w)', 'i'), manufacturer + ' $2');
            }
            // Clean up Google TV.
            if ((data = /\bGoogle TV\b/.exec(product))) {
              product = data[0];
            }
            // Detect simulators.
            if (/\bSimulator\b/i.test(ua)) {
              product = (product ? product + ' ' : '') + 'Simulator';
            }
            // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.
            if (name == 'Opera Mini' && /\bOPiOS\b/.test(ua)) {
              description.push('running in Turbo/Uncompressed mode');
            }
            // Detect IE Mobile 11.
            if (name == 'IE' && /\blike iPhone OS\b/.test(ua)) {
              data = parse(ua.replace(/like iPhone OS/, ''));
              manufacturer = data.manufacturer;
              product = data.product;
            }
            // Detect iOS.
            else if (/^iP/.test(product)) {
              name || (name = 'Safari');
              os = 'iOS' + ((data = / OS ([\d_]+)/i.exec(ua))
                ? ' ' + data[1].replace(/_/g, '.')
                : '');
            }
            // Detect Kubuntu.
            else if (name == 'Konqueror' && /^Linux\b/i.test(os)) {
              os = 'Kubuntu';
            }
            // Detect Android browsers.
            else if ((manufacturer && manufacturer != 'Google' &&
              ((/Chrome/.test(name) && !/\bMobile Safari\b/i.test(ua)) || /\bVita\b/.test(product))) ||
              (/\bAndroid\b/.test(os) && /^Chrome/.test(name) && /\bVersion\//i.test(ua))) {
              name = 'Android Browser';
              os = /\bAndroid\b/.test(os) ? os : 'Android';
            }
            // Detect Silk desktop/accelerated modes.
            else if (name == 'Silk') {
              if (!/\bMobi/i.test(ua)) {
                os = 'Android';
                description.unshift('desktop mode');
              }
              if (/Accelerated *= *true/i.test(ua)) {
                description.unshift('accelerated');
              }
            }
            // Detect UC Browser speed mode.
            else if (name == 'UC Browser' && /\bUCWEB\b/.test(ua)) {
              description.push('speed mode');
            }
            // Detect PaleMoon identifying as Firefox.
            else if (name == 'PaleMoon' && (data = /\bFirefox\/([\d.]+)\b/.exec(ua))) {
              description.push('identifying as Firefox ' + data[1]);
            }
            // Detect Firefox OS and products running Firefox.
            else if (name == 'Firefox' && (data = /\b(Mobile|Tablet|TV)\b/i.exec(ua))) {
              os || (os = 'Firefox OS');
              product || (product = data[1]);
            }
            // Detect false positives for Firefox/Safari.
            else if (!name || (data = !/\bMinefield\b/i.test(ua) && /\b(?:Firefox|Safari)\b/.exec(name))) {
              // Escape the `/` for Firefox 1.
              if (name && !product && /[\/,]|^[^(]+?\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {
                // Clear name of false positives.
                name = null;
              }
              // Reassign a generic name.
              if ((data = product || manufacturer || os) &&
                (product || manufacturer || /\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(os))) {
                name = /[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(os) ? os : data) + ' Browser';
              }
            }
            // Add Chrome version to description for Electron.
            else if (name == 'Electron' && (data = (/\bChrome\/([\d.]+)\b/.exec(ua) || 0)[1])) {
              description.push('Chromium ' + data);
            }
            // Detect non-Opera (Presto-based) versions (order is important).
            if (!version) {
              version = getVersion([
                '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$)|UCBrowser|YaBrowser)',
                'Version',
                qualify(name),
                '(?:Firefox|Minefield|NetFront)'
              ]);
            }
            // Detect stubborn layout engines.
            if ((data =
              layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||
              /\bOpera\b/.test(name) && (/\bOPR\b/.test(ua) ? 'Blink' : 'Presto') ||
              /\b(?:Midori|Nook|Safari)\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||
              !layout && /\bMSIE\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||
              layout == 'WebKit' && /\bPlayStation\b(?! Vita\b)/i.test(name) && 'NetFront'
            )) {
              layout = [data];
            }
            // Detect Windows Phone 7 desktop mode.
            if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(ua) || 0)[1])) {
              name += ' Mobile';
              os = 'Windows Phone ' + (/\+$/.test(data) ? data : data + '.x');
              description.unshift('desktop mode');
            }
            // Detect Windows Phone 8.x desktop mode.
            else if (/\bWPDesktop\b/i.test(ua)) {
              name = 'IE Mobile';
              os = 'Windows Phone 8.x';
              description.unshift('desktop mode');
              version || (version = (/\brv:([\d.]+)/.exec(ua) || 0)[1]);
            }
            // Detect IE 11 identifying as other browsers.
            else if (name != 'IE' && layout == 'Trident' && (data = /\brv:([\d.]+)/.exec(ua))) {
              if (name) {
                description.push('identifying as ' + name + (version ? ' ' + version : ''));
              }
              name = 'IE';
              version = data[1];
            }
            // Leverage environment features.
            if (useFeatures) {
              // Detect server-side environments.
              // Rhino has a global function while others have a global object.
              if (isHostType(context, 'global')) {
                if (java) {
                  data = java.lang.System;
                  arch = data.getProperty('os.arch');
                  os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');
                }
                if (rhino) {
                  try {
                    version = context.require('ringo/engine').version.join('.');
                    name = 'RingoJS';
                  } catch (e) {
                    if ((data = context.system) && data.global.system == context.system) {
                      name = 'Narwhal';
                      os || (os = data[0].os || null);
                    }
                  }
                  if (!name) {
                    name = 'Rhino';
                  }
                }
                else if (
                  typeof context.process == 'object' && !context.process.browser &&
                  (data = context.process)
                ) {
                  if (typeof data.versions == 'object') {
                    if (typeof data.versions.electron == 'string') {
                      description.push('Node ' + data.versions.node);
                      name = 'Electron';
                      version = data.versions.electron;
                    } else if (typeof data.versions.nw == 'string') {
                      description.push('Chromium ' + version, 'Node ' + data.versions.node);
                      name = 'NW.js';
                      version = data.versions.nw;
                    }
                  }
                  if (!name) {
                    name = 'Node.js';
                    arch = data.arch;
                    os = data.platform;
                    version = /[\d.]+/.exec(data.version);
                    version = version ? version[0] : null;
                  }
                }
              }
              // Detect Adobe AIR.
              else if (getClassOf((data = context.runtime)) == airRuntimeClass) {
                name = 'Adobe AIR';
                os = data.flash.system.Capabilities.os;
              }
              // Detect PhantomJS.
              else if (getClassOf((data = context.phantom)) == phantomClass) {
                name = 'PhantomJS';
                version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);
              }
              // Detect IE compatibility modes.
              else if (typeof doc.documentMode == 'number' && (data = /\bTrident\/(\d+)/i.exec(ua))) {
                // We're in compatibility mode when the Trident version + 4 doesn't
                // equal the document mode.
                version = [version, doc.documentMode];
                if ((data = +data[1] + 4) != version[1]) {
                  description.push('IE ' + version[1] + ' mode');
                  layout && (layout[1] = '');
                  version[1] = data;
                }
                version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];
              }
              // Detect IE 11 masking as other browsers.
              else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\b/.test(name)) {
                description.push('masking as ' + name + ' ' + version);
                name = 'IE';
                version = '11.0';
                layout = ['Trident'];
                os = 'Windows';
              }
              os = os && format(os);
            }
            // Detect prerelease phases.
            if (version && (data =
              /(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(version) ||
              /(?:alpha|beta)(?: ?\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||
              /\bMinefield\b/i.test(ua) && 'a'
            )) {
              prerelease = /b/i.test(data) ? 'beta' : 'alpha';
              version = version.replace(RegExp(data + '\\+?$'), '') +
                (prerelease == 'beta' ? beta : alpha) + (/\d+\+?/.exec(data) || '');
            }
            // Detect Firefox Mobile.
            if (name == 'Fennec' || name == 'Firefox' && /\b(?:Android|Firefox OS|KaiOS)\b/.test(os)) {
              name = 'Firefox Mobile';
            }
            // Obscure Maxthon's unreliable version.
            else if (name == 'Maxthon' && version) {
              version = version.replace(/\.[\d.]+/, '.x');
            }
            // Detect Xbox 360 and Xbox One.
            else if (/\bXbox\b/i.test(product)) {
              if (product == 'Xbox 360') {
                os = null;
              }
              if (product == 'Xbox 360' && /\bIEMobile\b/.test(ua)) {
                description.unshift('mobile mode');
              }
            }
            // Add mobile postfix.
            else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&
              (os == 'Windows CE' || /Mobi/i.test(ua))) {
              name += ' Mobile';
            }
            // Detect IE platform preview.
            else if (name == 'IE' && useFeatures) {
              try {
                if (context.external === null) {
                  description.unshift('platform preview');
                }
              } catch (e) {
                description.unshift('embedded');
              }
            }
            // Detect BlackBerry OS version.
            // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp
            else if ((/\bBlackBerry\b/.test(product) || /\bBB10\b/.test(ua)) && (data =
              (RegExp(product.replace(/ +/g, ' *') + '/([.\\d]+)', 'i').exec(ua) || 0)[1] ||
              version
            )) {
              data = [data, /BB10/.test(ua)];
              os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];
              version = null;
            }
            // Detect Opera identifying/masking itself as another browser.
            // http://www.opera.com/support/kb/view/843/
            else if (this != forOwn && product != 'Wii' && (
              (useFeatures && opera) ||
              (/Opera/.test(name) && /\b(?:MSIE|Firefox)\b/i.test(ua)) ||
              (name == 'Firefox' && /\bOS X (?:\d+\.){2,}/.test(os)) ||
              (name == 'IE' && (
                (os && !/^Win/.test(os) && version > 5.5) ||
                /\bWindows XP\b/.test(os) && version > 8 ||
                version == 8 && !/\bTrident\b/.test(ua)
              ))
            ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {
              // When "identifying", the UA contains both Opera and the other browser's name.
              data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');
              if (reOpera.test(name)) {
                if (/\bIE\b/.test(data) && os == 'Mac OS') {
                  os = null;
                }
                data = 'identify' + data;
              }
              // When "masking", the UA contains only the other browser's name.
              else {
                data = 'mask' + data;
                if (operaClass) {
                  name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));
                } else {
                  name = 'Opera';
                }
                if (/\bIE\b/.test(data)) {
                  os = null;
                }
                if (!useFeatures) {
                  version = null;
                }
              }
              layout = ['Presto'];
              description.push(data);
            }
            // Detect WebKit Nightly and approximate Chrome/Safari versions.
            if ((data = (/\bAppleWebKit\/([\d.]+\+?)/i.exec(ua) || 0)[1])) {
              // Correct build number for numeric comparison.
              // (e.g. "532.5" becomes "532.05")
              data = [parseFloat(data.replace(/\.(\d)$/, '.0$1')), data];
              // Nightly builds are postfixed with a "+".
              if (name == 'Safari' && data[1].slice(-1) == '+') {
                name = 'WebKit Nightly';
                prerelease = 'alpha';
                version = data[1].slice(0, -1);
              }
              // Clear incorrect browser versions.
              else if (version == data[1] ||
                version == (data[2] = (/\bSafari\/([\d.]+\+?)/i.exec(ua) || 0)[1])) {
                version = null;
              }
              // Use the full Chrome version when available.
              data[1] = (/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(ua) || 0)[1];
              // Detect Blink layout engine.
              if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {
                layout = ['Blink'];
              }
              // Detect JavaScriptCore.
              // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi
              if (!useFeatures || (!likeChrome && !data[1])) {
                layout && (layout[1] = 'like Safari');
                data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');
              } else {
                layout && (layout[1] = 'like Chrome');
                data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');
              }
              // Add the postfix of ".x" or "+" for approximate versions.
              layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));
              // Obscure version for some Safari 1-2 releases.
              if (name == 'Safari' && (!version || parseInt(version) > 45)) {
                version = data;
              } else if (name == 'Chrome' && /\bHeadlessChrome/i.test(ua)) {
                description.unshift('headless');
              }
            }
            // Detect Opera desktop modes.
            if (name == 'Opera' && (data = /\bzbov|zvav$/.exec(os))) {
              name += ' ';
              description.unshift('desktop mode');
              if (data == 'zvav') {
                name += 'Mini';
                version = null;
              } else {
                name += 'Mobile';
              }
              os = os.replace(RegExp(' *' + data + '$'), '');
            }
            // Detect Chrome desktop mode.
            else if (name == 'Safari' && /\bChrome\b/.exec(layout && layout[1])) {
              description.unshift('desktop mode');
              name = 'Chrome Mobile';
              version = null;

              if (/\bOS X\b/.test(os)) {
                manufacturer = 'Apple';
                os = 'iOS 4.3+';
              } else {
                os = null;
              }
            }
            // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.
            else if (/\bSRWare Iron\b/.test(name) && !version) {
              version = getVersion('Chrome');
            }
            // Strip incorrect OS versions.
            if (version && version.indexOf((data = /[\d.]+$/.exec(os))) == 0 &&
              ua.indexOf('/' + data + '-') > -1) {
              os = trim(os.replace(data, ''));
            }
            // Ensure OS does not include the browser name.
            if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {
              os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');
            }
            // Add layout engine.
            if (layout && !/\b(?:Avant|Nook)\b/.test(name) && (
              /Browser|Lunascape|Maxthon/.test(name) ||
              name != 'Safari' && /^iOS/.test(os) && /\bSafari\b/.test(layout[1]) ||
              /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {
              // Don't add layout details to description if they are falsey.
              (data = layout[layout.length - 1]) && description.push(data);
            }
            // Combine contextual information.
            if (description.length) {
              description = ['(' + description.join('; ') + ')'];
            }
            // Append manufacturer to description.
            if (manufacturer && product && product.indexOf(manufacturer) < 0) {
              description.push('on ' + manufacturer);
            }
            // Append product to description.
            if (product) {
              description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);
            }
            // Parse the OS into an object.
            if (os) {
              data = / ([\d.+]+)$/.exec(os);
              isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';
              os = {
                'architecture': 32,
                'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,
                'version': data ? data[1] : null,
                'toString': function () {
                  var version = this.version;
                  return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');
                }
              };
            }
            // Add browser/OS architecture.
            if ((data = /\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(arch)) && !/\bi686\b/i.test(arch)) {
              if (os) {
                os.architecture = 64;
                os.family = os.family.replace(RegExp(' *' + data), '');
              }
              if (
                name && (/\bWOW64\b/i.test(ua) ||
                  (useFeatures && /\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\bWin64; x64\b/i.test(ua)))
              ) {
                description.unshift('32-bit');
              }
            }
            // Chrome 39 and above on OS X is always 64-bit.
            else if (
              os && /^OS X/.test(os.family) &&
              name == 'Chrome' && parseFloat(version) >= 39
            ) {
              os.architecture = 64;
            }

            ua || (ua = null);

            /*------------------------------------------------------------------------*/

            /**
             * The platform object.
             *
             * @name platform
             * @type Object
             */
            var platform = {};

            /**
             * The platform description.
             *
             * @memberOf platform
             * @type string|null
             */
            platform.description = ua;

            /**
             * The name of the browser's layout engine.
             *
             * The list of common layout engines include:
             * "Blink", "EdgeHTML", "Gecko", "Trident" and "WebKit"
             *
             * @memberOf platform
             * @type string|null
             */
            platform.layout = layout && layout[0];

            /**
             * The name of the product's manufacturer.
             *
             * The list of manufacturers include:
             * "Apple", "Archos", "Amazon", "Asus", "Barnes & Noble", "BlackBerry",
             * "Google", "HP", "HTC", "LG", "Microsoft", "Motorola", "Nintendo",
             * "Nokia", "Samsung" and "Sony"
             *
             * @memberOf platform
             * @type string|null
             */
            platform.manufacturer = manufacturer;

            /**
             * The name of the browser/environment.
             *
             * The list of common browser names include:
             * "Chrome", "Electron", "Firefox", "Firefox for iOS", "IE",
             * "Microsoft Edge", "PhantomJS", "Safari", "SeaMonkey", "Silk",
             * "Opera Mini" and "Opera"
             *
             * Mobile versions of some browsers have "Mobile" appended to their name:
             * eg. "Chrome Mobile", "Firefox Mobile", "IE Mobile" and "Opera Mobile"
             *
             * @memberOf platform
             * @type string|null
             */
            platform.name = name;

            /**
             * The alpha/beta release indicator.
             *
             * @memberOf platform
             * @type string|null
             */
            platform.prerelease = prerelease;

            /**
             * The name of the product hosting the browser.
             *
             * The list of common products include:
             *
             * "BlackBerry", "Galaxy S4", "Lumia", "iPad", "iPod", "iPhone", "Kindle",
             * "Kindle Fire", "Nexus", "Nook", "PlayBook", "TouchPad" and "Transformer"
             *
             * @memberOf platform
             * @type string|null
             */
            platform.product = product;

            /**
             * The browser's user agent string.
             *
             * @memberOf platform
             * @type string|null
             */
            platform.ua = ua;

            /**
             * The browser/environment version.
             *
             * @memberOf platform
             * @type string|null
             */
            platform.version = name && version;

            /**
             * The name of the operating system.
             *
             * @memberOf platform
             * @type Object
             */
            platform.os = os || {

              /**
               * The CPU architecture the OS is built for.
               *
               * @memberOf platform.os
               * @type number|null
               */
              'architecture': null,

              /**
               * The family of the OS.
               *
               * Common values include:
               * "Windows", "Windows Server 2008 R2 / 7", "Windows Server 2008 / Vista",
               * "Windows XP", "OS X", "Linux", "Ubuntu", "Debian", "Fedora", "Red Hat",
               * "SuSE", "Android", "iOS" and "Windows Phone"
               *
               * @memberOf platform.os
               * @type string|null
               */
              'family': null,

              /**
               * The version of the OS.
               *
               * @memberOf platform.os
               * @type string|null
               */
              'version': null,

              /**
               * Returns the OS string.
               *
               * @memberOf platform.os
               * @returns {string} The OS string.
               */
              'toString': function () { return 'null'; }
            };

            platform.parse = parse;
            platform.toString = toStringPlatform;

            if (platform.version) {
              description.unshift(version);
            }
            if (platform.name) {
              description.unshift(name);
            }
            if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {
              description.push(product ? '(' + os + ')' : 'on ' + os);
            }
            if (description.length) {
              platform.description = description.join(' ');
            }
            return platform;
          }

          /*--------------------------------------------------------------------------*/

          // Export platform.
          var platform = parse();

          // Some AMD build optimizers, like r.js, check for condition patterns like the following:
          if (true) {
            // Expose platform on the global object to prevent errors when platform is
            // loaded by a script tag in the presence of an AMD loader.
            // See http://requirejs.org/docs/errors.html#mismatch for more details.
            root.platform = platform;

            // Define as an anonymous module so platform can be aliased through path mapping.
            !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
              return platform;
            }).call(exports, __webpack_require__, exports, module),
              __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
          }
          // Check for `exports` after `define` in case a build optimizer adds an `exports` object.
          else { }
        }.call(this));


        /***/
}),

/***/ 5666:
/***/ ((module) => {

        /**
         * Copyright (c) 2014-present, Facebook, Inc.
         *
         * This source code is licensed under the MIT license found in the
         * LICENSE file in the root directory of this source tree.
         */

        var runtime = (function (exports) {
          "use strict";

          var Op = Object.prototype;
          var hasOwn = Op.hasOwnProperty;
          var undefined; // More compressible than void 0.
          var $Symbol = typeof Symbol === "function" ? Symbol : {};
          var iteratorSymbol = $Symbol.iterator || "@@iterator";
          var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
          var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";

          function define(obj, key, value) {
            Object.defineProperty(obj, key, {
              value: value,
              enumerable: true,
              configurable: true,
              writable: true
            });
            return obj[key];
          }
          try {
            // IE 8 has a broken Object.defineProperty that only works on DOM objects.
            define({}, "");
          } catch (err) {
            define = function (obj, key, value) {
              return obj[key] = value;
            };
          }

          function wrap(innerFn, outerFn, self, tryLocsList) {
            // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
            var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
            var generator = Object.create(protoGenerator.prototype);
            var context = new Context(tryLocsList || []);

            // The ._invoke method unifies the implementations of the .next,
            // .throw, and .return methods.
            generator._invoke = makeInvokeMethod(innerFn, self, context);

            return generator;
          }
          exports.wrap = wrap;

          // Try/catch helper to minimize deoptimizations. Returns a completion
          // record like context.tryEntries[i].completion. This interface could
          // have been (and was previously) designed to take a closure to be
          // invoked without arguments, but in all the cases we care about we
          // already have an existing method we want to call, so there's no need
          // to create a new function object. We can even get away with assuming
          // the method takes exactly one argument, since that happens to be true
          // in every case, so we don't have to touch the arguments object. The
          // only additional allocation required is the completion record, which
          // has a stable shape and so hopefully should be cheap to allocate.
          function tryCatch(fn, obj, arg) {
            try {
              return { type: "normal", arg: fn.call(obj, arg) };
            } catch (err) {
              return { type: "throw", arg: err };
            }
          }

          var GenStateSuspendedStart = "suspendedStart";
          var GenStateSuspendedYield = "suspendedYield";
          var GenStateExecuting = "executing";
          var GenStateCompleted = "completed";

          // Returning this object from the innerFn has the same effect as
          // breaking out of the dispatch switch statement.
          var ContinueSentinel = {};

          // Dummy constructor functions that we use as the .constructor and
          // .constructor.prototype properties for functions that return Generator
          // objects. For full spec compliance, you may wish to configure your
          // minifier not to mangle the names of these two functions.
          function Generator() { }
          function GeneratorFunction() { }
          function GeneratorFunctionPrototype() { }

          // This is a polyfill for %IteratorPrototype% for environments that
          // don't natively support it.
          var IteratorPrototype = {};
          define(IteratorPrototype, iteratorSymbol, function () {
            return this;
          });

          var getProto = Object.getPrototypeOf;
          var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
          if (NativeIteratorPrototype &&
            NativeIteratorPrototype !== Op &&
            hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
            // This environment has a native %IteratorPrototype%; use it instead
            // of the polyfill.
            IteratorPrototype = NativeIteratorPrototype;
          }

          var Gp = GeneratorFunctionPrototype.prototype =
            Generator.prototype = Object.create(IteratorPrototype);
          GeneratorFunction.prototype = GeneratorFunctionPrototype;
          define(Gp, "constructor", GeneratorFunctionPrototype);
          define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
          GeneratorFunction.displayName = define(
            GeneratorFunctionPrototype,
            toStringTagSymbol,
            "GeneratorFunction"
          );

          // Helper for defining the .next, .throw, and .return methods of the
          // Iterator interface in terms of a single ._invoke method.
          function defineIteratorMethods(prototype) {
            ["next", "throw", "return"].forEach(function (method) {
              define(prototype, method, function (arg) {
                return this._invoke(method, arg);
              });
            });
          }

          exports.isGeneratorFunction = function (genFun) {
            var ctor = typeof genFun === "function" && genFun.constructor;
            return ctor
              ? ctor === GeneratorFunction ||
              // For the native GeneratorFunction constructor, the best we can
              // do is to check its .name property.
              (ctor.displayName || ctor.name) === "GeneratorFunction"
              : false;
          };

          exports.mark = function (genFun) {
            if (Object.setPrototypeOf) {
              Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
            } else {
              genFun.__proto__ = GeneratorFunctionPrototype;
              define(genFun, toStringTagSymbol, "GeneratorFunction");
            }
            genFun.prototype = Object.create(Gp);
            return genFun;
          };

          // Within the body of any async function, `await x` is transformed to
          // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
          // `hasOwn.call(value, "__await")` to determine if the yielded value is
          // meant to be awaited.
          exports.awrap = function (arg) {
            return { __await: arg };
          };

          function AsyncIterator(generator, PromiseImpl) {
            function invoke(method, arg, resolve, reject) {
              var record = tryCatch(generator[method], generator, arg);
              if (record.type === "throw") {
                reject(record.arg);
              } else {
                var result = record.arg;
                var value = result.value;
                if (value &&
                  typeof value === "object" &&
                  hasOwn.call(value, "__await")) {
                  return PromiseImpl.resolve(value.__await).then(function (value) {
                    invoke("next", value, resolve, reject);
                  }, function (err) {
                    invoke("throw", err, resolve, reject);
                  });
                }

                return PromiseImpl.resolve(value).then(function (unwrapped) {
                  // When a yielded Promise is resolved, its final value becomes
                  // the .value of the Promise<{value,done}> result for the
                  // current iteration.
                  result.value = unwrapped;
                  resolve(result);
                }, function (error) {
                  // If a rejected Promise was yielded, throw the rejection back
                  // into the async generator function so it can be handled there.
                  return invoke("throw", error, resolve, reject);
                });
              }
            }

            var previousPromise;

            function enqueue(method, arg) {
              function callInvokeWithMethodAndArg() {
                return new PromiseImpl(function (resolve, reject) {
                  invoke(method, arg, resolve, reject);
                });
              }

              return previousPromise =
                // If enqueue has been called before, then we want to wait until
                // all previous Promises have been resolved before calling invoke,
                // so that results are always delivered in the correct order. If
                // enqueue has not been called before, then it is important to
                // call invoke immediately, without waiting on a callback to fire,
                // so that the async generator function has the opportunity to do
                // any necessary setup in a predictable way. This predictability
                // is why the Promise constructor synchronously invokes its
                // executor callback, and why async functions synchronously
                // execute code before the first await. Since we implement simple
                // async functions in terms of async generators, it is especially
                // important to get this right, even though it requires care.
                previousPromise ? previousPromise.then(
                  callInvokeWithMethodAndArg,
                  // Avoid propagating failures to Promises returned by later
                  // invocations of the iterator.
                  callInvokeWithMethodAndArg
                ) : callInvokeWithMethodAndArg();
            }

            // Define the unified helper method that is used to implement .next,
            // .throw, and .return (see defineIteratorMethods).
            this._invoke = enqueue;
          }

          defineIteratorMethods(AsyncIterator.prototype);
          define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
            return this;
          });
          exports.AsyncIterator = AsyncIterator;

          // Note that simple async functions are implemented on top of
          // AsyncIterator objects; they just return a Promise for the value of
          // the final result produced by the iterator.
          exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
            if (PromiseImpl === void 0) PromiseImpl = Promise;

            var iter = new AsyncIterator(
              wrap(innerFn, outerFn, self, tryLocsList),
              PromiseImpl
            );

            return exports.isGeneratorFunction(outerFn)
              ? iter // If outerFn is a generator, return the full iterator.
              : iter.next().then(function (result) {
                return result.done ? result.value : iter.next();
              });
          };

          function makeInvokeMethod(innerFn, self, context) {
            var state = GenStateSuspendedStart;

            return function invoke(method, arg) {
              if (state === GenStateExecuting) {
                throw new Error("Generator is already running");
              }

              if (state === GenStateCompleted) {
                if (method === "throw") {
                  throw arg;
                }

                // Be forgiving, per 25.3.3.3.3 of the spec:
                // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
                return doneResult();
              }

              context.method = method;
              context.arg = arg;

              while (true) {
                var delegate = context.delegate;
                if (delegate) {
                  var delegateResult = maybeInvokeDelegate(delegate, context);
                  if (delegateResult) {
                    if (delegateResult === ContinueSentinel) continue;
                    return delegateResult;
                  }
                }

                if (context.method === "next") {
                  // Setting context._sent for legacy support of Babel's
                  // function.sent implementation.
                  context.sent = context._sent = context.arg;

                } else if (context.method === "throw") {
                  if (state === GenStateSuspendedStart) {
                    state = GenStateCompleted;
                    throw context.arg;
                  }

                  context.dispatchException(context.arg);

                } else if (context.method === "return") {
                  context.abrupt("return", context.arg);
                }

                state = GenStateExecuting;

                var record = tryCatch(innerFn, self, context);
                if (record.type === "normal") {
                  // If an exception is thrown from innerFn, we leave state ===
                  // GenStateExecuting and loop back for another invocation.
                  state = context.done
                    ? GenStateCompleted
                    : GenStateSuspendedYield;

                  if (record.arg === ContinueSentinel) {
                    continue;
                  }

                  return {
                    value: record.arg,
                    done: context.done
                  };

                } else if (record.type === "throw") {
                  state = GenStateCompleted;
                  // Dispatch the exception by looping back around to the
                  // context.dispatchException(context.arg) call above.
                  context.method = "throw";
                  context.arg = record.arg;
                }
              }
            };
          }

          // Call delegate.iterator[context.method](context.arg) and handle the
          // result, either by returning a { value, done } result from the
          // delegate iterator, or by modifying context.method and context.arg,
          // setting context.delegate to null, and returning the ContinueSentinel.
          function maybeInvokeDelegate(delegate, context) {
            var method = delegate.iterator[context.method];
            if (method === undefined) {
              // A .throw or .return when the delegate iterator has no .throw
              // method always terminates the yield* loop.
              context.delegate = null;

              if (context.method === "throw") {
                // Note: ["return"] must be used for ES3 parsing compatibility.
                if (delegate.iterator["return"]) {
                  // If the delegate iterator has a return method, give it a
                  // chance to clean up.
                  context.method = "return";
                  context.arg = undefined;
                  maybeInvokeDelegate(delegate, context);

                  if (context.method === "throw") {
                    // If maybeInvokeDelegate(context) changed context.method from
                    // "return" to "throw", let that override the TypeError below.
                    return ContinueSentinel;
                  }
                }

                context.method = "throw";
                context.arg = new TypeError(
                  "The iterator does not provide a 'throw' method");
              }

              return ContinueSentinel;
            }

            var record = tryCatch(method, delegate.iterator, context.arg);

            if (record.type === "throw") {
              context.method = "throw";
              context.arg = record.arg;
              context.delegate = null;
              return ContinueSentinel;
            }

            var info = record.arg;

            if (!info) {
              context.method = "throw";
              context.arg = new TypeError("iterator result is not an object");
              context.delegate = null;
              return ContinueSentinel;
            }

            if (info.done) {
              // Assign the result of the finished delegate to the temporary
              // variable specified by delegate.resultName (see delegateYield).
              context[delegate.resultName] = info.value;

              // Resume execution at the desired location (see delegateYield).
              context.next = delegate.nextLoc;

              // If context.method was "throw" but the delegate handled the
              // exception, let the outer generator proceed normally. If
              // context.method was "next", forget context.arg since it has been
              // "consumed" by the delegate iterator. If context.method was
              // "return", allow the original .return call to continue in the
              // outer generator.
              if (context.method !== "return") {
                context.method = "next";
                context.arg = undefined;
              }

            } else {
              // Re-yield the result returned by the delegate method.
              return info;
            }

            // The delegate iterator is finished, so forget it and continue with
            // the outer generator.
            context.delegate = null;
            return ContinueSentinel;
          }

          // Define Generator.prototype.{next,throw,return} in terms of the
          // unified ._invoke helper method.
          defineIteratorMethods(Gp);

          define(Gp, toStringTagSymbol, "Generator");

          // A Generator should always return itself as the iterator object when the
          // @@iterator function is called on it. Some browsers' implementations of the
          // iterator prototype chain incorrectly implement this, causing the Generator
          // object to not be returned from this call. This ensures that doesn't happen.
          // See https://github.com/facebook/regenerator/issues/274 for more details.
          define(Gp, iteratorSymbol, function () {
            return this;
          });

          define(Gp, "toString", function () {
            return "[object Generator]";
          });

          function pushTryEntry(locs) {
            var entry = { tryLoc: locs[0] };

            if (1 in locs) {
              entry.catchLoc = locs[1];
            }

            if (2 in locs) {
              entry.finallyLoc = locs[2];
              entry.afterLoc = locs[3];
            }

            this.tryEntries.push(entry);
          }

          function resetTryEntry(entry) {
            var record = entry.completion || {};
            record.type = "normal";
            delete record.arg;
            entry.completion = record;
          }

          function Context(tryLocsList) {
            // The root entry object (effectively a try statement without a catch
            // or a finally block) gives us a place to store values thrown from
            // locations where there is no enclosing try statement.
            this.tryEntries = [{ tryLoc: "root" }];
            tryLocsList.forEach(pushTryEntry, this);
            this.reset(true);
          }

          exports.keys = function (object) {
            var keys = [];
            for (var key in object) {
              keys.push(key);
            }
            keys.reverse();

            // Rather than returning an object with a next method, we keep
            // things simple and return the next function itself.
            return function next() {
              while (keys.length) {
                var key = keys.pop();
                if (key in object) {
                  next.value = key;
                  next.done = false;
                  return next;
                }
              }

              // To avoid creating an additional object, we just hang the .value
              // and .done properties off the next function object itself. This
              // also ensures that the minifier will not anonymize the function.
              next.done = true;
              return next;
            };
          };

          function values(iterable) {
            if (iterable) {
              var iteratorMethod = iterable[iteratorSymbol];
              if (iteratorMethod) {
                return iteratorMethod.call(iterable);
              }

              if (typeof iterable.next === "function") {
                return iterable;
              }

              if (!isNaN(iterable.length)) {
                var i = -1, next = function next() {
                  while (++i < iterable.length) {
                    if (hasOwn.call(iterable, i)) {
                      next.value = iterable[i];
                      next.done = false;
                      return next;
                    }
                  }

                  next.value = undefined;
                  next.done = true;

                  return next;
                };

                return next.next = next;
              }
            }

            // Return an iterator with no values.
            return { next: doneResult };
          }
          exports.values = values;

          function doneResult() {
            return { value: undefined, done: true };
          }

          Context.prototype = {
            constructor: Context,

            reset: function (skipTempReset) {
              this.prev = 0;
              this.next = 0;
              // Resetting context._sent for legacy support of Babel's
              // function.sent implementation.
              this.sent = this._sent = undefined;
              this.done = false;
              this.delegate = null;

              this.method = "next";
              this.arg = undefined;

              this.tryEntries.forEach(resetTryEntry);

              if (!skipTempReset) {
                for (var name in this) {
                  // Not sure about the optimal order of these conditions:
                  if (name.charAt(0) === "t" &&
                    hasOwn.call(this, name) &&
                    !isNaN(+name.slice(1))) {
                    this[name] = undefined;
                  }
                }
              }
            },

            stop: function () {
              this.done = true;

              var rootEntry = this.tryEntries[0];
              var rootRecord = rootEntry.completion;
              if (rootRecord.type === "throw") {
                throw rootRecord.arg;
              }

              return this.rval;
            },

            dispatchException: function (exception) {
              if (this.done) {
                throw exception;
              }

              var context = this;
              function handle(loc, caught) {
                record.type = "throw";
                record.arg = exception;
                context.next = loc;

                if (caught) {
                  // If the dispatched exception was caught by a catch block,
                  // then let that catch block handle the exception normally.
                  context.method = "next";
                  context.arg = undefined;
                }

                return !!caught;
              }

              for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                var entry = this.tryEntries[i];
                var record = entry.completion;

                if (entry.tryLoc === "root") {
                  // Exception thrown outside of any try block that could handle
                  // it, so set the completion value of the entire function to
                  // throw the exception.
                  return handle("end");
                }

                if (entry.tryLoc <= this.prev) {
                  var hasCatch = hasOwn.call(entry, "catchLoc");
                  var hasFinally = hasOwn.call(entry, "finallyLoc");

                  if (hasCatch && hasFinally) {
                    if (this.prev < entry.catchLoc) {
                      return handle(entry.catchLoc, true);
                    } else if (this.prev < entry.finallyLoc) {
                      return handle(entry.finallyLoc);
                    }

                  } else if (hasCatch) {
                    if (this.prev < entry.catchLoc) {
                      return handle(entry.catchLoc, true);
                    }

                  } else if (hasFinally) {
                    if (this.prev < entry.finallyLoc) {
                      return handle(entry.finallyLoc);
                    }

                  } else {
                    throw new Error("try statement without catch or finally");
                  }
                }
              }
            },

            abrupt: function (type, arg) {
              for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                var entry = this.tryEntries[i];
                if (entry.tryLoc <= this.prev &&
                  hasOwn.call(entry, "finallyLoc") &&
                  this.prev < entry.finallyLoc) {
                  var finallyEntry = entry;
                  break;
                }
              }

              if (finallyEntry &&
                (type === "break" ||
                  type === "continue") &&
                finallyEntry.tryLoc <= arg &&
                arg <= finallyEntry.finallyLoc) {
                // Ignore the finally entry if control is not jumping to a
                // location outside the try/catch block.
                finallyEntry = null;
              }

              var record = finallyEntry ? finallyEntry.completion : {};
              record.type = type;
              record.arg = arg;

              if (finallyEntry) {
                this.method = "next";
                this.next = finallyEntry.finallyLoc;
                return ContinueSentinel;
              }

              return this.complete(record);
            },

            complete: function (record, afterLoc) {
              if (record.type === "throw") {
                throw record.arg;
              }

              if (record.type === "break" ||
                record.type === "continue") {
                this.next = record.arg;
              } else if (record.type === "return") {
                this.rval = this.arg = record.arg;
                this.method = "return";
                this.next = "end";
              } else if (record.type === "normal" && afterLoc) {
                this.next = afterLoc;
              }

              return ContinueSentinel;
            },

            finish: function (finallyLoc) {
              for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                var entry = this.tryEntries[i];
                if (entry.finallyLoc === finallyLoc) {
                  this.complete(entry.completion, entry.afterLoc);
                  resetTryEntry(entry);
                  return ContinueSentinel;
                }
              }
            },

            "catch": function (tryLoc) {
              for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                var entry = this.tryEntries[i];
                if (entry.tryLoc === tryLoc) {
                  var record = entry.completion;
                  if (record.type === "throw") {
                    var thrown = record.arg;
                    resetTryEntry(entry);
                  }
                  return thrown;
                }
              }

              // The context.catch method must only be called with a location
              // argument that corresponds to a known catch block.
              throw new Error("illegal catch attempt");
            },

            delegateYield: function (iterable, resultName, nextLoc) {
              this.delegate = {
                iterator: values(iterable),
                resultName: resultName,
                nextLoc: nextLoc
              };

              if (this.method === "next") {
                // Deliberately forget the last sent value so that we don't
                // accidentally pass it on to the delegate.
                this.arg = undefined;
              }

              return ContinueSentinel;
            }
          };

          // Regardless of whether this script is executing as a CommonJS module
          // or not, return the runtime object so that we can declare the variable
          // regeneratorRuntime in the outer scope, which allows this module to be
          // injected easily by `bin/regenerator --include-runtime script.js`.
          return exports;

        }(
          // If this script is executing as a CommonJS module, use module.exports
          // as the regeneratorRuntime namespace. Otherwise create a new empty
          // object. Either way, the resulting object will be used to initialize
          // the regeneratorRuntime variable at the top of this file.
          true ? module.exports : 0
        ));

        try {
          regeneratorRuntime = runtime;
        } catch (accidentalStrictMode) {
          // This module should not be running in strict mode, so the above
          // assignment should always work unless something is misconfigured. Just
          // in case runtime.js accidentally runs in strict mode, in modern engines
          // we can explicitly access globalThis. In older engines we can escape
          // strict mode using a global Function call. This could conceivably fail
          // if a Content Security Policy forbids using Function, but in that case
          // the proper solution is to fix the accidental strict mode problem. If
          // you've misconfigured your bundler to force strict mode and applied a
          // CSP to forbid Function, and you're not willing to fix either of those
          // problems, please detail your unique predicament in a GitHub issue.
          if (typeof globalThis === "object") {
            globalThis.regeneratorRuntime = runtime;
          } else {
            Function("r", "regeneratorRuntime = r")(runtime);
          }
        }


        /***/
}),

/***/ 8276:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var api = __webpack_require__(3379);
        var content = __webpack_require__(86);

        content = content.__esModule ? content.default : content;

        if (typeof content === 'string') {
          content = [[module.id, content, '']];
        }

        var options = {};

        options.insert = "head";
        options.singleton = false;

        var update = api(content, options);



        module.exports = content.locals || {};

        /***/
}),

/***/ 3074:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var api = __webpack_require__(3379);
        var content = __webpack_require__(4559);

        content = content.__esModule ? content.default : content;

        if (typeof content === 'string') {
          content = [[module.id, content, '']];
        }

        var options = {};

        options.insert = "head";
        options.singleton = false;

        var update = api(content, options);



        module.exports = content.locals || {};

        /***/
}),

/***/ 4455:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var api = __webpack_require__(3379);
        var content = __webpack_require__(2888);

        content = content.__esModule ? content.default : content;

        if (typeof content === 'string') {
          content = [[module.id, content, '']];
        }

        var options = {};

        options.insert = "head";
        options.singleton = false;

        var update = api(content, options);



        module.exports = content.locals || {};

        /***/
}),

/***/ 3710:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var api = __webpack_require__(3379);
        var content = __webpack_require__(6036);

        content = content.__esModule ? content.default : content;

        if (typeof content === 'string') {
          content = [[module.id, content, '']];
        }

        var options = {};

        options.insert = "head";
        options.singleton = false;

        var update = api(content, options);



        module.exports = content.locals || {};

        /***/
}),

/***/ 549:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var api = __webpack_require__(3379);
        var content = __webpack_require__(2501);

        content = content.__esModule ? content.default : content;

        if (typeof content === 'string') {
          content = [[module.id, content, '']];
        }

        var options = {};

        options.insert = "head";
        options.singleton = false;

        var update = api(content, options);



        module.exports = content.locals || {};

        /***/
}),

/***/ 6173:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        var api = __webpack_require__(3379);
        var content = __webpack_require__(9142);

        content = content.__esModule ? content.default : content;

        if (typeof content === 'string') {
          content = [[module.id, content, '']];
        }

        var options = {};

        options.insert = "head";
        options.singleton = false;

        var update = api(content, options);



        module.exports = content.locals || {};

        /***/
}),

/***/ 3379:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

        "use strict";


        var isOldIE = function isOldIE() {
          var memo;
          return function memorize() {
            if (typeof memo === 'undefined') {
              // Test for IE <= 9 as proposed by Browserhacks
              // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
              // Tests for existence of standard globals is to allow style-loader
              // to operate correctly into non-standard environments
              // @see https://github.com/webpack-contrib/style-loader/issues/177
              memo = Boolean(window && document && document.all && !window.atob);
            }

            return memo;
          };
        }();

        var getTarget = function getTarget() {
          var memo = {};
          return function memorize(target) {
            if (typeof memo[target] === 'undefined') {
              var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself

              if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
                try {
                  // This will throw an exception if access to iframe is blocked
                  // due to cross-origin restrictions
                  styleTarget = styleTarget.contentDocument.head;
                } catch (e) {
                  // istanbul ignore next
                  styleTarget = null;
                }
              }

              memo[target] = styleTarget;
            }

            return memo[target];
          };
        }();

        var stylesInDom = [];

        function getIndexByIdentifier(identifier) {
          var result = -1;

          for (var i = 0; i < stylesInDom.length; i++) {
            if (stylesInDom[i].identifier === identifier) {
              result = i;
              break;
            }
          }

          return result;
        }

        function modulesToDom(list, options) {
          var idCountMap = {};
          var identifiers = [];

          for (var i = 0; i < list.length; i++) {
            var item = list[i];
            var id = options.base ? item[0] + options.base : item[0];
            var count = idCountMap[id] || 0;
            var identifier = "".concat(id, " ").concat(count);
            idCountMap[id] = count + 1;
            var index = getIndexByIdentifier(identifier);
            var obj = {
              css: item[1],
              media: item[2],
              sourceMap: item[3]
            };

            if (index !== -1) {
              stylesInDom[index].references++;
              stylesInDom[index].updater(obj);
            } else {
              stylesInDom.push({
                identifier: identifier,
                updater: addStyle(obj, options),
                references: 1
              });
            }

            identifiers.push(identifier);
          }

          return identifiers;
        }

        function insertStyleElement(options) {
          var style = document.createElement('style');
          var attributes = options.attributes || {};

          if (typeof attributes.nonce === 'undefined') {
            var nonce = true ? __webpack_require__.nc : 0;

            if (nonce) {
              attributes.nonce = nonce;
            }
          }

          Object.keys(attributes).forEach(function (key) {
            style.setAttribute(key, attributes[key]);
          });

          if (typeof options.insert === 'function') {
            options.insert(style);
          } else {
            var target = getTarget(options.insert || 'head');

            if (!target) {
              throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
            }

            target.appendChild(style);
          }

          return style;
        }

        function removeStyleElement(style) {
          // istanbul ignore if
          if (style.parentNode === null) {
            return false;
          }

          style.parentNode.removeChild(style);
        }
        /* istanbul ignore next  */


        var replaceText = function replaceText() {
          var textStore = [];
          return function replace(index, replacement) {
            textStore[index] = replacement;
            return textStore.filter(Boolean).join('\n');
          };
        }();

        function applyToSingletonTag(style, index, remove, obj) {
          var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE

          /* istanbul ignore if  */

          if (style.styleSheet) {
            style.styleSheet.cssText = replaceText(index, css);
          } else {
            var cssNode = document.createTextNode(css);
            var childNodes = style.childNodes;

            if (childNodes[index]) {
              style.removeChild(childNodes[index]);
            }

            if (childNodes.length) {
              style.insertBefore(cssNode, childNodes[index]);
            } else {
              style.appendChild(cssNode);
            }
          }
        }

        function applyToTag(style, options, obj) {
          var css = obj.css;
          var media = obj.media;
          var sourceMap = obj.sourceMap;

          if (media) {
            style.setAttribute('media', media);
          } else {
            style.removeAttribute('media');
          }

          if (sourceMap && typeof btoa !== 'undefined') {
            css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
          } // For old IE

          /* istanbul ignore if  */


          if (style.styleSheet) {
            style.styleSheet.cssText = css;
          } else {
            while (style.firstChild) {
              style.removeChild(style.firstChild);
            }

            style.appendChild(document.createTextNode(css));
          }
        }

        var singleton = null;
        var singletonCounter = 0;

        function addStyle(obj, options) {
          var style;
          var update;
          var remove;

          if (options.singleton) {
            var styleIndex = singletonCounter++;
            style = singleton || (singleton = insertStyleElement(options));
            update = applyToSingletonTag.bind(null, style, styleIndex, false);
            remove = applyToSingletonTag.bind(null, style, styleIndex, true);
          } else {
            style = insertStyleElement(options);
            update = applyToTag.bind(null, style, options);

            remove = function remove() {
              removeStyleElement(style);
            };
          }

          update(obj);
          return function updateStyle(newObj) {
            if (newObj) {
              if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
                return;
              }

              update(obj = newObj);
            } else {
              remove();
            }
          };
        }

        module.exports = function (list, options) {
          options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
          // tags it will allow on a page

          if (!options.singleton && typeof options.singleton !== 'boolean') {
            options.singleton = isOldIE();
          }

          list = list || [];
          var lastIdentifiers = modulesToDom(list, options);
          return function update(newList) {
            newList = newList || [];

            if (Object.prototype.toString.call(newList) !== '[object Array]') {
              return;
            }

            for (var i = 0; i < lastIdentifiers.length; i++) {
              var identifier = lastIdentifiers[i];
              var index = getIndexByIdentifier(identifier);
              stylesInDom[index].references--;
            }

            var newLastIdentifiers = modulesToDom(newList, options);

            for (var _i = 0; _i < lastIdentifiers.length; _i++) {
              var _identifier = lastIdentifiers[_i];

              var _index = getIndexByIdentifier(_identifier);

              if (stylesInDom[_index].references === 0) {
                stylesInDom[_index].updater();

                stylesInDom.splice(_index, 1);
              }
            }

            lastIdentifiers = newLastIdentifiers;
          };
        };

        /***/
}),

/***/ 758:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:font/ttf;base64, ");

        /***/
}),

/***/ 3581:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:font/woff2;base64, ");

        /***/
}),

/***/ 8539:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:font/woff;base64, ");

        /***/
}),

/***/ 5201:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkJBQkIyMkI4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkJBQkIyMkE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+a1HxUQAAAeRJREFUeNrsms8rRFEUx83QSLElsZoiSwslFGqahYUdFsqwkWShsRJZiY0k+Q+U5EdZyEKzMtmaoshqdmLBAlN+hPG9r/Pq9Nz75t2MLOac+jRv7tz3ua853Xfn3DehfD5fJvF/EZavQBJQ0lHhHsTjcfXSBJZAN4jQR6vU5o02MA4mWFsvWACxVCrlNHxt1vBziuYPJ56dhve16j/xR5I5pyGbzRbdH41GYz8SgGgBJ2AZTINXan8yJK8ONLD3PWAXDBj6i1/j5wlYJPl6wNmjLqCSyfdInjb0F7/GH/ZkaNvi9nUJWkFfgIsXv8HPZ4C6p71ZDHAHDsERDZIu0F/8foswQhUEn5aL+BTNoi1wQeffgDFNX/Fr/DwBHSBnOcALyeppkSoHj4a+4tf4eQKuf/Fz9pbwC/FLISaVsIQkQBIg4VMJ19LxA9gB55Y+tcrPgBVDJSl+j5/PgAw4I1TBcQySlgOonbF5w2fi1/j5DDhgx11gEszSBlSmCLNN/AVuQVy+D0ZAOxiyGKCKig+/EL/PIuzKE0Bt6KvN8EaLhA6C0wAXL37NDOj0yN0IBRCrpy7DYA7EDH3Er/HzGbABRj1y9djp3iBtBh+0SaXK7H6SXxn6i1/jD8m/IqQQK+n4FmAAQvQZvuWbOT4AAAAASUVORK5CYII=");

        /***/
}),

/***/ 4094:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkJBQkIyMjc4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkI4NTE3NjE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+L8RmKwAAAbJJREFUeNrsmj1Lw2AQx5NSHbR+BZFQJxdfRhWn4AfQ6uZ3cNNBW+igTn4CEV11cM8k6ujL5iJBEATFzeqgxfh/0hMOuSf0sS0OuYMfDXkuv4Qel3Bp/SRJPI3/i4J+BVqAXEfxZyMMQ/MxDrbBDBikpU1QF44tg1tyvIFzsAZuzGIURWnS1+EQP6Zr/sLKa5r0sVvqib9/tZEmxXHcdX8QBGIHTJjvDRyBEeATdUvx7kAf5Zh8c6UXYNKSr37BzwuwRRXaAy+OnTQGKuCAPFKoX/AX2fYsWPzDbWwOHNOxl+DJkqd+wc8LMAAaHchPmUcK9Qt+fgtqOsqHBXmWR/2Ch3fAqOMJHumB8vBrv82jfsHDO+De8QRNQZ7lUb/g0UFMJ2EtgIYWQAtgoiqsT4MFR2fVYX/u/bwANWGIOAHPjieotblf/Rm3ID7BnfWg89QvDGLvwLzbnbJMcO1EiTxSqF/w8w4wldzpQG5iyWu995ZC/YKfd8A6Le57rbd2rpWt0AXOW3LUL/h5B1zTU71MD5aE2LBITd4n5Zj8ZWB+Vruy5Ktf8Pv6rwgdxHId3wIMAPqh/fkCvYe/AAAAAElFTkSuQmCC");

        /***/
}),

/***/ 8770:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAAAYCAYAAABa+HfdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDYyRTAwN0I4RTREMTFFOEJDMDU5RkVFQjAyRDI4QjQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDYyRTAwN0E4RTREMTFFOEJDMDU5RkVFQjAyRDI4QjQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Oi+aOgAAA25JREFUeNrsm22ITFEYx2e2TWTZ9e4TNTTJ2weERHmbSC2R8rJ2SSkKhSikiYjkLSltmw9kESXvLaNIXsrbl91kyeTlA7G7YYW0dvyfPDt7Ot177uxst7nTef71q3vPvXPv/5yec+9zzj0TTqVSIZEoX1UgTSCSABaJJIBFoo6rUN2JxWL68SKwCswDo0Bvn3w0gVpwGVSBH/oJiUQivd16qofbdQLjt6CiOb3953BR4P122dBelEwmA+03Eolk9AQuA/VgHDgIoiDsE1G+B93rFViWRaXFr4V+C13K42ApKAXPDZXqCfqBN4YUpdWhnIzVgd+83wiuMmPAWTAE7MywccWvpX6dApiMVoCJ4ItHxQaBE2CCy/GFYAVYDYaBYi7fBY6CBt6/o2xTA00Gj7ghTnt4EL8W+9UDmJLLA2Cui9lq0F8r+04pqlZ2jityHnwDC8CLDryu6N6LwQ1wDXx1OU/8Wu5XD+DlHP1PDXkQJe57Dcn3Vq3sJjMfzOSyEu5VlJz/AhccrkUebnP+c8zlfuLXcr96AFNPO+TRG2gkOhrMcch/7imGu4KLYA/4wLnRMz42nUeZTbw/G9Q43It67lpDA4tfy/3qATzC0NvSs0LgL6h0SNBrlX1KyHeA42Alzc4ox9Zov21wudcTMNLgRfxa7lcP4L6GH5Omcu+4bzhnHzgCPnEPG8/lgzmfUitVzPcrc7nWZ2Vk6iTxa7lfPYAbPUzTSDTFE8z67HwLaGaz1WyYNJRfRfVKJdo00GEQoIp6dsRw3C+/pTz/KH4D7lcP4Dqek6sxXOQ96AN2g8dK+XAwhUeZqtaDB7z9lhPxkBbc2coPv5vAXfGbH371AL4Cyj0Mt+mlNlqMO5wzgEeaG8Es7rHdHV4Z2coPv9PAOvGbH371AD4JtnGv80reS7THOX366wW68aOetD30/1t2C+9fUkal9LoYC5Z0ooH98FspfvPHrx7AlLNs4emKSZw0673sJ7gFrjtcaz8fe81lZ/g1RPqoJewzeO6vqhMNLH4t9xtW/5GhrEaL86tjkZZk50weq9EC59djNVrg/HqsRguUX3U1mttiHlo0Qd+daTEFfYmhxRQPQ+0TzUGT+LXUr2k5JS2aiHLus5lfA6kc8C7DuohfC/2G5U+donyW/KVIJAEsEuVK/wQYAIvzzykylFBjAAAAAElFTkSuQmCC");

        /***/
}),

/***/ 1911:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkIxNURBQ0Q4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkIxNURBQ0M4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+LhTAtQAAALJJREFUeNrsmTEKwyAUhmsIXdouGXoAB/cewmvkDjlJ75BruOYUHTxAhizpVErtEzIWrC4O+T54CPL4BT/UQRVCOEA9GrYAAQiAerS/Jq21JxkmqdufOQ8p45xLNn7GSxyK8pt+TTa+7ufi/OPwTDZ674vytdYm5wREMV2GyGuBePK5gngDEMAWIAABgAAEAAIQAAhAACAAAVBfwFtqyciZM9clf0PxJ8wVhABAwG75CjAAXRgmKzqbvYYAAAAASUVORK5CYII=");

        /***/
}),

/***/ 2630:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkIxNURBRDE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkIxNURBRDA4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+inAH1AAAAalJREFUeNrsmc8rREEcwHe3bUshkgMnNg4ijvLrgF45OCkXyt2Bkhw4KJwk7UHJ2Y3irPYv4IKI23NRnDggWmV9Xo3L67W73sxr6833W592m20/b2a/O2++My9ZLBYTEtWLlPwEkgBJgET1Iu1vcBzHe2mGHIzAHczCS6XSfD4f2P5zWPf3VsufmnsLbC/kao34M0vvge2u62r7s9ls6QSoOIZLGIUe+DScePGXSEArdMAYeCWS6/u8AT7gO+Q1xV9mDWiCVyUPigW48u5WIQcgfs1FeAuWYR9Ooc3w9LbKH7YKOoNuOIcL2IAag4Owxq9ThhZgG/qgU027doODsMJvYh/wBDNwALsRlMqx9pvciB1Bb4R7llj6TSZgEu4jHEAs/WkDYq8s21QXmIig47H268wA77vzcAtfarEx+Q+ywh92BgzBnjr/GFfnISbDGv9/E9ACOzCsNhsnhjtunT/oFuRts+t9bRlYgWt19tGl0Xnxl0nAIzzDKjSqxeMGBqAf1hN6p4vir2ARnoZBlc01WIQpeDA0VcWvIikP5asb8khSEmB3/AowAIbQ05EhLIjrAAAAAElFTkSuQmCC");

        /***/
}),

/***/ 4835:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAAAYCAYAAABa+HfdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkNDQUI2QkI4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkNDQUI2QkE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+sGYMXAAAA3JJREFUeNrsm2tIFUEUx+81K0jLiF5QFN3CoMeXkuiDH6KUCnpCSGZZBAVCFFYEvbAHEUEPiCAigoqosIjeryvYF6lI+6IFFkkRZY+rPexFmLf/wF8dhp17r1fElTkHfjC7Ozvz32XOztmzs8FoNBoQE+upliK3QEwGsJiYDGAxsY5bqr6Rm5trHk8Ha8BCMBkM6iIdjaAaXAMnwQ+zQjgcbiu3nO1va8c3elMKm9rKf4+k+15vn+L2XXV1db7WGwqFEnoCF4BakAUOgUwQ7CIy2Yfq6wVYnsRFi14H9aZa9peAZWA+eGocGwhGgpoEQ5QWj/1ZPP8PtxvADTIFXABjwe4Eb67odVSv1wBWQgvBdPDZ4/gkUESP7A0WedS5BX6BJWAV648HGTy+BxwFEW6Xa2V1g7LBQ/AKnItzU0Svw3rNAayCy4NggUWsl0eFYjzZS8E3sBg878B0pfpeCm6Dm+CrpZ7odVyvOYBXcvRXWhoKa1OGKheDA3E6v0eU6Bxt2slmcP4bXPI4T2koY/xzzNK26HVcrzmAlacdjtF5HtgPeoF8MMMSYL8Gp8EVsA+8BUNAFY/P5FtmI7fngLse7VwE62LcYNHruF5zAE+M4W3KmhjIq0B8Ez1FvTX2YxyzmfUiDMh3guNgtcrOaO0UGe1GLP09YYxlM9HruF5zAA+OcXKAYp8xJhkFPrKNWl7AfTCMqY8APWway6MZT1Vr7WWwvwJLf5+0N1MvE72O6zXzwA0U7WV9wQ4mllvjo+/ghFYnDZwyzhsHNrL8gRfRSrxA/p/lpUD0il7PAVzDnJyXjQBXQT23m5leKdXqvKc3TtX2rQfvtFioTONRJ7/YiF7H9ZohxHWwwhJAq5hlL98WlQ0AG5gf1O0y831VnD5y6HGzWTfNY8pI1kSv43rNAXwGbKPXVSbwOF/LKWZCoP0Li0qRfGF5O6eYZm4rj93K8nB6Zn4nbrDodVxvisdb5RamK4ZazlEe8hj8BA/AGDAX7NLipjssn9dipHojYJ8F5mnHkzHR67jeoP5HhrYarYTxTJ6Wq+tWi7MazXd646xG853eOKvRfKVXX41mW8yjFk2o785qMUU5PbBCSzT7zUSvo3pjLadUiyYyGfuohPRLEO0G3iR4LaLXQb1B+alTrCeb/FIkJgNYTKy77L8AAwDmLvkRvKgQfQAAAABJRU5ErkJggg==");

        /***/
}),

/***/ 7048:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkI4NTE3NUU4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkI4NTE3NUQ4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/y0DxgAAAfJJREFUeNrsmksoBGEcwHfXxsHFSQnJxgElpThJDpvHRY5etQcnN+XgSpQLKY+LHEROXhdFKK+EFJHkoJAiccGFaP0mn5qm3Zkd821bO9+/frvNzje/ndn/95pv1hsOhz0qEhc+9ROoBLg6/NpLMBi0c0wRDEE+TMCoWeG19gO752TL//USjqv/vvEsbv5AIGC7BTTBFixAM3RBhcQK4Tq/30ZX1QctUAcn4vMNKIAjCV2hK/2xJCAD5iBVZPNZ3wNIqDWu9usTkAM9kGkoUw6LYt+3gxNVfosEaP3WJmwbyozAvoSaovwmCUiHYqj8p6cUruBDbHtFzThWfnO/T5cIJ82zA5YhTcjHodeQaOWP4Pd75IQ23ZqGJbiFEmiQOL1LWr+sBGi1IwSXUAV58C7xApLWL2spwisGo0dYgRkxLfMov7lfVgIGoEw0q1Z4hVmJF5C0fp+uiThJxirUw5twtcGkoQkqfwT/3xig9Uc30A2nhoMf4MLiC3Yi9Hnrum3lj+L3GxaS+qHWUFib/47BIDh5eqP8FnfC12IFzxhZMC9uHEIOZgfKH2UVzyq0JlYDT3AIhbp9KRIGKFf7Yx1YPqEThmFXNMdsqIY7CRfhWr/dG7EpOPf8PunJFe97EqdrrvN71b8iEhvqoXyC40eAAQAl7xicXH5zswAAAABJRU5ErkJggg==");

        /***/
}),

/***/ 7742:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkI4NTE3NUE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkI4NTE3NTk4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+3tjdDAAAAeZJREFUeNrsms8rBFEcwHdZkZR/AGUVUi5qD45iUyKRg0Q5SYq4Ug4OEm6SklJuwsXNQUqRnyWnVX4cKCdFakkYn81Tr23Wzth5u5l53/rsZd585u1+Z/Z9v2/XbxiGT0fmIkt/BDoBno5A7CUcDts5pwCmoQFOoR+eEg3e6jmwOydb/vcHQ6n/rvVcmT8YDNp+AqrgWCSuBaIw6eAN4Tm/nQR0wg5MQR9cwApUOzR5T/oDFsQ5MAtN0Ahn0rEP8Kc4cU/75QQUwQgUx42pgBsIwWMKE3WDfxhKnPTLCdiEbViLG/McW0vBsOhrg3WT8dpv4v9JQCGUQ40DVdUgtEOXNKn/5B9K5/zlRfjdgYXoVZRfQeiOrxj/ib8+nfNX0Yi9wQT0KupdXOVX1QlHoFRhA+kav6oElMG9wjfgGr+KBGTDGCwrmryr/D8J+BQHUo1c2BClmfwGtD+BPyDVsrcwCkcmde6hxQvkiVp5QXSBPu3/3S83Ys0wDnXxm3awCwPwkuQCsV2/uQTHtN/ELyfgOkHplQ+LsA8dcPXHx0/7TcLKIhwVTcMS7Pm+t1ntnK/9FveCksU8nMAq1MKMaKkjDlUHnvTbvQNii01IfO9dQqVYmJwKz/n9+l8RmQ39o3yG40uAAQBKqgHuCavIwwAAAABJRU5ErkJggg==");

        /***/
}),

/***/ 6412:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAuhJREFUaN7tmG9IE3EYx7+/zS23GySJlWaJIit7EWKCpokZQSmEBLkhRr0xe1EItheBJipKWulZwxeVkEZUaIYSFhIqqJm+MYPeNCn8mwSmeKabd3N7ehGmGLGWswO7z7u74+75fj939+YBFBQUFP5j2HofQNTYCKjVUtdnwXDVaGQJLsHN6/Ubnvy0qomZJEnTIvQt1NtsTFXCAEn6ZwLEU/wVLtxiQRa66EJxMU7CxEoNhg0vvpYhZOKYJLFH9AUdVqvm2lz0wnxBwZ8K8VqANFKdpU/KzqZgOsje1tbiG3Zju9vNdqCZHtps9IK1snK7fcOLHyArPdNqISGKHYmKQjB68d7Pj6WxV7hYXq7tyGtbuJGf7/O54js+ngsfHBRFnuc4Iim0KonrNZs3vPBvcJpvperS4+LEr/xTLtzlEut4k75OEIiKCFCpfC+gr1rL5TgcywJ+DPL3l0vAMlIWv5M7Pj6+nMs+ZD2hiwwN9XSf94YCKR2f1OqfxxRyF3C55BaAaXTDuJKDjUkhtGdVTp8J2GQoAuQOIDeKALkDyI0iQO4AcqMIkDuA3CgC5A4gN4oAr+/oBaMzDsfKCbFlW6pOJ3cRMuIsla5sovyPaif9ZjzvJfy8HcSWUIB9AwMEdAApKc7Opc7Fw2VlduP1D7rqigqdzd2sjVst6G8bcV2CYLczVW4bIIq/XKZq2koBAVIhop22nBwUkontCgpiGWhExtgYe57bP18/NeWxj7e5nJeqXuoi4+PduaxOFdbdjTAcQr9Gs+7CaynFTRqYntaWsknN3shIxvKYwGZnnTN8vCE6Odk9h9vk396+vAmCiCpwRGw/RaA5M1M7YelZSGxo8DTG6y9AU2NJc3zs73c+5l/rWhMSKJYlq+4UFSECgeiIiaEILFKND36JWLrMSoaHAf094cnKbo/u03l36+wse6Ayo2Z0FOfIhqaREbcJjXhTWbllwtJjT2xr8/kLUVBQUNiMfAemsikT5MrWYQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0xMi0wNFQxNjoxOToyNCswODowMGJfrR8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMTItMDRUMTY6MTk6MjQrMDg6MDATAhWjAAAASXRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl8ya3luMWd0bmc5Ny9zdG9wXzEuc3ZnCAKWOAAAAABJRU5ErkJggg==");

        /***/
}),

/***/ 1027:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAaFJREFUOE/tlL9Lw0AUx7+XpsWiTcRJQVxdHBzEQRDsKrq1/SccxLRdXOxoa0OLi7g5OcTSxQ6Ciy5CF9FdEHH3R6IUapPznVCNJU0CWicPDo7j+z7v3bv3HsOAFgvLtcpICW0ih1oYm0CwqWOFA8e0jwSQDNK0V5UsGn4OAsHPOriaFbyv5XXX68QXLJ5vM2RGs8i4DZ90GBEOwy8tvmCKbEu8niIu9ETsee/W/IM/s/E3qRBV4DAs0metC9dhP4+qpM4cFNU8mt2Qv0X8WERSiiKlalgTgrDlRk1kxBg2hzTceII/oiyjpeYQ7wqCGqRVxVS7g1OymfYtNwLvcYYraop9IQxqaUrDtsTxoORQ8gVzAxHzHteU5xm30GsIvVYwYXMcKhqSoVqa70Ix22jGOJbjedx6DZuXEmadCA4SFuZYAZ1QYCEiw3FbQp2m2kWU49zhMBmHzGWMOcACnSfp+el+Ey5wulk60jYwT4AMwd4o/zWZ4WxEw8mPxqarOip0vqPcV/2AfcutnxGV3WDA1g6WJBnm8AYufzXiMDC35h2dv7MXqRyzSgAAAABJRU5ErkJggg==");

        /***/
}),

/***/ 5037:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

        "use strict";
        __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
          /* harmony export */
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAc9JREFUOE+1lL8vQ1EUx7/3NTWgP2bxJxiEwUAkBotgojuTSdAmHfssFq0OYmCtqSSGikTiDzAYDQaJwY+oSLSvxK/Wc470yu31+t4j1eSlr7ff87nnfs85V+CfPsIvt5LGFGtDCez6ifkGlzPIRuJY1IOsDMZtoEDPDv9HAdP0TITj2HfboCFjgtsE/9OavskPK1Q4H78mEIvGEVMDSxnkAzbybrY4eizh9J3i09MpTBXcbF3VNC0ew0nIwNaCefc6fLmlGdfBbIXpUFBHi3xZoYDZrpQK/7XH1ipmYGCAenROBbMVarfoYOqSi2AVgx1J3MisG4pXSmOUmz+SwDwL9HaTcL3dymmchvvRK0ZQdQTbNkR5DZfUt91SoA9NvaCQ1lhpDNkCK/R72NVjClwnwRkJN1joNNK8LsF8SrLvIbqEE8/iEfw8XEGPMPEixfol5DT+nmB7E0HrEdcknKTMjvV7oJlNnmAW2CbarBAK9HovPnAUMCDeazCEgS4aydtoAltyiPQ+53XP+/iZivOKr8LMCoEiBewZAeQ6F1B0y9wTrATn6P2Qstt2skb3vGXgui1jtPGBLytkdk9Z9Ik33LUncdWsmL6K5yfYTfMJapfFF7PhjXIAAAAASUVORK5CYII=");

        /***/
})

    /******/
});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
      /******/
}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			id: moduleId,
/******/ 			loaded: false,
/******/ 			exports: {}
      /******/
};
/******/
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
    /******/
}
/******/
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	(() => {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = (module) => {
/******/ 			var getter = module && module.__esModule ?
/******/ 				() => (module['default']) :
/******/ 				() => (module);
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
      /******/
};
    /******/
})();
/******/
/******/ 	/* webpack/runtime/define property getters */
/******/ 	(() => {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = (exports, definition) => {
/******/ 			for (var key in definition) {
/******/ 				if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
          /******/
}
        /******/
}
      /******/
};
    /******/
})();
/******/
/******/ 	/* webpack/runtime/global */
/******/ 	(() => {
/******/ 		__webpack_require__.g = (function () {
/******/ 			if (typeof globalThis === 'object') return globalThis;
/******/ 			try {
/******/ 				return this || new Function('return this')();
        /******/
} catch (e) {
/******/ 				if (typeof window === 'object') return window;
        /******/
}
      /******/
})();
    /******/
})();
/******/
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	(() => {
/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
    /******/
})();
/******/
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	(() => {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = (exports) => {
/******/ 			if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
        /******/
}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
      /******/
};
    /******/
})();
/******/
/******/ 	/* webpack/runtime/node module decorator */
/******/ 	(() => {
/******/ 		__webpack_require__.nmd = (module) => {
/******/ 			module.paths = [];
/******/ 			if (!module.children) module.children = [];
/******/ 			return module;
      /******/
};
    /******/
})();
  /******/
  /************************************************************************/
  var __webpack_exports__ = {};
  // This entry need to be wrapped in an IIFE because it need to be in strict mode.
  (() => {
    "use strict";

    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
    function _typeof(obj) {
      "@babel/helpers - typeof";

      return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
        return typeof obj;
      } : function (obj) {
        return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
      }, _typeof(obj);
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
    function _arrayWithHoles(arr) {
      if (Array.isArray(arr)) return arr;
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
    function _iterableToArrayLimit(arr, i) {
      var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];

      if (_i == null) return;
      var _arr = [];
      var _n = true;
      var _d = false;

      var _s, _e;

      try {
        for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
          _arr.push(_s.value);

          if (i && _arr.length === i) break;
        }
      } catch (err) {
        _d = true;
        _e = err;
      } finally {
        try {
          if (!_n && _i["return"] != null) _i["return"]();
        } finally {
          if (_d) throw _e;
        }
      }

      return _arr;
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
    function _arrayLikeToArray(arr, len) {
      if (len == null || len > arr.length) len = arr.length;

      for (var i = 0, arr2 = new Array(len); i < len; i++) {
        arr2[i] = arr[i];
      }

      return arr2;
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js

    function _unsupportedIterableToArray(o, minLen) {
      if (!o) return;
      if (typeof o === "string") return _arrayLikeToArray(o, minLen);
      var n = Object.prototype.toString.call(o).slice(8, -1);
      if (n === "Object" && o.constructor) n = o.constructor.name;
      if (n === "Map" || n === "Set") return Array.from(o);
      if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
    function _nonIterableRest() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js




    function _slicedToArray(arr, i) {
      return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
    function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
      try {
        var info = gen[key](arg);
        var value = info.value;
      } catch (error) {
        reject(error);
        return;
      }

      if (info.done) {
        resolve(value);
      } else {
        Promise.resolve(value).then(_next, _throw);
      }
    }

    function _asyncToGenerator(fn) {
      return function () {
        var self = this,
          args = arguments;
        return new Promise(function (resolve, reject) {
          var gen = fn.apply(self, args);

          function _next(value) {
            asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
          }

          function _throw(err) {
            asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
          }

          _next(undefined);
        });
      };
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
    function _classCallCheck(instance, Constructor) {
      if (!(instance instanceof Constructor)) {
        throw new TypeError("Cannot call a class as a function");
      }
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
    function _defineProperties(target, props) {
      for (var i = 0; i < props.length; i++) {
        var descriptor = props[i];
        descriptor.enumerable = descriptor.enumerable || false;
        descriptor.configurable = true;
        if ("value" in descriptor) descriptor.writable = true;
        Object.defineProperty(target, descriptor.key, descriptor);
      }
    }

    function _createClass(Constructor, protoProps, staticProps) {
      if (protoProps) _defineProperties(Constructor.prototype, protoProps);
      if (staticProps) _defineProperties(Constructor, staticProps);
      Object.defineProperty(Constructor, "prototype", {
        writable: false
      });
      return Constructor;
    }
    // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
    var regenerator = __webpack_require__(7757);
    var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.to-string.js
    var es6_object_to_string = __webpack_require__(6253);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.to-string.js
    var es6_regexp_to_string = __webpack_require__(6108);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.filter.js
    var es6_array_filter = __webpack_require__(8837);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js
    var es7_array_includes = __webpack_require__(2773);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.replace.js
    var es6_regexp_replace = __webpack_require__(9357);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.split.js
    var es6_regexp_split = __webpack_require__(1876);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.function.name.js
    var es6_function_name = __webpack_require__(6059);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js
    var es6_object_assign = __webpack_require__(5115);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.promise.js
    var es6_promise = __webpack_require__(851);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js
    var es6_object_keys = __webpack_require__(7476);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.constructor.js
    var es6_number_constructor = __webpack_require__(1246);
    ;// CONCATENATED MODULE: ./src/utils/index.js





    var utils = {};
    /**
     * 是否为IE环境
     * @returns {boolean} true-是 false-不是
     */

    utils.isIE = function () {
      return !!window.ActiveXObject || "ActiveXObject" in window;
    };
    /**
     * 是否为移动端环境
     */


    utils.isMobile = function () {
      if (!navigator) return false;
      var reg = /(iPhone|iPod|Android|ios|SymbianOS)/i;
      return reg.test(navigator.userAgent);
    };
    /**
     * 给dom元素设置属性
     * @param el 设置的dom元素
     * @param key 属性的键
     * @param value 属性的值
     */


    utils.setAttr = function (el, key, value) {
      if (el) {
        el.setAttribute(key, value);
      }
    };
    /**
     * dom选择器
     * @param el 选择器
     * @returns {Element}
     */


    utils.$ = function (el) {
      return document.querySelector(el);
    };
    /**
     * 插入dom
     */


    utils.appendDom = function (targetRoot, domString) {
      var parser = new DOMParser();
      var doc = parser.parseFromString(domString, 'text/html');
      targetRoot.appendChild(doc.querySelector('body').children[0]);
    };
    /**
     * string转换为dom对象
     */


    utils.domParser = function (string) {
      var parser = new DOMParser();
      var doc = parser.parseFromString(string, 'text/html');
      return doc.querySelector('body').children[0];
    };
    /**
     * 加载js库
     * @param url js sdk 路径
     */


    utils.asyncLoadScripts = function (url) {
      // 加载过的依赖不重新加载
      return new Promise(function (resolve, reject) {
        if (utils.$("script[src=\"".concat(url, "\"]"))) {
          resolve();
        } else {
          var script = document.createElement('script');
          script.setAttribute('src', url);

          script.onload = function () {
            return resolve();
          };

          script.onerror = function () {
            return reject();
          };

          document.getElementsByTagName("head")[0].appendChild(script);
        }
      });
    };
    /**
     * 判断当前是否为全屏状态
     */


    utils.isFullScreen = function () {
      var isFull = document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullScreenEnabled;
      return Boolean(isFull);
    };
    /**
     * 判断是否是录像
     * @param url
     * @returns {boolean}
     */


    utils.isRecord = function (url) {
      return /.m3u8/.test(url);
    };
    /**
     * 为dom设置style样式
     * @param targetDom 目标dom节点
     * @param styles 样式信息 {width: '120px', color: '#333'}
     */


    utils.setStyle = function (targetDom, styles) {
      if (_typeof(styles) !== 'object') return;
      Object.keys(styles).forEach(function (key) {
        targetDom.style[key] = styles[key];
      });
    };
    /**
     * 添加class
     * @param dom 目标dom对象
     * @param classname 类名
     */


    utils.addClass = function (dom, classname) {
      var existClass = dom.getAttribute('class');
      console.log(dom);
      console.log(dom);
      utils.setAttr(dom, 'class', "".concat(existClass || '', " ").concat(classname));
    };
    /**
     * 数字格式化，小于10前面加0
     * @param value
     * @returns {*}
     */


    utils.setValue = function (value) {
      if (typeof Number(value) !== 'number') return value;
      return value < 10 ? "0".concat(value) : value;
    };
    /**
     * 获取默认录像时间区间
     */


    utils.getRecordTimeRange = function () {
      var currentTime = new Date();
      var YY = currentTime.getFullYear();
      var MM = utils.setValue(currentTime.getMonth() + 1);
      var DD = utils.setValue(currentTime.getDate());
      var hh = utils.setValue(currentTime.getHours());
      var mm = utils.setValue(currentTime.getMinutes());
      var ss = utils.setValue(currentTime.getSeconds());
      var beginTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " 00:00:00");
      var endTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " 23:59:59");
      return {
        beginTime: beginTime,
        endTime: endTime
      };
    };
    /**
     * 获取固定格式时间戳
     **/


    utils.getFormatTime = function (time) {
      var currentTime = new Date(time);
      var YY = currentTime.getFullYear();
      var MM = utils.setValue(currentTime.getMonth() + 1);
      var DD = utils.setValue(currentTime.getDate());
      var hh = utils.setValue(currentTime.getHours());
      var mm = utils.setValue(currentTime.getMinutes());
      var ss = utils.setValue(currentTime.getSeconds());
      var formatTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " ").concat(hh, ":").concat(mm, ":").concat(ss);
      return formatTime;
    };
    /**
     * 获取固定起始时间戳
     **/


    utils.getBeginInitFormatTime = function (time) {
      var currentTime = new Date(time);
      var YY = currentTime.getFullYear();
      var MM = utils.setValue(currentTime.getMonth() + 1);
      var DD = utils.setValue(currentTime.getDate());
      var hh = utils.setValue(currentTime.getHours());
      var mm = utils.setValue(currentTime.getMinutes());
      var ss = utils.setValue(currentTime.getSeconds());
      var formatTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " 00:00:00");
      return formatTime;
    };
    /**
     * 获取固定结束时间戳
     **/


    utils.getEndInitFormatTime = function (time) {
      var currentTime = new Date(time);
      var YY = currentTime.getFullYear();
      var MM = utils.setValue(currentTime.getMonth() + 1);
      var DD = utils.setValue(currentTime.getDate());
      var hh = utils.setValue(currentTime.getHours());
      var mm = utils.setValue(currentTime.getMinutes());
      var ss = utils.setValue(currentTime.getSeconds());
      var formatTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " 23:59:59");
      return formatTime;
    };
    /**
     * 清空dom节点
     * @param dom
     */


    utils.emptyDom = function (dom) {
      // 倒序删除
      for (var i = 0, length = dom.children.length; i < length; i++) {
        dom.removeChild(dom.children[length - 1 - i]);
      }
    };
    /**
     * 将obj对象转换为GET参数 => &a=1&b=2
     * @param params
     */


    utils.transformParamsToString = function (params) {
      return Object.keys(params).reduce(function (result, key, index) {
        var connectSymbol = index === 0 ? '?' : '&';
        return "".concat(result).concat(connectSymbol).concat(key, "=").concat(params[key]);
      }, '');
    };
    /**
     * 获取log、error、info的打印函数（IE不会调用打印函数）
     * @returns {*}
     */


    utils.logsFunction = function () {
      return utils.isIE() ? {
        info: function info() { },
        error: function error() { },
        log: function log() { }
      } : console;
    };
    /**
     * 生成32位的字符串ID
     */


    utils.getRandomString = function () {
      var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 32;
      var arr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"],
        num = "";

      for (var i = 0; i < length; i++) {
        num += arr[parseInt(Math.random() * 36)];
      }

      return num;
    };

/* harmony default export */ const src_utils = (utils);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.slice.js
    var es6_array_slice = __webpack_require__(110);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.symbol.js
    var es6_symbol = __webpack_require__(5767);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.from.js
    var es6_array_from = __webpack_require__(522);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.iterator.js
    var es6_string_iterator = __webpack_require__(9115);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js
    var es6_array_iterator = __webpack_require__(6997);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js
    var web_dom_iterable = __webpack_require__(1181);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js
    var es6_object_get_own_property_descriptor = __webpack_require__(4882);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js
    var es7_object_get_own_property_descriptors = __webpack_require__(8351);
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
    function _objectWithoutPropertiesLoose(source, excluded) {
      if (source == null) return {};
      var target = {};
      var sourceKeys = Object.keys(source);
      var key, i;

      for (i = 0; i < sourceKeys.length; i++) {
        key = sourceKeys[i];
        if (excluded.indexOf(key) >= 0) continue;
        target[key] = source[key];
      }

      return target;
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js

    function _objectWithoutProperties(source, excluded) {
      if (source == null) return {};
      var target = _objectWithoutPropertiesLoose(source, excluded);
      var key, i;

      if (Object.getOwnPropertySymbols) {
        var sourceSymbolKeys = Object.getOwnPropertySymbols(source);

        for (i = 0; i < sourceSymbolKeys.length; i++) {
          key = sourceSymbolKeys[i];
          if (excluded.indexOf(key) >= 0) continue;
          if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
          target[key] = source[key];
        }
      }

      return target;
    }
    ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
    function _defineProperty(obj, key, value) {
      if (key in obj) {
        Object.defineProperty(obj, key, {
          value: value,
          enumerable: true,
          configurable: true,
          writable: true
        });
      } else {
        obj[key] = value;
      }

      return obj;
    }
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.promise.finally.js
    var es7_promise_finally = __webpack_require__(9865);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.map.js
    var es6_array_map = __webpack_require__(9371);
    // EXTERNAL MODULE: ./node_modules/axios/index.js
    var axios = __webpack_require__(9669);
    var axios_default = /*#__PURE__*/__webpack_require__.n(axios);
    // EXTERNAL MODULE: ./node_modules/platform/platform.js
    var platform = __webpack_require__(1795);
    var platform_default = /*#__PURE__*/__webpack_require__.n(platform);
    ;// CONCATENATED MODULE: ./src/utils/config.js
    // 平台服务host
    // online
    var host = "https://openapi.lechange.cn"; // func
    // export const host = "https://funcopenapi.lechange.cn";
    // 本地联调
    //export const host = 'http://openapi-debug.imou.com';
    // export const host = 'http://10.35.219.47:8080';
    // sdk解码文件

    var decodeFiles = [// './static/public.js',
      // './static/md5.js',
      // './static/mp4remux.js',
      // './static/videoMediaSource.js',
      // './static/WebsocketServer.js',
      // './static/Sylvester.js',
      // './static/WebGLCanvas.js',
      // './static/audioPlayer.js',
      // './static/workerManager.js',
      // './static/streamDrawer.js',
      // './static/playerControl.js',
      // './static/ivs.js',
      "../static/module/PlayerControl.js"]; // videoJs库

    // var videoJsScript = ["./static/video.min.js", "./static/videojs-flash.js", "./static/videojs-contrib-hls.min.js"]; // adapter库

    // var adapterScript = ["./static/adapter.js"];
    // var datePickerScript = ["./static/datepicker.js", "./static/datepicker.zh-CN.js"];
    // var jqueryScript = ["./static/jquery-min.js"];
    var videoJsScript = ["../static/static/video.min.js", "../static/static/videojs-flash.js", "../static/static/videojs-contrib-hls.min.js"]; // adapter库

    var adapterScript = ["../static/static/adapter.js"];
    var datePickerScript = ["../static/static/datepicker.js", "../static/static/datepicker.zh-CN.js"];
    var jqueryScript = ["../static/static/jquery-min.js"];
    // EXTERNAL MODULE: ./src/assets/style/datepicker.css
    var datepicker = __webpack_require__(3074);
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.fill.js
    var es6_array_fill = __webpack_require__(8977);
    ;// CONCATENATED MODULE: ./src/timeLine.js






    var TimeLine = /*#__PURE__*/function () {
      function TimeLine(options) {
        _classCallCheck(this, TimeLine);

        this.initTime = null;
        this.newTime = null;
        this.ratio = null;
        this.startX = null;
        this.movedX = null;
        this.startY = null;
        this.movedY = null;
        this.isMouseDown = false;
        this.canvasId = null;
        this.ctx = null;
        this.recordArea = [];
        this.options = null;
        this.readOnly = false;
      }

      _createClass(TimeLine, [{
        key: "getPixelRatio",
        value: function getPixelRatio(context) {
          var backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1;
          return (window.devicePixelRatio || 1) / backingStore;
        }
      }, {
        key: "initTimeline",
        value: // let saveImageData;
          function initTimeline(height, ms, pxMs, pageShowStartTime, intervalTime) {
            // let canvasId = document.getElementById("time_line");
            // let ctx = canvasId.getContext("2d");
            if (this.options.isMobile) {
              this.ctx.clearRect(0, 0, this.options.height, this.options.height);
            } else {
              this.ctx.clearRect(0, 0, this.options.width, this.options.width);
            }

            this.drawRecordArea();
            this.ctx.fillStyle = "#999999"; // 为防止苹果屏幕2X显示不正常

            this.ratio = this.getPixelRatio(this.ctx); // ------------

            var msOffset = this.startOffsetTime(pageShowStartTime, ms * 1000); // 开始的偏移时间 ms
            // let initCnavasImgTop = pageShowStartTime % (intervalTime * 1000);

            var pxOffset = msOffset / 1000 * pxMs; // 开始的偏移距离 px

            var graduationBottom = 0;
            var graduationLeft = 0; // let graduationTime = 0;

            var beginX = 0;
            var beginY = 0;
            var showTime = 0;
            var canvasColor = null;

            if (this.options.isMobile) {
              for (var i = 0; i < height / (ms * pxMs); i++) {
                // console.log(height / (ms * pxMs))
                // console.log(graduationTop);
                // graduationTime = pageShowStartTime + msOffset + i * ms  // 时间=左侧开始时间+偏移时间+格数*ms/格
                // graduationTime = pageShowStartTime + graduationTop * 1000 / pxMs  // 时间=左侧开始时间+偏移时间+格数*ms/格
                graduationBottom = pxOffset + i * (ms * pxMs); // 距离=开始的偏移距离+格数*px/格

                beginY = pxOffset + i * (ms * pxMs);
                showTime = pageShowStartTime + graduationBottom * 1000 / pxMs; // console.log(showTime);

                if (parseInt(showTime / 1000) % intervalTime === 0 && showTime >= 0 && showTime < 86400000) {
                  // 画10S的长线
                  this.ctx.font = "13px PingFang SC"; // this.ctx.fillStyle = this.options.fontColor || "#666666";

                  this.ctx.fillStyle = "#666666";

                  if (showTime <= 86400000) {
                    this.ctx.fillText(this.changeTime(showTime, 1), 45, height - beginY + 5);
                  }

                  canvasColor = "#808080";
                  this.ctx.fillStyle = "#B1B1B1";
                  this.drawLine(5, height - graduationBottom, 40, height - graduationBottom, canvasColor, 1 * this.ratio);
                } else if (showTime % intervalTime === 0 && showTime >= 0 && showTime < 86400000) {
                  // 画1S的短线
                  canvasColor = "#808080";
                  this.drawLine(5, height - graduationBottom, 20, height - graduationBottom, canvasColor, 1 * this.ratio);
                }
              }
            } else {
              for (var _i = 0; _i < height / (ms * pxMs); _i++) {
                // console.log(height / (ms * pxMs))
                // console.log(graduationTop);
                // graduationTime = pageShowStartTime + msOffset + i * ms  // 时间=左侧开始时间+偏移时间+格数*ms/格
                // graduationTime = pageShowStartTime + graduationTop * 1000 / pxMs  // 时间=左侧开始时间+偏移时间+格数*ms/格
                graduationLeft = pxOffset + _i * (ms * pxMs); // 距离=开始的偏移距离+格数*px/格

                beginX = pxOffset + _i * (ms * pxMs);
                showTime = pageShowStartTime + graduationLeft * 1000 / pxMs;

                if (showTime % (intervalTime * 1000) === 0 && showTime >= 0 && showTime <= 86400000) {
                  // 画10S的长线
                  this.ctx.font = "13px PingFang SC"; // this.ctx.fillStyle = this.options.fontColor || "#D8D8D8";

                  this.ctx.fillStyle = "#D8D8D8";

                  if (showTime < 86400000) {
                    this.ctx.fillText(this.changeTime(showTime, 1), beginX + 10, 35);
                  }

                  canvasColor = "#808080";
                  this.ctx.fillStyle = "#B1B1B1";
                  this.drawLine(graduationLeft, 0, graduationLeft, 60, canvasColor, 1 * this.ratio);
                } else if (showTime % intervalTime === 0 && showTime >= 0 && showTime < 86400000) {
                  // 画1S的短线
                  canvasColor = "#808080";
                  this.drawLine(graduationLeft, 45, graduationLeft, 60, canvasColor, 1 * this.ratio);
                }
              }
            } // saveImageData = ctx.getImageData(0, 0, 600, 45);


            if (this.options.isMobile) {
              this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
            } else {
              this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
            }
          }
      }, {
        key: "startOffsetTime",
        value:
          /**
           * 左侧开始时间的偏移，返回单位ms
           */
          function startOffsetTime(timestamp, step) {
            var remainder = timestamp % step;
            return remainder ? step - remainder : 0;
          }
      }, {
        key: "drawLine",
        value:
          /**
           * 根据传入参数画线。。
           */
          function drawLine(beginX, beginY, endX, endY, color, width) {
            // let canvasId = document.getElementById("time_line");
            // let ctx = canvasId.getContext("2d");
            this.ctx.beginPath();
            this.ctx.moveTo(beginX, beginY);
            this.ctx.lineTo(endX, endY);
            this.ctx.strokeStyle = color;
            this.ctx.lineWidth = width;
            this.ctx.stroke(); //
          }
      }, {
        key: "changeTime",
        value:
          /**
           * 返回时间
           */
          function changeTime(time, num) {
            // num 区分是传时间还是传日期
            var hour = 0;
            var minute = 0;
            var second = 0;
            second = time / 1000;

            if (second >= 3600) {
              minute = (second - second % 60) / 60;
              hour = parseInt((minute / 60).toString());
              minute = minute % 60;
              /* eslint-disable */

              hour >= 10 ? hour : hour = "0" + hour;
              minute >= 10 ? minute : minute = "0" + minute;
              second = second % 60;
              second >= 10 ? second : second = "0" + second;
              /* eslint-enable */

              return hour + ":" + minute + ":" + second;
            }

            if (second < 3600 && second >= 60) {
              hour = "00";
              minute = parseInt((second / 60).toString());
              /* eslint-disable */

              minute >= 10 ? minute : minute = "0" + minute;
              second = second % 60;
              second >= 10 ? second : second = "0" + second;
              /* eslint-enable */

              return hour + ":" + minute + ":" + second;
            }

            if (second < 60) {
              hour = "00";
              minute = "00";
              second = parseInt(second);
              /* eslint-disable */

              second >= 10 ? second : second = "0" + second;
              /* eslint-enable */

              return hour + ":" + minute + ":" + second;
            }
          }
      }, {
        key: "onmousedown",
        value: // canvas宽度  一个小刻度的秒数 10像素一个小刻度   初始时间（毫秒）  一大段间隔时长(秒）
          // (function() {
          // console.log(ctx.onmousedown);
          function onmousedown(e) {
            this.options.stopTime(); // console.log(ctx, e);

            this.isMouseDown = true;

            if (this.options.isMobile) {
              this.startY = e.offsetY;
              this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
            } else {
              this.startX = e.offsetX;
              this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
            }
          }
      }, {
        key: "onmousemove",
        value: function onmousemove(e) {
          if (this.isMouseDown) {
            // this.movedY = e.offsetY - startY - (e.offsetY - startY) % 10;
            if (this.options.isMobile) {
              this.movedY = Math.floor((e.offsetY - this.startY) * 10); // console.log(e.offsetY, this.startY);
              // console.log(this.movedY);
              // console.log(this.movedY);

              this.initTime = this.initTime - this.movedY * 1000;

              if (this.initTime <= -1 * this.options.height / 2 * 1000 / 10) {
                this.initTime = -1 * this.options.height / 2 * 1000 / 10;
              } else if (this.initTime >= 24 * 60 * 60 * 1000 - this.options.height / 2 * 1000 / 10) {
                this.initTime = 24 * 60 * 60 * 1000 - this.options.height / 2 * 1000 / 10;
              } // ctx.clearRect(0, 0, canva.width, canva.height);


              this.initTimeline(this.options.height, 1, 10, this.initTime, 10);
              this.startY = e.offsetY;
            } else {
              this.movedX = Math.floor((e.offsetX - this.startX) * 10); // console.log(e.offsetX, this.startX);
              // console.log(this.movedX);
              // console.log(this.movedY);

              this.initTime = this.initTime - this.movedX * 1000;

              if (this.initTime <= -1 * this.options.width / 2 * 1000 / 10) {
                this.initTime = -1 * this.options.width / 2 * 1000 / 10;
              } else if (this.initTime >= 24 * 60 * 60 * 1000 - this.options.width / 2 * 1000 / 10) {
                this.initTime = 24 * 60 * 60 * 1000 - this.options.width / 2 * 1000 / 10;
              } // ctx.clearRect(0, 0, canva.width, canva.height);


              this.initTimeline(this.options.width, 1, 10, this.initTime, 10);
              this.startX = e.offsetX;
            }
          }
        }
      }, {
        key: "onmouseleave",
        value: function onmouseleave() {
          if (this.isMouseDown) {
            this.isMouseDown = false;

            if (this.options.isMobile) {
              this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
            } else {
              this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
            } // canvasId.onmousemove = null;
            // console.log((this.initTime + (-1 * this.options.height / 2 * 1000) / 10) / 1000);


            if (this.options.isMobile) {
              if ((this.initTime + -1 * this.options.height / 2 * 1000 / 10) / 1000 > 0 && (this.initTime + 1 * this.options.height / 2 * 1000 / 10) / 1000 < 86400) {
                this.options.onChange((this.initTime + this.options.height / 2 * 1000 / 10) / 1000);
              } else if ((this.initTime + -1 * this.options.height / 2 * 1000 / 10) / 1000 < 0) {
                this.options.onChange(0);
              } else if ((this.initTime + 1 * this.options.height / 2 * 1000 / 10) / 1000 >= 86400) {
                this.options.onChange(86398);
              }
            } else {
              if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 > 0 && (this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 < 86400 + this.options.width / 2 / 10) {
                this.options.onChange((this.initTime + this.options.width / 2 * 1000 / 10) / 1000);
              } else if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 < 0) {
                this.options.onChange(0);
              } else if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 >= 86400 + this.options.width / 2 / 10) {
                this.options.onChange(86398);
              }
            } // canvasId.onmouseup = null;


            this.options.startTime();
          } // canvasId.onmouseup = null;

        }
      }, {
        key: "onmouseup",
        value: function onmouseup() {
          if (this.isMouseDown) {
            this.isMouseDown = false;

            if (this.options.isMobile) {
              this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
            } else {
              this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
            } // canvasId.onmousemove = null;
            // console.log((this.initTime + (-1 * this.options.height / 2 * 1000) / 10) / 1000);


            if (this.options.isMobile) {
              if ((this.initTime + -1 * this.options.height / 2 * 1000 / 10) / 1000 > 0 && (this.initTime + 1 * this.options.height / 2 * 1000 / 10) / 1000 < 86400) {
                this.options.onChange((this.initTime + this.options.height / 2 * 1000 / 10) / 1000);
              } else if ((this.initTime + -1 * this.options.height / 2 * 1000 / 10) / 1000 < 0) {
                this.options.onChange(0);
              } else if ((this.initTime + 1 * this.options.height / 2 * 1000 / 10) / 1000 >= 86400) {
                this.options.onChange(86398);
              }
            } else {
              if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 > 0 && (this.initTime + 1 * this.options.width / 2 * 1000 / 10) / 1000 < 86400) {
                this.options.onChange((this.initTime + this.options.width / 2 * 1000 / 10) / 1000);
              } else if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 < 0) {
                this.options.onChange(0);
              } else if ((this.initTime + 1 * this.options.width / 2 * 1000 / 10) / 1000 >= 86400) {
                this.options.onChange(86398);
              }
            } // canvasId.onmouseup = null;

          } // console.log(this.initTime + (15 * 10000) / 10);
          // canvasId.onmousemove = null;
          // canvasId.onmouseup = null;


          this.options.startTime();
        }
      }, {
        key: "ontouchstart",
        value: function ontouchstart(e) {
          // console.log(ctx, e);
          this.isMouseDown = true;
          this.options.stopTime();

          if (this.options.isMobile) {
            console.log(e.changedTouches[0]);

            if (!this.options.isFullScreen) {
              this.startY = e.changedTouches[0].clientY;
            } else {
              this.startY = e.changedTouches[0].clientX;
            } // this.startY = e.changedTouches[0].clientY;


            this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
          } else {
            this.startX = e.changedTouches[0].clientX;
            this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
          }
        }
      }, {
        key: "ontouchmove",
        value: function ontouchmove(e) {
          if (this.isMouseDown) {
            // this.movedY = e.offsetY - startY - (e.offsetY - startY) % 10;
            if (this.options.isMobile) {
              if (!this.options.isFullScreen) {
                this.movedY = Math.floor((e.changedTouches[0].clientY - this.startY) * 10);
              } else {
                console.log(e.changedTouches[0].clientY);
                this.movedY = Math.floor(this.startY - e.changedTouches[0].clientX);
                console.log(this.movedY);
              } // console.log(e.changedTouches[0].clientY, this.startY);
              // console.log(this.movedY);
              // console.log(this.movedY);


              this.initTime = this.initTime + this.movedY * 1000;

              if (this.initTime <= -1 * this.options.height / 2 * 1000 / 10) {
                this.initTime = -1 * this.options.height / 2 * 1000 / 10;
              } else if (this.initTime >= 24 * 60 * 60 * 1000 - this.options.height / 2 * 1000 / 10) {
                this.initTime = 24 * 60 * 60 * 1000 - this.options.height / 2 * 1000 / 10;
              } // ctx.clearRect(0, 0, canva.width, canva.height);


              this.initTimeline(this.options.height, 1, 10, this.initTime, 10);
              this.startY = e.changedTouches[0].clientY;

              if (!this.options.isFullScreen) {
                this.startY = e.changedTouches[0].clientY;
              } else {
                this.startY = e.changedTouches[0].clientX;
              }
            } else {
              this.movedX = Math.floor((e.changedTouches[0].clientX - this.startX) * 10); // console.log(e.changedTouches[0].clientX, this.startX);
              // console.log(this.movedX);
              // console.log(this.movedY);

              this.initTime = this.initTime - this.movedX * 1000;

              if (this.initTime <= -1 * this.options.width / 2 * 1000 / 10) {
                this.initTime = -1 * this.options.width / 2 * 1000 / 10;
              } else if (this.initTime >= 24 * 60 * 60 * 1000 - this.options.width / 2 * 1000 / 10) {
                this.initTime = 24 * 60 * 60 * 1000 - this.options.width / 2 * 1000 / 10;
              } // ctx.clearRect(0, 0, canva.width, canva.height);


              this.initTimeline(this.options.width, 1, 10, this.initTime, 10);
              this.startX = e.changedTouches[0].clientX;
            }
          }
        }
      }, {
        key: "ontouchend",
        value: function ontouchend() {
          if (this.isMouseDown) {
            this.isMouseDown = false;

            if (this.options.isMobile) {
              this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
            } else {
              this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
            } // canvasId.onmousemove = null;
            // console.log(this.initTime, (-1 * this.options.height / 2 * 1000) / 10);


            if (this.options.isMobile) {
              // console.log((this.initTime + (this.options.height / 2 * 1000) / 10) / 1000, '--------', 86400000 + this.options.height * 1000 / 2 / 10);
              if (this.initTime + -1 * this.options.height / 2 * 1000 / 10 > 0 && this.initTime + 1 * this.options.height / 2 * 1000 / 10 < 86400000) {
                this.options.onChange((this.initTime + this.options.height / 2 * 1000 / 10) / 1000);
              } else if (this.initTime + -1 * this.options.height / 2 * 1000 / 10 < 0) {
                this.options.onChange(0);
              } else if (this.initTime + 1 * this.options.height / 2 * 1000 / 10 >= 86400000) {
                this.options.onChange(86398);
              }
            } else {
              if (this.initTime + -1 * this.options.width / 2 * 1000 / 10 > 0 && this.initTime + 1 * this.options.width / 2 * 1000 / 10 < 86400000) {
                this.options.onChange((this.initTime + this.options.height / 2 * 1000 / 10) / 1000);
              } else if (this.initTime + -1 * this.options.width / 2 * 1000 / 10 < 0) {
                this.options.onChange(0);
              } else if (this.initTime + 1 * this.options.width / 2 * 1000 / 10 >= 86400000) {
                this.options.onChange(86398);
              }
            } // canvasId.onmouseup = null;

          }

          this.options.startTime(); // canvasId.onmouseup = null;
        } // canvasId.ontouchstart = function(e) {
        //     console.log(ctx, e);
        //     startY = e.changedTouches[0].clientY;
        //     drawLine(0, 150, 300, 150, "#f18d00", 2);
        //     canvasId.ontouchmove = function(e) {
        //         // movedY = e.offsetY - startY - (e.offsetY - startY) % 10;
        //         this.movedY = Math.floor((e.changedTouches[0].clientY - startY) * 10);
        //         // console.log(this.movedY);
        //         this.initTime = this.initTime - this.movedY * 1000;
        //         if (this.initTime <= -15000) {
        //             this.initTime = -15000;
        //         } else if (this.initTime >= 24 * 60 * 60 * 1000 - 15 * 1000) {
        //             this.initTime = 24 * 60 * 60 * 1000 - 15 * 1000;
        //         }
        //         // ctx.clearRect(0, 0, canva.width, canva.height);
        //         initTimeline(600, 1, 10, this.initTime, 10);
        //         startY = e.changedTouches[0].clientY;
        //         // ctx.putImageData(saveImageData, 0, 0)
        //     };
        //     // canvasId.onmouseleave = function() {
        //     //     drawLine(0, 150, 300, 150, "#f18d00", 2);
        //     //     canvasId.onmousemove = null;
        //     //     console.log(this.initTime + (60 * 10000) / 10);
        //     //     // canvasId.onmouseup = null;
        //     // };
        //     canvasId.ontouchend = function() {
        //         drawLine(0, 150, 300, 150, "#f18d00", 2);
        //         canvasId.onmousemove = null;
        //         console.log(this.initTime + (15 * 10000) / 10);
        //         // canvasId.onmouseup = null;
        //     };
        //     // canvasId.onclick = function(e) {
        //     // };
        // };

      }, {
        key: "updateTimeLine",
        value: function updateTimeLine(time) {
          if (this.options.isMobile) {
            this.initTime = (time - 16 * 3600) % 86400 * 1000 - this.options.height / 2 * 1000 / 10; // console.log(this.initTime, '------', (time % 86400) * 1000, '----------------', (-1 * this.options.height / 2 * 1000 / 10));

            this.initTimeline(this.options.height, 1, 10, this.initTime, 10);
          } else {
            this.initTime = (time - 16 * 3600) % 86400 * 1000 - this.options.width / 2 * 1000 / 10;
            this.initTimeline(this.options.width, 1, 10, this.initTime, 10);
          }
        }
      }, {
        key: "drawRecordArea",
        value: function drawRecordArea() {
          if (this.options.recordArea && this.options.recordArea.length > 0) {
            if (!this.options.isMobile) {
              for (var i = 0; i < this.options.recordArea.length; i++) {
                var startPosition = this.findPosition(this.options.recordArea[i].beginTime);
                var endPosition = this.findPosition(this.options.recordArea[i].endTime);
                this.ctx.fillStyle = "#384D65";
                this.ctx.fillRect(startPosition, 0, endPosition - startPosition, 60);
              }
            } else {
              for (var _i2 = 0; _i2 < this.options.recordArea.length; _i2++) {
                var _startPosition = this.findPosition(this.options.recordArea[_i2].beginTime);

                var _endPosition = this.findPosition(this.options.recordArea[_i2].endTime);

                if (!this.options.isMobile) {
                  this.ctx.rect(_startPosition, 0, _endPosition - _startPosition, 60);
                  this.ctx.fillStyle = "#446487";
                  this.ctx.fill();
                } else if (this.options.isMobile && this.options.isFullScreen) {
                  this.ctx.rect(0, _startPosition, 150, _endPosition - _startPosition);
                  this.ctx.fillStyle = "#446487";
                  this.ctx.fill();
                } else if (this.options.isMobile && !this.options.isFullScreen) {
                  this.ctx.rect(0, _startPosition, 40, _endPosition - _startPosition);
                  this.ctx.fillStyle = "#D6E5F7";
                  this.ctx.fill();
                }
              }
            }
          }
        }
      }, {
        key: "findPosition",
        value: function findPosition(time) {
          var scale = 10;
          var nowTimePostion;
          var currentTime;
          var position;

          if (this.options.isMobile) {
            currentTime = (time + 8 * 60 * 60) % 86400 * 1000 + -1 * this.options.height / 2 * 1000 / 10;
            nowTimePostion = this.options.height / 2; //总高度一半

            position = this.options.height - (nowTimePostion + (currentTime - this.initTime) / 1000 * scale);
          } else {
            currentTime = (time + 8 * 60 * 60) % 86400 * 1000 + -1 * this.options.width / 2 * 1000 / 10;
            nowTimePostion = this.options.width / 2;
            position = nowTimePostion + (currentTime - this.initTime) / 1000 * scale;
          }

          if (position <= 0) {
            position = 0;
          }

          return position;
        }
      }, {
        key: "init",
        value: function init(option) {
          var _this = this;

          this.options = option;
          this.recordArea = option.recordArea;
          this.canvasId = document.getElementById(option.id);
          this.ctx = this.canvasId.getContext("2d");

          if (this.options.isMobile) {
            this.initTime = -1 * this.options.height * 1000 / 2 / 10;
            this.canvasId.addEventListener("touchstart", function (e) {
              if (_this.readOnly) {
                return;
              } else {
                _this.ontouchstart(e);
              }
            });
            this.canvasId.addEventListener("touchmove", function (e) {
              e.preventDefault();

              if (_this.readOnly) {
                return;
              } else {
                _this.ontouchmove(e);
              }
            }, {
              passive: false
            });
            this.canvasId.addEventListener("touchend", function () {
              if (_this.readOnly) {
                return;
              } else {
                _this.ontouchend();
              }
            });
            this.initTimeline(this.options.height, 1, 10, this.initTime, 10);
          } else {
            this.initTime = -1 * this.options.width * 1000 / 2 / 10;
            this.canvasId.addEventListener("mousedown", function (e) {
              if (_this.readOnly) {
                return;
              } else {
                _this.onmousedown(e);
              }
            });
            this.canvasId.addEventListener("mousemove", function (e) {
              if (_this.readOnly) {
                return;
              } else {
                _this.onmousemove(e);
              }
            });
            this.canvasId.addEventListener("mouseleave", function () {
              if (_this.readOnly) {
                return;
              } else {
                _this.onmouseleave();
              }
            });
            this.canvasId.addEventListener("mouseup", function () {
              if (_this.readOnly) {
                return;
              } else {
                _this.onmouseup();
              }
            });
            this.initTimeline(this.options.width, 1, 10, this.initTime, 10);
          }

          if (this.options.recordArea.length > 0) {
            // this.drawRecordArea();
            this.unsetReadOnly();
          } else {
            this.setReadOnly();
          }
        }
      }, {
        key: "setReadOnly",
        value: function setReadOnly() {
          console.log("设置为只读");
          this.readOnly = true;
          var canvasList = document.getElementsByTagName("canvas");
          console.log(canvasList);

          for (var i = 0; i < canvasList.length; i++) {
            canvasList[i].style.cursor = "not-allowed";
          }
        }
      }, {
        key: "unsetReadOnly",
        value: function unsetReadOnly() {
          console.log("取消只读");
          this.readOnly = false;
          var canvasList = document.getElementsByTagName("canvas");
          console.log(canvasList);

          for (var i = 0; i < canvasList.length; i++) {
            canvasList[i].style.cursor = "pointer";
          }
        } // (setInterval(() => {
        //     this.initTime += 1000;
        //     this.updateTimeLine(this.initTime, 8);
        // }, 1000))();

      }]);

      return TimeLine;
    }();

/* harmony default export */ const timeLine = (TimeLine);
    ;// CONCATENATED MODULE: ./static/message.js
    var message = {
      background: "",
      // 背景颜色
      outside: "",
      // 外框元素
      inside: "",
      // 信息显示元素
      insideSetTime: "",
      // 信息移除setTime
      body: "",
      // body元素
      time: 0,
      // 显示时间
      run: function run() {
        var msg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "success";
        var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "success";
        var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2000;
        // 显示时间
        this.time = time; // 背景色

        this.background = this.backgroundCheck(type); // body

        this.body = document.body; // 时间戳id

        var id = "inside_box" + Date.now(); // 检查是否存在外框

        var outsideShow = document.getElementById("message_box_show");

        if (outsideShow != null) {
          // 文字显示区域
          this.inside = document.createElement("div");
          this.inside.setAttribute("class", "message_box_inside cc-display");
          this.inside.setAttribute("id", id);
          this.inside.style.backgroundColor = this.background;
          this.inside.innerHTML = "<span>".concat(msg, "</span>");
          outsideShow.appendChild(this.inside);
        } else {
          // 最外框
          this.outside = document.createElement("div");
          this.outside.setAttribute("id", "message_box_outside");
          this.outside.setAttribute("class", "cc-display"); // 中间区域

          outsideShow = document.createElement("div");
          outsideShow.setAttribute("id", "message_box_show"); // 文字显示区域

          this.inside = document.createElement("div");
          this.inside.setAttribute("class", "message_box_inside cc-display");
          this.inside.setAttribute("id", id);
          this.inside.style.backgroundColor = this.background;
          this.inside.innerHTML = "<span>".concat(msg, "</span>"); // 显示

          outsideShow.appendChild(this.inside);
          this.outside.appendChild(outsideShow);
          this.body.appendChild(this.outside);
        } // 添加监听


        this[id] = this.insideTime(this.inside, outsideShow);
        this.boxShowTime(this.inside, id, outsideShow);
      },
      // 信息显示区域展示
      boxShowTime: function boxShowTime(inside, insideSetTime, outsideShow) {
        var _this = this;

        inside.addEventListener("mouseleave", function () {
          // 离开后设置隐藏时间
          _this[insideSetTime] = _this.insideTime(inside, outsideShow);
        });
        inside.addEventListener("mouseenter", function () {
          // 清除隐藏设置
          clearTimeout(_this[insideSetTime]);
        });
      },
      // 信息区显示
      insideTime: function insideTime(inside, outsideShow) {
        var insideSetTime = setTimeout(function () {
          outsideShow.removeChild(inside);
        }, this.time);
        return insideSetTime;
      },
      // 判定显示颜色
      backgroundCheck: function backgroundCheck(type) {
        if (type === "success") return "#67C23A";
        if (type === "error") return "#F56C6C";
        if (type === "warning") return "#E6A23C"; // if (type === 'info') return '#909399';

        return "#909399"; // 默认级别
      }
    };
/* harmony default export */ const static_message = ((/* unused pure expression or super */ null && (message)));
    // EXTERNAL MODULE: ./src/assets/style/message.css
    var style_message = __webpack_require__(4455);
    ;// CONCATENATED MODULE: ./src/player.js

















    var _excluded = ["streamId", "protocolType", "streamType", "beginTime", "endTime"];

    function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }

    function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }

    function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = player_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() { }; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

    function player_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return player_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return player_arrayLikeToArray(o, minLen); }

    function player_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }











    // TODO: 样式操作待优化
    // TODO: 属性操作待优化
    // import $ from 'jquery';
    // const $ = require('../static/jquery-min.js')
    // import '../static/jquery-min';







    // import datePicker from 'bootstrap-datepicker';

    var _utils$logsFunction = src_utils.logsFunction(),
      log = _utils$logsFunction.log,
      info = _utils$logsFunction.info,
      error = _utils$logsFunction.error;

    var Player = /*#__PURE__*/function () {
      function Player(options) {
        var _this2 = this;

        _classCallCheck(this, Player);

        _defineProperty(this, "headerButtonList", function (_this, headerOption) {
          return [{
            id: "deviceName",
            name: "设备名称",
            innerHtml: "<div style=\"color:".concat(_this2.options.themeData[0].fontColor, "\">").concat(_this2.options.deviceId, "</div>"),
            onremove: function onremove(_this) {
              console.log("移除设备名称");

              _this2.removeBtn(_this, "header-control-left", "imou_player_header");
            }
          }, {
            id: "channalId",
            name: "设备通道",
            innerHtml: "<div style=\"color:".concat(_this2.options.themeData[0].fontColor, "\">\u901A\u9053").concat(_this2.options.channelId, "</div>"),
            onremove: function onremove(_this) {
              console.log("移除播放键");

              _this2.removeBtn(_this, "header-control-left", "imou_player_header");
            }
          }, {
            id: "cloudVideo",
            name: "云录像",
            innerHtml: "\n                    <div id=\"cloudVideoControl\" class=\"player_header-control-item\">\n                        <!-- \u4E91\u5F55\u50CF\u6309\u94AE\u5F00\u542F -->\n                        <svg title=\"\u5F00\u542F\u4E91\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"".concat(_this2.options.themeData[0].fontColor, "\" style=\"display:inline-block\" >\n                            <use xlink:href=\"#icon-Icon_YunLuXiang\"></use>\n                        </svg>\n                        <!-- \u4E91\u5F55\u50CF\u6309\u94AE\u5173\u95ED -->\n                        <svg title=\"\u5173\u95ED\u4E91\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"").concat(_this2.options.themeData[0].activeButtonColor, "\" style=\"display:none\" >\n                            <use xlink:href=\"#icon-Icon_YunLuXiang\"></use>\n                        </svg>\n                    </div>\n                "),
            onclick: function () {
              var _onclick = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee() {
                var cloudRecordButton, localRecordButton, cloudOffButton, cloudOnButton, localOffButton, localOnButton, res;
                return regenerator_default().wrap(function _callee$(_context) {
                  while (1) {
                    switch (_context.prev = _context.next) {
                      case 0:
                        if (!_this2.changeDisabled) {
                          _this2.changeDisabled = true;
                          _this2.isChangeDate = true;
                          _this2.playerStatus.playBackType = "cloudRecord";
                          cloudRecordButton = document.getElementById("cloudVideoControl");
                          localRecordButton = document.getElementById("localVideoControl");

                          if (cloudRecordButton) {
                            cloudOffButton = cloudRecordButton.children[0];
                            cloudOffButton.removeAttribute("style");
                            cloudOffButton.setAttribute("style", "display:none");
                            cloudOnButton = cloudRecordButton.children[1];
                            cloudOnButton.removeAttribute("style");
                            cloudOnButton.setAttribute("style", "display:inline-block");
                          }

                          if (localRecordButton) {
                            localOffButton = localRecordButton.children[0];
                            localOffButton.removeAttribute("style");
                            localOffButton.setAttribute("style", "display:inline-block");
                            localOnButton = localRecordButton.children[1];
                            localOnButton.removeAttribute("style");
                            localOnButton.setAttribute("style", "display:none");
                          }

                          _this2.urlParams.recordType = _this2.playerStatus.playBackType;
                          _this2.urlParams.beginTime = src_utils.getBeginInitFormatTime(new Date(_this2.urlParams.beginTime.replace(/-/g, '/')).getTime()); // this.pause();
                          // if (this.canvasPlayer) {
                          //     this.canvasPlayer.close()
                          // }

                          res = _this2.getRecordList();
                          res.then(function (data) {
                            console.log(data);
                          }).catch(function (err) {
                            console.log(err);
                          }).finally(function () {
                            var timeLineControl = document.getElementById("timeLine_web");
                            timeLineControl.removeChild(timeLineControl.childNodes[0]);
                            var webTimeLine = document.createElement("canvas");
                            webTimeLine.setAttribute("id", "player_timeLine-web");
                            webTimeLine.setAttribute("width", timeLineControl.clientWidth);
                            webTimeLine.setAttribute("height", timeLineControl.clientHeight);
                            timeLineControl.appendChild(webTimeLine);
                            var that = _this2;

                            _this2.timeLineWeb.init({
                              id: "player_timeLine-web",
                              onChange: function onChange(newTime) {
                                that.isMutedBackup = that.playerStatus.isMuted;
                                that.stopFresh = true;
                                console.log("time change", newTime);
                                console.log(that.dateTime, "-----------------------2295");
                                that.changeTime = that.dateTime + newTime * 1000;
                                console.log(src_utils.getFormatTime(that.changeTime), "abcdesdfgedasdddddddd");
                                that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                                that.createPlayerInstance();
                              },
                              startTime: function startTime() {
                                that.stopFresh = false; // that.start();

                                that.startTimeLine(that, that.changeTime);
                              },
                              stopTime: function stopTime() {
                                that.stopFresh = true; // that.stop();

                                that.changeTimeLine = true;
                                that.stopTimeLine(that);
                              },
                              recordArea: that.playerStatus.recordList,
                              isMobile: false,
                              isFullScreen: false,
                              height: timeLineControl.clientHeight,
                              width: timeLineControl.clientWidth
                            }); // this.isMutedBackup = this.playerStatus.isMuted;


                            _this2.createPlayerInstance();

                            _this2.changeDisabled = false;
                          });
                        }

                      case 1:
                      case "end":
                        return _context.stop();
                    }
                  }
                }, _callee);
              }));

              function onclick() {
                return _onclick.apply(this, arguments);
              }

              return onclick;
            }()
          }, {
            id: "localVideo",
            name: "本地录像",
            innerHtml: "\n                    <div id=\"localVideoControl\" class=\"player_header-control-item\">\n                        <!-- \u672C\u5730\u5F55\u50CF\u6309\u94AE\u5F00\u542F -->\n                        <svg title=\"\u5F00\u542F\u672C\u5730\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"".concat(_this2.options.themeData[0].fontColor, "\" style=\"display:inline-block\" >\n                            <use xlink:href=\"#icon-Icon_BenDiLuXiang\"></use>\n                        </svg>\n                        <!-- \u672C\u5730\u50CF\u6309\u94AE\u5173\u95ED -->\n                        <svg title=\"\u5173\u95ED\u672C\u5730\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"").concat(_this2.options.themeData[0].activeButtonColor, "\" style=\"display:none\" >\n                            <use xlink:href=\"#icon-Icon_BenDiLuXiang\"></use>\n                        </svg>\n                    </div>\n                "),
            onclick: function () {
              var _onclick2 = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee2() {
                var cloudRecordButton, localRecordButton, cloudOffButton, cloudOnButton, localOffButton, localOnButton, res;
                return regenerator_default().wrap(function _callee2$(_context2) {
                  while (1) {
                    switch (_context2.prev = _context2.next) {
                      case 0:
                        if (!_this2.changeDisabled) {
                          _this2.changeDisabled = true;
                          _this2.isChangeDate = true;
                          _this2.playerStatus.playBackType = "localRecord";
                          cloudRecordButton = document.getElementById("cloudVideoControl");
                          localRecordButton = document.getElementById("localVideoControl");

                          if (cloudRecordButton) {
                            cloudOffButton = cloudRecordButton.children[0];
                            cloudOffButton.removeAttribute("style");
                            cloudOffButton.setAttribute("style", "display:inline-block");
                            cloudOnButton = cloudRecordButton.children[1];
                            cloudOnButton.removeAttribute("style");
                            cloudOnButton.setAttribute("style", "display:none");
                          }

                          if (localRecordButton) {
                            localOffButton = localRecordButton.children[0];
                            localOffButton.removeAttribute("style");
                            localOffButton.setAttribute("style", "display:none");
                            localOnButton = localRecordButton.children[1];
                            localOnButton.removeAttribute("style");
                            localOnButton.setAttribute("style", "display:inline-block");
                          }

                          _this2.urlParams.recordType = _this2.playerStatus.playBackType;
                          _this2.urlParams.beginTime = src_utils.getBeginInitFormatTime(new Date(_this2.urlParams.beginTime.replace(/-/g, '/')).getTime()); // this.pause()
                          // this.pause();
                          // if (this.canvasPlayer) {
                          //     this.canvasPlayer.close()
                          // }

                          res = _this2.getRecordList();
                          res.then(function (data) {
                            console.log(data);
                          }).catch(function (err) {
                            console.log(err);
                          }).finally(function () {
                            var timeLineControl = document.getElementById("timeLine_web");
                            timeLineControl.removeChild(timeLineControl.childNodes[0]);
                            var webTimeLine = document.createElement("canvas");
                            webTimeLine.setAttribute("id", "player_timeLine-web");
                            webTimeLine.setAttribute("width", timeLineControl.clientWidth);
                            webTimeLine.setAttribute("height", timeLineControl.clientHeight);
                            timeLineControl.appendChild(webTimeLine);
                            var that = _this2;

                            _this2.timeLineWeb.init({
                              id: "player_timeLine-web",
                              onChange: function onChange(newTime) {
                                that.isMutedBackup = that.playerStatus.isMuted;
                                that.stopFresh = true;
                                console.log("time change", newTime);
                                console.log(that.dateTime, "-----------------------2379");
                                that.changeTime = that.dateTime + newTime * 1000;
                                console.log(src_utils.getFormatTime(that.changeTime), "abcdesdfgedasdddddddd");
                                that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                                that.createPlayerInstance();
                              },
                              startTime: function startTime() {
                                that.stopFresh = false; // that.start();

                                that.startTimeLine(that, that.changeTime);
                              },
                              stopTime: function stopTime() {
                                that.stopFresh = true; // that.stop();

                                that.changeTimeLine = true;
                                that.stopTimeLine(that);
                              },
                              recordArea: that.playerStatus.recordList,
                              isMobile: false,
                              isFullScreen: false,
                              height: timeLineControl.clientHeight,
                              width: timeLineControl.clientWidth
                            }); // this.isMutedBackup = this.playerStatus.isMuted;


                            _this2.createPlayerInstance();

                            _this2.changeDisabled = false;
                          }); // this.play();
                        }

                      case 1:
                      case "end":
                        return _context2.stop();
                    }
                  }
                }, _callee2);
              }));

              function onclick() {
                return _onclick2.apply(this, arguments);
              }

              return onclick;
            }()
          }];
        });

        _defineProperty(this, "showHeaderList", function (header) {
          var result = [];

          if (header.buttonList) {
            // result.push({ footerContainer: true });
            var _iterator = _createForOfIteratorHelper(header.buttonList),
              _step;

            try {
              for (_iterator.s(); !(_step = _iterator.n()).done;) {
                var item = _step.value;

                switch (item.id) {
                  // 移动端不添加网页全屏按钮
                  case "cloudVideo":
                    if (!_this2.playerStatus.isMobile && _this2.playerStatus.isPlayBack) {
                      result.push(item);
                    }

                    break;

                  case "localVideo":
                    if (!_this2.playerStatus.isMobile && _this2.playerStatus.isPlayBack) {
                      result.push(item);
                    }

                    break;

                  default:
                    result.push(item);
                    break;
                }
              }
            } catch (err) {
              _iterator.e(err);
            } finally {
              _iterator.f();
            }
          }

          return result;
        });

        _defineProperty(this, "addHeaderEditItem", function (item) {
          var editSVG; // 编辑按钮组合dom

          var objE; // 临时存储对象

          var dom; // 处理后得到的的dom

          if (_this2.playerStatus.isEdit && item.id !== "cloudVideo" && item.id !== "localVideo") {
            editSVG = "\n                <span id=\"".concat(item.id, "\" style=\"position:relative;margin:0 4px\">\n                    <div id=\"").concat(item.id, "-content\" title=\"").concat(item.name, "\" style=\"height:100%;display:flex; justify-content:center; align-items:center\">\n                        ").concat(item.innerHtml, "\n                    </div>\n                    <div id=\"").concat(item.id, "-remove\" style=\"position: absolute;top: -2px;left: calc(100% - 6px);display: inline-block; \">\n                        <svg title=\"\u56FE\u6807\u5220\u9664\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"10\" style=\"background:#000000\" >\n                            <use xlink:href=\"#icon-Console_icon_delete\"></use>\n                        </svg>\n                    </div>\n                </span> \n            ");
          } else {
            editSVG = "\n                <span id=\"".concat(item.id, "\" style=\"position:relative;margin:0 4px\">\n                    <div id=\"").concat(item.id, "-content\" title=\"").concat(item.name, "\" style=\"height:100%;display:flex; justify-content:center; align-items:center\">\n                        ").concat(item.innerHtml, "\n                    </div>\n                    <div id=\"").concat(item.id, "-remove\" style=\"position: absolute;top: -2px;left: calc(100% - 6px);display: none; \">\n                        <svg title=\"\u56FE\u6807\u5220\u9664\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"10\" style=\"background:#000000\" >\n                            <use xlink:href=\"#icon-Console_icon_delete\"></use>\n                        </svg>\n                    </div>\n                </span>  \n            ");
          }

          objE = document.createElement("div");
          objE.innerHTML = editSVG;
          dom = objE.children[0]; // 绑定事件，[0]：左移按钮dom，[1]：主体按钮dom，[2]：右移按钮dom，[3]：移除按钮dom

          if (item.onclick) {
            dom.children[0].onclick = function () {
              item.onclick();
            };
          }

          if (item.onremove) {
            dom.children[1].onclick = function () {
              item.onremove(this);
            };
          }

          return dom;
        });

        _defineProperty(this, "footerButtonList", function () {
          return [{
            id: "play",
            name: "播放/暂停",
            innerHtml: "\n            <div id=\"playerControl\" class=\"player_footer-control-item\">\n                <!-- \u6682\u505C\u6309\u94AE -->\n                <svg title=\"\u64AD\u653E\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n                    <use xlink:href=\"#icon-Icon_Play\"></use>\n                </svg>\n                <!-- \u64AD\u653E\u6309\u94AE -->\n                <svg title=\"\u6682\u505C\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].fontColor, "\" style=\"display:none\" >\n                    <use xlink:href=\"#icon-Icon_Stop\"></use>\n                </svg>\n            </div>"),
            onclick: function onclick() {
              if (!_this2.playerStatus.isEdit) {
                console.log("点击播放/暂停");

                _this2.playOrPause();

                var _PlayerControl = document.getElementById("playerControl");

                if (_this2.isPlaying) {
                  var playButton = _PlayerControl.children[0];
                  playButton.removeAttribute("style");
                  playButton.setAttribute("style", "display:none");
                  var pauseButton = _PlayerControl.children[1];
                  pauseButton.removeAttribute("style");
                  pauseButton.setAttribute("style", "display:inline-block");
                } else {
                  var _pauseButton = _PlayerControl.children[1];

                  _pauseButton.removeAttribute("style");

                  _pauseButton.setAttribute("style", "display:none");

                  var _playButton = _PlayerControl.children[0];

                  _playButton.removeAttribute("style");

                  _playButton.setAttribute("style", "display:inline-block");
                }
              } else {
                console.log("编辑状态下不响应事件");
              }
            },
            onmoveleft: function onmoveleft(_this) {
              console.log("播放键左移");

              _this2.moveToLeft(_this, "footer-control-left");
            },
            onmoveright: function onmoveright(_this) {
              console.log("播放键右移");

              _this2.moveToRight(_this, "footer-control-left");
            },
            onremove: function onremove(_this) {
              console.log("移除播放键");

              _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
            }
          }, {
            id: "mute",
            name: "音量控制",
            innerHtml: "\n            <div id=\"MuteControl\" class=\"player_footer-control-item\">\n                <!-- \u97F3\u91CF\u6253\u5F00\u6309\u94AE -->\n                <svg title=\"\u97F3\u91CF\u6253\u5F00\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n                    <use xlink:href=\"#icon-Icon_Voice\"></use>\n                </svg>\n                <!-- \u97F3\u91CF\u5173\u95ED\u6309\u94AE -->\n                <svg title=\"\u97F3\u91CF\u5173\u95ED\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].fontColor, "\" style=\"display:none\" >\n                    <use xlink:href=\"#icon-Icon_JingYin\"></use>\n                </svg>\n            </div>"),
            onclick: function onclick() {
              if (!_this2.playerStatus.isEdit) {
                if (!_this2.isInitialized) {
                  console.log("点击音量控制");
                  _this2.playerStatus.isMuted = !_this2.playerStatus.isMuted;
                  console.log(typeof window.WeixinJSBridge == "undefined", window.WeixinJSBridge, "---------------------");
                  var that = _this2;

                  if (window.WeixinJSBridge) {
                    WeixinJSBridge.invoke("getNetworkType", {}, function (e) {
                      console.log("getNetworkType");

                      if (that.playerStatus.isMuted) {
                        console.log("微信触发audioPause");
                        that.canvasPlayer.setAudioVolume(0);
                      } else {
                        console.log("微信触发audioPlay");
                        that.canvasPlayer.setAudioVolume(1);
                      }
                    });
                  }

                  var MuteControl = document.getElementById("MuteControl");

                  if (!_this2.playerStatus.isMuted) {
                    var MuteOffButton = MuteControl.children[1];
                    MuteOffButton.removeAttribute("style");
                    MuteOffButton.setAttribute("style", "display:none");
                    var MuteOnButton = MuteControl.children[0];
                    MuteOnButton.removeAttribute("style");
                    MuteOnButton.setAttribute("style", "display:inline-block");
                  } else {
                    var _MuteOnButton = MuteControl.children[0];

                    _MuteOnButton.removeAttribute("style");

                    _MuteOnButton.setAttribute("style", "display: none");

                    var _MuteOffButton = MuteControl.children[1];

                    _MuteOffButton.removeAttribute("style");

                    _MuteOffButton.setAttribute("style", "display: inline-block");
                  }
                }
              } else {
                console.log("编辑状态下不响应事件");
              }
            },
            onmoveleft: function onmoveleft(_this) {
              console.log("音量键左移");

              _this2.moveToLeft(_this, "footer-control-left");
            },
            onmoveright: function onmoveright(_this) {
              console.log("音量键右移");

              _this2.moveToRight(_this, "footer-control-left");
            },
            onremove: function onremove(_this) {
              console.log("移除音量键");

              _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
            }
          }, {
            id: "capture",
            name: "截图",
            innerHtml: "\n                    <div id=\"captureControl\" class=\"player_footer-control-item\">\n                        <!-- \u622A\u56FE\u6309\u94AE -->\n                        <svg title=\"\u622A\u56FE\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n                            <use xlink:href=\"#icon-Icon_ScreenShot\"></use>\n                        </svg>\n                    </div>"),
            onclick: function onclick() {
              if (!_this2.playerStatus.isEdit) {
                console.log("点击截图");

                if (_this2.canvasPlayer) {
                  try {
                    _this2.canvasPlayer.capture(new Date());
                  } catch (e) {
                    console.log("抓图失败：", e);
                  }
                } else {
                  console.log("编译器未播放");
                }
              } else {
                console.log("编辑状态下不响应事件");
              }
            },
            onmoveleft: function onmoveleft(_this) {
              console.log("截图键左移");

              _this2.moveToLeft(_this, "footer-control-left");
            },
            onmoveright: function onmoveright(_this) {
              console.log("截图键右移");

              _this2.moveToRight(_this, "footer-control-left");
            },
            onremove: function onremove(_this) {
              console.log("移除截图键");

              _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
            }
          }, {
            id: "talk",
            name: "对讲",
            innerHtml: "\n                    <div id=\"talkControl\" class=\"player_footer-control-item\">\n                        <!-- \u5BF9\u8BB2\u6309\u94AE -->\n                        <svg title=\"\u5BF9\u8BB2\u6253\u5F00\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:none\">\n                            <use xlink:href=\"#icon-icon_yuyin\"></use>\n                        </svg>\n                        <svg title=\"\u5BF9\u8BB2\u6253\u5F00\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].fontColor, "\"  style=\"display:inline-block\">\n                        <use xlink:href=\"#icon-icon_yuyinguanbi\"></use>\n                    </svg>\n                    </div>"),
            onclick: function onclick() {
              if (!_this2.playerStatus.isEdit) {
                console.log("点击对讲");

                _this2.talkStartOrStop();
              } else {
                console.log("编辑状态下不响应事件");
              }
            },
            onmoveleft: function onmoveleft(_this) {
              console.log("全屏键左移");

              _this2.moveToLeft(_this, "footer-control-left");
            },
            onmoveright: function onmoveright(_this) {
              console.log("全屏键右移");

              _this2.moveToRight(_this, "footer-control-left");
            },
            onremove: function onremove(_this) {
              console.log("移除全屏键");

              _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
            }
          }, {
            id: "PTZ",
            name: "控制云台",
            innerHtml: "\n            <div id=\"PTZControl\" class=\"player_footer-control-item\">\n                <!-- \u4E91\u53F0\u5173\u95ED -->\n                <svg title=\"\u4E91\u53F0\u5173\u95ED\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n                    <use xlink:href=\"#icon-Icon_YunTai\"></use>\n                </svg>\n                <!-- \u4E91\u53F0\u5F00\u542F -->\n                <svg title=\"\u4E91\u53F0\u5F00\u542F\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].activeButtonColor, "\" style=\"display:none\" >\n                    <use xlink:href=\"#icon-Icon_YunTai\"></use>\n                </svg>\n            </div>"),
            onclick: function onclick() {
              console.log("点击云台开启/关闭");

              if (!_this2.playerStatus.isEdit) {
                var PTZControl = document.getElementById("PTZControl");

                if (_this2.playerStatus.isPTZOpen) {
                  var PTZCloseButton = PTZControl.children[1];
                  PTZCloseButton.removeAttribute("style");
                  PTZCloseButton.setAttribute("style", "display:none");
                  var PTZOpenButton = PTZControl.children[0];
                  PTZOpenButton.removeAttribute("style");
                  PTZOpenButton.setAttribute("style", "display:inline-block");

                  if (!(_this2.playerStatus.isMobile && !_this2.playerStatus.isFullScreen)) {
                    var panel = document.getElementById("PTZArea");

                    if (panel) {
                      panel.style = "";
                    }
                  }
                } else {
                  var _PTZOpenButton = PTZControl.children[0];

                  _PTZOpenButton.removeAttribute("style");

                  _PTZOpenButton.setAttribute("style", "display:none");

                  var _PTZCloseButton = PTZControl.children[1];

                  _PTZCloseButton.removeAttribute("style");

                  _PTZCloseButton.setAttribute("style", "display:inline-block");

                  if (!(_this2.playerStatus.isMobile && !_this2.playerStatus.isFullScreen)) {
                    var _panel = document.getElementById("PTZArea");

                    if (_panel) {
                      _panel.style = "display:block";
                    }
                  }
                }

                _this2.playerStatus.isPTZOpen = !_this2.playerStatus.isPTZOpen;
              } else {
                console.log("编辑状态下不响应事件");
              }
            },
            onmoveleft: function onmoveleft(_this) {
              console.log("清晰度键左移");

              _this2.moveToLeft(_this, "footer-control-right");
            },
            onmoveright: function onmoveright(_this) {
              console.log("清晰度键右移");

              _this2.moveToRight(_this, "footer-control-right");
            },
            onremove: function onremove(_this) {
              console.log("移除清晰度键");

              _this2.removeBtn(_this, "footer-control-right", "imou_player_footer");
            }
          }, {
            id: "definition",
            name: "清晰度切换",
            innerHtml: "\n            <div id=\"DefinitionControl\" class=\"player_footer-control-item\">\n                <!-- \u9AD8\u6E05\u6309\u94AE -->\n                <svg title=\"\u9AD8\u6E05\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n                    <use xlink:href=\"#icon-Icon_HD\"></use>\n                </svg>\n                <!-- \u6807\u6E05\u6309\u94AE -->\n                <svg title=\"\u6807\u6E05\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].fontColor, "\" style=\"display:none\" >\n                    <use xlink:href=\"#icon-Icon_SD\"></use>\n                </svg>\n            </div>"),
            onclick: function onclick() {
              console.log("点击切换清晰度");

              if (!_this2.playerStatus.isEdit) {
                var definitionControl = document.getElementById("DefinitionControl");

                _this2.canvasPlayer.audioStop();

                if (_this2.playerStatus.isHD) {
                  var hdButton = definitionControl.children[0];
                  hdButton.removeAttribute("style");
                  hdButton.setAttribute("style", "display:none");
                  var sdButton = definitionControl.children[1];
                  sdButton.removeAttribute("style");
                  sdButton.setAttribute("style", "display:inline-block");
                } else {
                  var _sdButton = definitionControl.children[1];

                  _sdButton.removeAttribute("style");

                  _sdButton.setAttribute("style", "display:none");

                  var _hdButton = definitionControl.children[0];

                  _hdButton.removeAttribute("style");

                  _hdButton.setAttribute("style", "display:inline-block");
                }

                _this2.playerStatus.isHD = !_this2.playerStatus.isHD;
                _this2.urlParams.streamId = _this2.playerStatus.isHD ? 0 : 1; // this.pause()
                // if (this.canvasPlayer) {
                //     this.canvasPlayer.close()
                //
                // let audioList = document.querySelector("audio");
                // audioList.pause();
                // audioList.parentNode.removeChild(audioList);
                // console.log();
                // this.isMutedBackup = this.playerStatus.isMuted;

                _this2.createPlayerInstance(); // this.play();

              } else {
                console.log("编辑状态下不响应事件");
              }
            },
            onmoveleft: function onmoveleft(_this) {
              console.log("清晰度键左移");

              _this2.moveToLeft(_this, "footer-control-right");
            },
            onmoveright: function onmoveright(_this) {
              console.log("清晰度键右移");

              _this2.moveToRight(_this, "footer-control-right");
            },
            onremove: function onremove(_this) {
              console.log("移除清晰度键");

              _this2.removeBtn(_this, "footer-control-right", "imou_player_footer");
            }
          }, {
            id: "webExpend",
            name: "网页全屏",
            innerHtml: "\n                    <div id=\"webExtendControl\" class=\"player_footer-control-item\">\n                        <!-- \u5168\u5C4F\u63A7\u5236\u6309\u94AE -->\n                        <svg title=\"\u5168\u5C4F/\u6062\u590D\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n                            <use xlink:href=\"#icon-Icon_WangYeQuanPing\"></use>\n                        </svg>\n                        <svg title=\"\u5168\u5C4F/\u6062\u590D\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].activeButtonColor, "\" style=\"display:none\" >\n                            <use xlink:href=\"#icon-Icon_WangYeQuanPing\"></use>\n                        </svg>\n                    </div>"),
            onclick: function onclick() {
              if (!_this2.playerStatus.isEdit) {
                var webExtendControl = document.getElementById("webExtendControl");

                if (_this2.playerStatus.isWebFullScreen) {
                  var sdButton = webExtendControl.children[1];
                  sdButton.removeAttribute("style");
                  sdButton.setAttribute("style", "display:none");
                  var hdButton = webExtendControl.children[0];
                  hdButton.removeAttribute("style");
                  hdButton.setAttribute("style", "display:inline-block");
                } else {
                  var _hdButton2 = webExtendControl.children[0];

                  _hdButton2.removeAttribute("style");

                  _hdButton2.setAttribute("style", "display:none");

                  var _sdButton2 = webExtendControl.children[1];

                  _sdButton2.removeAttribute("style");

                  _sdButton2.setAttribute("style", "display:inline-block");
                }

                _this2._toggleWebFullScreen();

                setTimeout(function () {
                  var app = document.getElementById(_this2.rootId);
                  console.log(_this2.playerStatus.isFullScreen);

                  if (_this2.playerStatus.isPlayBack) {
                    var timeLineControl = document.getElementById("timeLine_web");
                    timeLineControl.removeChild(timeLineControl.childNodes[0]);
                    var webTimeLine = document.createElement("canvas");
                    webTimeLine.setAttribute("id", "player_timeLine-web");
                    webTimeLine.setAttribute("width", timeLineControl.clientWidth);
                    webTimeLine.setAttribute("height", timeLineControl.clientHeight);
                    timeLineControl.appendChild(webTimeLine);
                    var that = _this2;

                    _this2.timeLineWeb.init({
                      id: "player_timeLine-web",
                      onChange: function onChange(newTime) {
                        that.isMutedBackup = that.playerStatus.isMuted;
                        that.stopFresh = true;
                        console.log("time change", newTime);
                        console.log(that.dateTime, "-----------------------2819");
                        that.changeTime = that.dateTime + newTime * 1000;
                        that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                        that.createPlayerInstance();
                      },
                      startTime: function startTime() {
                        that.stopFresh = false; // that.start();

                        that.startTimeLine(that, that.changeTime);
                      },
                      stopTime: function stopTime() {
                        // that.pause()
                        that.stopFresh = true; // that.stop();

                        that.changeTimeLine = true;
                        that.stopTimeLine(that);
                      },
                      recordArea: that.playerStatus.recordList,
                      isMobile: false,
                      isFullScreen: false,
                      height: timeLineControl.clientHeight,
                      width: timeLineControl.clientWidth
                    });
                  }
                }, 100);
              } else {
                console.log("编辑状态下不响应事件");
              }
            },
            onmoveleft: function onmoveleft(_this) {
              console.log("全屏键左移");

              _this2.moveToLeft(_this, "footer-control-left");
            },
            onmoveright: function onmoveright(_this) {
              console.log("全屏键右移");

              _this2.moveToRight(_this, "footer-control-left");
            },
            onremove: function onremove(_this) {
              console.log("移除全屏键");

              _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
            }
          }, {
            id: "extend",
            name: "全屏控制",
            innerHtml: "\n            <div id=\"ExtendControl\" class=\"player_footer-control-item\">\n                <!-- \u5168\u5C4F\u63A7\u5236\u6309\u94AE -->\n                <svg title=\"\u5168\u5C4F/\u6062\u590D\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n                    <use xlink:href=\"#icon-Icon_QuanPing\"></use>\n                </svg>\n                <svg title=\"\u5168\u5C4F/\u6062\u590D\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].activeButtonColor, "\" style=\"display:none\" >\n                    <use xlink:href=\"#icon-Icon_QuanPing\"></use>\n                </svg>\n            </div>"),
            onclick: function onclick() {
              if (!_this2.playerStatus.isWebFullScreen) {
                if (!_this2.playerStatus.isEdit) {
                  console.log("点击全屏");
                  var ExtendControl = document.getElementById("ExtendControl");

                  if (_this2.playerStatus.isFullScreen) {
                    var sdButton = ExtendControl.children[1];
                    sdButton.removeAttribute("style");
                    sdButton.setAttribute("style", "display:none");
                    var hdButton = ExtendControl.children[0];
                    hdButton.removeAttribute("style");
                    hdButton.setAttribute("style", "display:inline-block");
                  } else {
                    var _hdButton3 = ExtendControl.children[0];

                    _hdButton3.removeAttribute("style");

                    _hdButton3.setAttribute("style", "display:none");

                    var _sdButton3 = ExtendControl.children[1];

                    _sdButton3.removeAttribute("style");

                    _sdButton3.setAttribute("style", "display:inline-block");
                  }

                  if (_this2.playerStatus.isMobile && !_this2.playerStatus.isFullScreen) {
                    var PTZControl = document.getElementById("PTZControl");

                    if (PTZControl) {
                      var PTZCloseButton = PTZControl.children[1];
                      PTZCloseButton.removeAttribute("style");
                      PTZCloseButton.setAttribute("style", "display:none");
                      var PTZOpenButton = PTZControl.children[0];
                      PTZOpenButton.removeAttribute("style");
                      PTZOpenButton.setAttribute("style", "display:inline-block");
                    }

                    var panel = document.getElementById("PTZArea");

                    if (panel) {
                      panel.style = "display:none";
                    }

                    _this2.playerStatus.isPTZOpen = !_this2.playerStatus.isPTZOpen;
                  }

                  _this2.btnFullScreen = document.querySelector("#ExtendControl");
                  _this2.currentHeaderButtonList = _this2.showHeaderList(_this2.themeData[0]);
                  console.log(_this2.currentHeaderButtonList);
                  var leftDOM = document.getElementById("header-control-left");
                  var rightDOM = document.getElementById("header-control-right");
                  leftDOM.innerHTML = "";
                  rightDOM.innerHTML = "";

                  _this2.currentHeaderButtonList.forEach(function (item) {
                    _this2.headerButtonList().map(function (value) {
                      if (item.id === value.id && item.show === true) {
                        var ButtonItemDom = _this2.addHeaderEditItem(value); // if (item.isActive == true) {}


                        if (item.position === "left") {
                          leftDOM.appendChild(ButtonItemDom);
                        } else {
                          rightDOM.appendChild(ButtonItemDom);
                        }
                      }
                    });
                  });

                  if ((platform_default()).os.family !== "iOS") {
                    window.addEventListener("keydown", function (e) {
                      var value = e.keyCode || e.which;

                      if (_this2.isFullScreen && value === 27) {
                        console.info("esc");

                        _this2._toggleFullScreen();
                      }
                    });
                    document.addEventListener("webkitfullscreenchange", function (e) {
                      if (!e.currentTarget.webkitIsFullScreen) _this2.exitFullScreen.call(_this2);
                    });
                    document.addEventListener("fullscreenchange", function (e) {
                      if (!document.fullscreen) _this2.exitFullScreen();
                    });
                  }

                  if (_this2.playerStatus.isMobile && _this2.playerStatus.isPlayBack) {
                    var H5TimeLinePanel = document.getElementById("Timeline-h5-extend-Area");

                    if (!_this2.isH5ExtendShow) {
                      H5TimeLinePanel.removeAttribute("style");
                      H5TimeLinePanel.setAttribute("style", "display:block");
                    } else {
                      H5TimeLinePanel.removeAttribute("style");
                      H5TimeLinePanel.setAttribute("style", "display:none");
                    }

                    _this2.isH5ExtendShow = !_this2.isH5ExtendShow;
                  }

                  if (!_this2.playerStatus.isMobile) {
                    if (_this2.playerStatus.isPlayBack && _this2.playerStatus.playBackType == "localRecord") {
                      var localRecordButton = document.getElementById("localVideoControl");
                      var localOffButton = localRecordButton.children[0];
                      localOffButton.removeAttribute("style");
                      localOffButton.setAttribute("style", "display:none");
                      var localOnButton = localRecordButton.children[1];
                      localOnButton.removeAttribute("style");
                      localOnButton.setAttribute("style", "display:inline-block");
                    } else if (_this2.playerStatus.isPlayBack && _this2.playerStatus.playBackType == "cloudRecord") {
                      var cloudRecordButton = document.getElementById("cloudVideoControl");
                      var cloudOffButton = cloudRecordButton.children[0];
                      cloudOffButton.removeAttribute("style");
                      cloudOffButton.setAttribute("style", "display:none");
                      var cloudOnButton = cloudRecordButton.children[1];
                      cloudOnButton.removeAttribute("style");
                      cloudOnButton.setAttribute("style", "display:inline-block");
                    }

                    var app = document.getElementById(_this2.rootId);
                    console.log(_this2.playerStatus.isFullScreen);

                    if (!_this2.playerStatus.isFullScreen) {
                      _this2._toggleFullScreen();

                      setTimeout(function () {
                        app.style.height = window.innerHeight + "px";
                        app.style.width = window.innerWidth + "px";
                      }, 300); // app.style.zIndex = '5000'
                    } else {
                      _this2._toggleFullScreen();

                      console.log(_this2.options.width, _this2.options.height);
                      app.style.width = _this2.options.width;
                      app.style.height = _this2.options.height; // app.style.zIndex = '0'
                    }

                    setTimeout(function () {
                      if (_this2.playerStatus.isPlayBack) {
                        var timeLineControl = document.getElementById("timeLine_web");
                        timeLineControl.removeChild(timeLineControl.childNodes[0]);
                        var webTimeLine = document.createElement("canvas");
                        webTimeLine.setAttribute("id", "player_timeLine-web");
                        webTimeLine.setAttribute("width", timeLineControl.clientWidth);
                        webTimeLine.setAttribute("height", timeLineControl.clientHeight);
                        timeLineControl.appendChild(webTimeLine);
                        var that = _this2;

                        _this2.timeLineWeb.init({
                          id: "player_timeLine-web",
                          onChange: function onChange(newTime) {
                            that.isMutedBackup = that.playerStatus.isMuted;
                            that.stopFresh = true;
                            console.log("time change", newTime);
                            console.log(that.dateTime, "-----------------------3016");
                            that.changeTime = that.dateTime + newTime * 1000;
                            that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                            that.createPlayerInstance();
                          },
                          startTime: function startTime() {
                            that.stopFresh = false; // that.start();

                            that.startTimeLine(that, that.changeTime);
                          },
                          stopTime: function stopTime() {
                            // that.pause()
                            that.stopFresh = true; // that.stop();

                            that.changeTimeLine = true;
                            that.stopTimeLine(that);
                          },
                          recordArea: that.playerStatus.recordList,
                          isMobile: false,
                          isFullScreen: false,
                          height: timeLineControl.clientHeight,
                          width: timeLineControl.clientWidth
                        });
                      }
                    }, 300);
                  } else {
                    setTimeout(function () {
                      var app = document.getElementById(_this2.rootId);
                      console.log(_this2.playerStatus.isFullScreen);

                      if (!_this2.playerStatus.isFullScreen) {
                        app.style.height = window.innerWidth + "px";
                        app.style.width = window.innerHeight + "px";
                        console.log(app.getBoundingClientRect(), app.getBoundingClientRect(), "-------------------");
                        app.style.transformOrigin = "top left";
                        app.style.transform = "rotate(90deg) translateY(-100%)";
                        app.style.zIndex = "200";
                        app.style.position = "fixed";
                      } else {
                        app.style.width = window.innerWidth + "px";
                        app.style.height = parseInt(window.innerWidth * 9 / 16) + "px";
                        app.style.transform = "rotate(0deg)";
                        app.style.zIndex = "0";
                        app.style.position = "static";
                      }

                      if (_this2.playerStatus.isPlayBack) {
                        var H5TimelineExtendPanel = document.getElementById("Timeline-h5-extend-Panel");
                        console.log(H5TimelineExtendPanel.clientWidth, H5TimelineExtendPanel.clientHeight, "------------------abacasdas");
                        H5TimelineExtendPanel.removeChild(H5TimelineExtendPanel.childNodes[0]);
                        var H5TimeLineExtend = document.createElement("canvas");
                        H5TimeLineExtend.setAttribute("id", "player_timeLine-h5-extend");
                        H5TimeLineExtend.setAttribute("width", H5TimelineExtendPanel.clientWidth);
                        H5TimeLineExtend.setAttribute("height", H5TimelineExtendPanel.clientHeight);
                        H5TimelineExtendPanel.appendChild(H5TimeLineExtend);
                        var that = _this2;

                        _this2.timeLineH5Expend.init({
                          id: "player_timeLine-h5-extend",
                          onChange: function onChange(newTime) {
                            that.isMutedBackup = that.playerStatus.isMuted;
                            that.stopFresh = true;
                            console.log("time change", newTime);
                            console.log(that.dateTime, "-----------------------3098");
                            that.changeTime = that.dateTime + newTime * 1000;
                            console.log(src_utils.getFormatTime(that.changeTime), "abcdesdfgedasdddddddd");
                            that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                            that.createPlayerInstance();
                          },
                          startTime: function startTime() {
                            that.stopFresh = false; // that.start();

                            that.startTimeLine(that, that.changeTime);
                          },
                          stopTime: function stopTime() {
                            that.stopFresh = true; // that.stop();

                            that.changeTimeLine = true;
                            that.stopTimeLine(that);
                          },
                          recordArea: that.playerStatus.recordList,
                          isMobile: true,
                          isFullScreen: true,
                          height: H5TimelineExtendPanel.clientHeight,
                          width: H5TimelineExtendPanel.clientWidth
                        });
                      }

                      _this2.playerStatus.isFullScreen = !_this2.playerStatus.isFullScreen;
                    }, 300);
                  }
                } else {
                  console.log("编辑状态下不响应事件");
                }
              }
            },
            onmoveleft: function onmoveleft(_this) {
              console.log("全屏键左移");

              _this2.moveToLeft(_this, "footer-control-left");
            },
            onmoveright: function onmoveright(_this) {
              console.log("全屏键右移");

              _this2.moveToRight(_this, "footer-control-left");
            },
            onremove: function onremove(_this) {
              console.log("移除全屏键");

              _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
            }
          }];
        });

        _defineProperty(this, "moveToLeft", function (_this, targetDOMID) {
          var dom = document.getElementById(targetDOMID);

          for (var i = 0; i < dom.childNodes.length; i++) {
            if (_this.id.indexOf(dom.childNodes[i].id) > -1) {
              if (i === 0) {
                console.log("该图标已经在首位");
                return;
              }

              var tmp0 = document.createElement("div");
              var tmp1 = dom.childNodes[i];
              var tmp2 = dom.childNodes[i - 1];
              dom.replaceChild(tmp0, tmp1);
              dom.replaceChild(tmp1, tmp2);
              dom.replaceChild(tmp2, tmp0);
              return;
            }
          }
        });

        _defineProperty(this, "moveToRight", function (_this, targetDOMID) {
          var dom = document.getElementById(targetDOMID);

          for (var i = 0; i < dom.childNodes.length; i++) {
            if (_this.id.indexOf(dom.childNodes[i].id) > -1) {
              if (i === dom.childNodes.length - 1) {
                console.log("该图标已经在末尾");
                return;
              }

              var tmp0 = document.createElement("div");
              var tmp1 = dom.childNodes[i];
              var tmp2 = dom.childNodes[i + 1];
              dom.replaceChild(tmp0, tmp2);
              dom.replaceChild(tmp2, tmp1);
              dom.replaceChild(tmp1, tmp0);
              return;
            }
          }
        });

        _defineProperty(this, "removeBtn", function (_this, targetDOMID, type) {
          var index = type === "imou_player_footer" ? 1 : 0;
          var dom = document.getElementById(targetDOMID);

          for (var i = 0; i < dom.childNodes.length; i++) {
            if (_this.id.indexOf(dom.childNodes[i].id) > -1) {
              // window.parent.postMessage({
              //         id: getQueryString("id"),
              //         type: "removeEventHandle",
              //         data: {
              //             area: targetDOMID.indexOf("head") > -1 ? "imou_player_header" : "imou_player_footer",
              //             id: dom.childNodes[i].id,
              //         },
              //         code: 0,
              //     },
              //     getParentUrl()
              // );
              dom.childNodes[i].parentNode.removeChild(dom.childNodes[i]);

              for (var _i = 0; _i < _this2.themeData[index].btnList.length; _i++) {
                if (_this2.themeData[index].btnList[_i].iconId === _this.id) {
                  _this2.themeData[index].btnList[_i].show = 0;
                }
              }

              return;
            }
          }
        });

        _defineProperty(this, "showFooterList", function (footer) {
          var result = [];

          if (footer.buttonList) {
            // result.push({ footerContainer: true });
            var _iterator2 = _createForOfIteratorHelper(footer.buttonList),
              _step2;

            try {
              for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                var item = _step2.value;

                switch (item.id) {
                  // 移动端不添加网页全屏按钮
                  case "webExpend":
                    if (!_this2.playerStatus.isMobile) {
                      result.push(item);
                    }

                    break;

                  case "talk":
                    if (_this2.playerStatus.isPlayBack == false) {
                      result.push(item);
                    }

                    break;
                  // 云台

                  case "PTZ":
                    if (_this2.playerStatus.isPlayBack == false) {
                      result.push(item);
                    }

                    break;

                  case "definition":
                    if (_this2.playerStatus.isPlayBack == false) {
                      result.push(item);
                    }

                    break;

                  default:
                    result.push(item);
                    break;
                }
              }
            } catch (err) {
              _iterator2.e(err);
            } finally {
              _iterator2.f();
            }
          }

          return result;
        });

        _defineProperty(this, "addFooterEditItem", function (item) {
          var editSVG; // 编辑按钮组合dom

          var objE; // 临时存储对象

          var dom; // 处理后得到的的dom

          if (_this2.playerStatus.isEdit) {
            editSVG = "\n                <span id=\"".concat(item.id, "\" style=\"position:relative;margin:0 6px\">\n                    <div id=\"").concat(item.id, "-left\" style=\"position: absolute;top: calc(50% - 10px);display: inline-block;\">\n                        <svg title=\"\u56FE\u6807\u5DE6\u79FB\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"20\" style=\"background:#000000\" >\n                            <use xlink:href=\"#icon-Icon_Left\"></use>\n                        </svg>\n                    </div>\n                    <div id=\"").concat(item.id, "-content\" title=\"").concat(item.name, "\">\n                        ").concat(item.innerHtml, "\n                    </div>\n                    <div id=\"").concat(item.id, "-right\" style=\"position: absolute;top: calc(50% - 10px);left: calc(100% - 10px);display: inline-block; \">\n                        <svg title=\"\u56FE\u6807\u53F3\u79FB\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"20\" style=\"background:#000000\" >\n                            <use xlink:href=\"#icon-Icon_Right\"></use>\n                        </svg>\n                    </div>\n                    <div id=\"").concat(item.id, "-remove\" style=\"position: absolute;top: -6px;left: calc(100% - 16px);display: inline-block; \">\n                        <svg title=\"\u56FE\u6807\u5220\u9664\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"10\" style=\"background:#000000\" >\n                            <use xlink:href=\"#icon-Console_icon_delete\"></use>\n                        </svg>\n                    </div>\n                </span> \n            ");
          } else {
            editSVG = "\n                <span id=\"".concat(item.id, "\" style=\"position:relative;margin:0 6px\">\n                    <div id=\"").concat(item.id, "-left\" style=\"position: absolute;top: calc(50% - 10px);display: none;\">\n                        <svg title=\"\u56FE\u6807\u5DE6\u79FB\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"20\" style=\"background:#000000\" >\n                            <use xlink:href=\"#icon-Icon_Left\"></use>\n                        </svg>\n                    </div>\n                    <div id=\"").concat(item.id, "-content\" title=\"").concat(item.name, "\">\n                        ").concat(item.innerHtml, "\n                    </div>\n                    <div id=\"").concat(item.id, "-right\" style=\"position: absolute;top: calc(50% - 10px);left: calc(100% - 10px);display: none; \">\n                        <svg title=\"\u56FE\u6807\u53F3\u79FB\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"20\" style=\"background:#000000\" >\n                            <use xlink:href=\"#icon-Icon_Right\"></use>\n                        </svg>\n                    </div>\n                    <div id=\"").concat(item.id, "-remove\" style=\"position: absolute;top: -6px;left: calc(100% - 16px);display: none; \">\n                        <svg title=\"\u56FE\u6807\u5220\u9664\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"10\" style=\"background:#000000\" >\n                            <use xlink:href=\"#icon-Console_icon_delete\"></use>\n                        </svg>\n                    </div>\n                </span>  \n            ");
          }

          objE = document.createElement("div");
          objE.innerHTML = editSVG;
          dom = objE.children[0]; // 绑定事件，[0]：左移按钮dom，[1]：主体按钮dom，[2]：右移按钮dom，[3]：移除按钮dom

          if (item.onmoveleft) {
            dom.children[0].onclick = function () {
              item.onmoveleft(this);
            };
          }

          if (item.onclick) {
            dom.children[1].onclick = function () {
              item.onclick();
            };
          }

          if (item.onmoveright) {
            dom.children[2].onclick = function () {
              item.onmoveright(this);
            };
          }

          if (item.onremove) {
            dom.children[3].onclick = function () {
              item.onremove(this);
            };
          }

          return dom;
        });

        this.currentHeaderButtonList = [];
        this.currentFooterButtonList = [];
        this.timeSetInterval;
        this.changeTime = null;

        if (options.type == "2") {
          if (!options.isMobile) {
            this.timeLineWeb = new timeLine();
          } else {
            this.timeLineH5 = new timeLine();
            this.timeLineH5Expend = new timeLine();
          }
        }

        console.log(options);
        this.rootId = options.rootId.split('#')[1];
        console.log(window); // 播放器是否正在播放

        this.isPlaying = false;
        this.isH5ExtendShow = false;
        this.isH5Extend = true; // 播放器是否静音
        // this.isMuted = true;
        // TODO: 将这些属性可以转换成构造器对象，监听变化图标样式和行为
        // message.run('测试', 'success', 5000)

        this.playerStatus = {
          isEdit: options.isEdit || false,
          isMobile: options.isMobile || false,
          isPlayBack: options.type == "2" ? true : false,
          isFullScreen: options.isFullScreen || false,
          isWebFullScreen: false,
          isAutoPlay: options.autoplay || true,
          isHD: true,
          isPTZOpen: false,
          state: {
            play: true
          },
          playBackType: "cloudRecord",
          recordNum: 0,
          recordList: []
        };
        this.changeDateFlag = false;
        this.changeTimeLine = false;
        this.isMutedBackup = null;
        this.isEndRecordList = true;
        this.dateTime = null;
        this.stopFresh = false;
        this.isInitialized = false;
        console.log(options.urlParams.recordType);
        this.playerStatus.playBackType = options.urlParams.recordType && options.urlParams.recordType == "localRecord" ? "localRecord" : "cloudRecord";
        var isMuted = false;
        this.changeDisabled = false;
        this.isChangeDate = false;
        Object.defineProperty(this.playerStatus, "isMuted", {
          get: function get() {
            return isMuted;
          },
          set: function set(value) {
            // 解决小米9Se设备上打开音频视频会自动暂停的问题
            if (_this2.videoPlayer && !_this2.videoPlayer.paused) {
              setTimeout(function () {
                return _this2.videoPlayer.play();
              }, 500);
            }

            _this2.setVolume(value ? 0 : 1); // utils.setAttr(
            //     this.btnSound,
            //     "class",
            //     `player__btn player__btn-large iconfont icon${value ? "jingyin" : "shengyin"
            //     }`
            // );


            isMuted = value;
          }
        }); // is mobile environment

        this.playerStatus.isMuted = options.automute;
        this.themeData = options.themeData;
        this.root = document.createElement("div");
        src_utils.setStyle(this.root, {
          width: "100%",
          height: "100%" // position: "relative",

        });
        this.urlParams = this.checkData(options.urlParams, options.type);
        this.playerStatus.isHD = this.urlParams.streamId == 1 ? false : true; // 判断是否开启语音对讲功能 存在且为对象 不能为录播

        if (options.talk && _typeof(options.talk) === "object" && options.type === "1") {
          this.talk = Object.assign(options.talk, {
            pc: null,
            sessionId: ""
          });
          var that = this; // 对页面卸载添加 语音对讲关闭函数 避免语音对讲泄露

          window.addEventListener("beforeunload", function () {
            that.talk.pc && that.talk.pc.close();
            localStorage.setItem("beforeunload talk", JSON.stringify(_this2.talk));
          });
          window.addEventListener("unload", function () {
            localStorage.setItem("unload talk", JSON.stringify(_this2.talk));
            that.talk.pc && that.talk.pc.close();
          });
        }

        this.options = options;
        this.options.width = this.options.rootSelect.style.width;
        this.options.height = this.options.rootSelect.style.height;
        this.options.root.appendChild(this.root);
        console.log("调用Init");
        console.log(/Apple Computer/.test(navigator.vendor), /Safari/.test(navigator.userAgent), navigator, '---------------------');
        this.init(this.options);
      }
      /**
       * 检查用户传的额外参数，如果没传则赋予默认值，其余参数直接返回，自动判断streamType和protocolType
       * @param streamId 默认为1-标清
       * @param protocolType 默认为1-http
       * @param streamType 默认为hls
       * @param beginTime 默认为当天零点
       * @param endTime 默认为当前时间
       * @param extraParams
       * @param type
       */


      _createClass(Player, [{
        key: "checkData",
        value: function checkData(_ref, type) {
          var streamId = _ref.streamId,
            protocolType = _ref.protocolType,
            streamType = _ref.streamType,
            beginTime = _ref.beginTime,
            endTime = _ref.endTime,
            extraParams = _objectWithoutProperties(_ref, _excluded);

          var name = (platform_default()).name;
          var isFirefoxOrEdge = name === "Firefox" || name === "IE" || name === "Microsoft Edge";
          var isMobile = this.playerStatus.isMobile;
          console.log(!streamId);
          if (!streamId) streamId = 0;
          if (!protocolType) protocolType = location.protocol === "http:" ? "1" : "2"; // if (!protocolType) protocolType = "1";
          // pc端使用rtsp播放

          if (!streamType) {
            streamType = !this.isMobile ? "rtsp" : "hls";
            if (isMobile) streamType = "hls"; else if (isFirefoxOrEdge) {
              if (type === "1" && streamId === 1) {
                streamType = "hls";
              } else {
                streamType = "rtsp";
                this.browserWarn();
              }
            } else {
              streamType = "rtsp";
            }
          }

          var _utils$getRecordTimeR = src_utils.getRecordTimeRange(),
            defaultBeginTime = _utils$getRecordTimeR.beginTime,
            defaultEndTime = _utils$getRecordTimeR.endTime;

          console.log(extraParams); // console.log(new Date(beginTime), new Date(defaultBeginTime));

          streamType = "rtsp";

          if (beginTime) {
            this.dateTime = new Date(beginTime.replace(/-/g, "/")).getTime();
          } else if (defaultBeginTime) {
            this.dateTime = new Date(defaultBeginTime.replace(/-/g, "/")).getTime();
          } // console.log(
          //     "dateTime",
          //     this.dateTime,
          //     beginTime,
          //     defaultBeginTime,
          //     new Date(beginTime.replace(/-/g, '/')).getTime(),
          //     new Date(defaultBeginTime.replace(/-/g, '/')).getTime()
          // );


          return _objectSpread({
            streamId: streamId,
            protocolType: protocolType,
            streamType: streamType,
            beginTime: beginTime || defaultBeginTime,
            endTime: endTime || defaultEndTime
          }, extraParams);
        }
        /**
         * 浏览器警告
         */

      }, {
        key: "browserWarn",
        value: function browserWarn() {
          console.warn("当前浏览器版本过低，建议使用最新版谷歌浏览器播放或切换为标清视频");
        }
        /**
         * 添加控制栏事件监听
         */

      }, {
        key: "addControlsEvent",
        value: function addControlsEvent(panelDom) {
          var _this3 = this;

          this.btnPlay = panelDom.querySelector("#playerControls");
          this.btnStop = panelDom.querySelector("#playerStop");
          this.btnSound = panelDom.querySelector("#playerSound");
          this.btnFullScreen = panelDom.querySelector("#playerFullScreen");
          this.playerControls = panelDom.querySelector(".player__controls");
          this.btnTalk = panelDom.querySelector("#playerTalk");
          this.btnPlay.addEventListener("click", this.playOrPause.bind(this));
          this.btnStop.addEventListener("click", this.stop.bind(this));
          this.root.addEventListener("mouseenter", this.showControl.bind(this));
          this.root.addEventListener("mousemove", this.showControl.bind(this));
          this.talk && this.btnTalk.addEventListener("click", this.talkStartOrStop.bind(this));

          if (this.btnFullScreen) {
            this.btnFullScreen.addEventListener("click", function () {
              _this3.videoPlayer.webkitEnterFullScreen();
            });
          }

          this.btnSound.addEventListener("click", function () {
            _this3.playerStatus.isMuted = !_this3.playerStatus.isMuted;
          });
        }
        /**
         * 切换音量
         */

      }, {
        key: "toggleVolume",
        value: function toggleVolume() {
          this.setVolume(this.playerStatus.isMuted ? 0 : 1);
          this.playerStatus.isMuted = !this.playerStatus.isMuted;
        }
        /**
         * 展示控制栏，三秒钟后关闭
         */

      }, {
        key: "showControl",
        value: function showControl() {
          var _this4 = this;

          clearTimeout(this.timer);
          var header = document.getElementById("imou_player_header");
          var footer = document.getElementById("imou_player_footer");
          header.style.opacity = 1;
          footer.style.opacity = 1;
          this.timer = setTimeout(function () {
            _this4.hideControl();
          }, 3000);
        }
        /**
         * 隐藏控制栏
         */

      }, {
        key: "hideControl",
        value: function hideControl() {
          var header = document.getElementById("imou_player_header");
          var footer = document.getElementById("imou_player_footer");
          header.style.opacity = 0;
          footer.style.opacity = 0;
        }
        /**
         * 点击按钮开始播放或者暂停
         */

      }, {
        key: "playOrPause",
        value: function playOrPause() {
          if (!this.isPlaying) {
            this.play();
          } else {
            this.pause();
          }
        }
        /**
         * 开始播放
         */

      }, {
        key: "play",
        value: function play() {
          var _this5 = this;

          this.isPlaying = true; // if (this.controls) {
          //     utils.setAttr(
          //         this.btnPlay,
          //         "class",
          //         "player__btn player__btn-large iconfont iconbofangzanting"
          //     );
          // }

          if (this.poster) this.poster.style.display = "none";

          if (this.canvasPlayer) {
            console.info("canvas play");
            this.canvasPlayer.play();
          } else if (this.videoJsPlayer) {
            console.info("videojs play");
            this.videoJsPlayer.play();
          } else if (this.videoPlayer) {
            console.info("videoh5 play"); // console.log(this.videoPlayer.play());

            setTimeout(function () {
              _this5.videoPlayer.play();
            }, 1000);
          } else {
            console.info("other play"); // this.tipDom.innerHTML = '视频加载中';

            this.createPlayerInstance();
          }
        }
        /**
         * 暂停
         */

      }, {
        key: "pause",
        value: function pause() {
          this.isPlaying = false; // utils.setAttr(
          //     this.btnPlay,
          //     "class",
          //     "player__btn player__btn-large iconfont iconbofang"
          // );

          if (this.canvasPlayer) {
            this.canvasPlayer.pause();
          }

          if (this.videoJsPlayer) {
            this.videoJsPlayer.pause();
          }

          if (this.videoPlayer) {
            this.videoPlayer.pause();
          }
        }
        /**
         * 停止
         */

      }, {
        key: "stop",
        value: function stop() {
          // this.playerStatus.isMuted = true; // 这行代码一定要放在最前面，不然会出现爆栈
          if (this.videoJsPlayer) this.videoJsPlayer.dispose();

          if (this.videoPlayer) {
            // TODO: add code
            this.root.removeChild(this.videoPlayer);
          }

          if (this.canvasPlayer) {
            this.canvasPlayer.close();

            if (this.canvasEl) {
              this.root.removeChild(this.canvasEl);
            }

            if (this.videoEl) {
              this.root.removeChild(this.videoEl);
            }
          }

          this.isPlaying = false;
          this.canvasPlayer = null;
          this.videoJsPlayer = null;
          this.videoPlayer = null;
          src_utils.setAttr(this.btnPlay, "class", "player__btn player__btn-large iconfont iconbofang");
          this.tipDom.innerHTML = "";
        }
        /**
         * 设置音量
         * @param value 0-1
         */

      }, {
        key: "setVolume",
        value: function setVolume(value) {
          console.log(value, "volume");

          if (typeof value !== "number") {
            error("Param of volume must be a number");
            return;
          }

          if (value > 1 || value < 0) {
            error("Param of volume must be between from 0 to 1");
            return;
          }

          if (this.videoJsPlayer) {
            this.videoJsPlayer.muted(!value);
            this.videoJsPlayer.volume(value);
          }

          if (this.videoPlayer) {
            this.videoPlayer.muted = !value;
            this.videoPlayer.volume = value;
          }

          if (this.canvasPlayer) {
            this.canvasPlayer.setAudioVolume(value);
          }
        }
        /**
         * 销毁播放器实例
         */

      }, {
        key: "destroy",
        value: function destroy() {
          if (this.videoJsPlayer) {
            this.videoJsPlayer.dispose();
          }

          if (this.videoPlayer) {
            // TODO: add code
            this.root.removeChild(this.videoPlayer);
            this.videoPlayer = null;
          }

          if (this.canvasPlayer) {
            // 库在未初始化完全的情况下进行销毁会出现报错
            try {
              this.canvasPlayer.close();
            } catch (e) {
              error(e);
            }
          }

          this.isPlaying = false;
        }
      }, {
        key: "loadScripts",
        value: function () {
          var _loadScripts = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee4() {
            var _this6 = this;

            var i, _i2;

            return regenerator_default().wrap(function _callee4$(_context4) {
              while (1) {
                switch (_context4.prev = _context4.next) {
                  case 0:
                    _context4.next = 2;
                    return src_utils.asyncLoadScripts(jqueryScript[0]).then(function () { }).catch(function (e) { }).finally( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee3() {
                      return regenerator_default().wrap(function _callee3$(_context3) {
                        while (1) {
                          switch (_context3.prev = _context3.next) {
                            case 0:
                              if (!_this6.playerStatus.isPlayBack) {
                                _context3.next = 5;
                                break;
                              }

                              _context3.next = 3;
                              return src_utils.asyncLoadScripts(datePickerScript[0]);

                            case 3:
                              _context3.next = 5;
                              return src_utils.asyncLoadScripts(datePickerScript[1]);

                            case 5:
                            case "end":
                              return _context3.stop();
                          }
                        }
                      }, _callee3);
                    })));

                  case 2:
                    if (!this.isRecord) {
                      _context4.next = 12;
                      break;
                    }

                    i = 0;

                  case 4:
                    if (!(i < videoJsScript.length)) {
                      _context4.next = 10;
                      break;
                    }

                    _context4.next = 7;
                    return src_utils.asyncLoadScripts(videoJsScript[i]);

                  case 7:
                    i++;
                    _context4.next = 4;
                    break;

                  case 10:
                    _context4.next = 19;
                    break;

                  case 12:
                    _i2 = 0;

                  case 13:
                    if (!(_i2 < decodeFiles.length)) {
                      _context4.next = 19;
                      break;
                    }

                    _context4.next = 16;
                    return src_utils.asyncLoadScripts(decodeFiles[_i2]);

                  case 16:
                    _i2++;
                    _context4.next = 13;
                    break;

                  case 19:
                    _context4.next = 21;
                    return src_utils.asyncLoadScripts(adapterScript[0]);

                  case 21:
                    // const loadScriptsTotalTime = new Date().getTime() - startLoadScriptTime;
                    console.info("依赖加载完成"); // log(`JS依赖加载耗时: ${loadScriptsTotalTime / 1000}s`);

                  case 22:
                  case "end":
                    return _context4.stop();
                }
              }
            }, _callee4, this);
          }));

          function loadScripts() {
            return _loadScripts.apply(this, arguments);
          }

          return loadScripts;
        }()
      }, {
        key: "getRecordList",
        value: function getRecordList() {
          var _this7 = this;

          var requestInfo = {
            message: "",
            isSuccess: false,
            playUrl: ""
          };
          return new Promise( /*#__PURE__*/function () {
            var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee5(resolve, reject) {
              var resultRecordList, data, status, content, code, msg, newBeginTime, resultRecordList1, _data, _status, _content, _code, _msg, recordH5;

              return regenerator_default().wrap(function _callee5$(_context5) {
                while (1) {
                  switch (_context5.prev = _context5.next) {
                    case 0:
                      if (!_this7.playerStatus.isPlayBack) {
                        _context5.next = 31;
                        break;
                      }

                      _this7.playerStatus.recordList = [];
                      _context5.next = 4;
                      return _this7._requestRecordList();

                    case 4:
                      resultRecordList = _context5.sent;
                      data = resultRecordList.data, status = resultRecordList.status;

                      if (!(status === 200)) {
                        _context5.next = 29;
                        break;
                      }

                      content = data.result.data;
                      code = data.result.code;
                      msg = data.result.msg;

                      if (!(code === "0" && content.records.length > 0)) {
                        _context5.next = 24;
                        break;
                      }

                      content.records.forEach(function (item) {
                        _this7.playerStatus.recordList.push({
                          beginTime: new Date(item.beginTime.replace(/-/g, "/")).getTime() / 1000,
                          endTime: new Date(item.endTime.replace(/-/g, "/")).getTime() / 1000
                        });
                      });
                      newBeginTime = content.records[content.records.length - 1].endTime;
                      _this7.isEndRecordList = content.records.length > 0 ? false : true;

                    case 14:
                      if (_this7.isEndRecordList) {
                        _context5.next = 22;
                        break;
                      }

                      _context5.next = 17;
                      return _this7._requestRecordList(newBeginTime);

                    case 17:
                      resultRecordList1 = _context5.sent;
                      _data = resultRecordList1.data, _status = resultRecordList1.status;

                      if (_status === 200) {
                        _content = _data.result.data;
                        _code = _data.result.code;
                        _msg = _data.result.msg;

                        if (_code === "0") {
                          if (_content.records.length > 0) {
                            _content.records.forEach(function (item) {
                              _this7.playerStatus.recordList.push({
                                beginTime: new Date(item.beginTime.replace(/-/g, "/")).getTime() / 1000,
                                endTime: new Date(item.endTime.replace(/-/g, "/")).getTime() / 1000
                              });
                            });

                            newBeginTime = _content.records[_content.records.length - 1].endTime;
                            _this7.isEndRecordList = _content.records[_content.records.length - 1].beginTime != _content.records[_content.records.length - 1].endTime ? false : true;
                          } else {
                            _this7.isEndRecordList = true;
                          }
                        } else {
                          _this7.stop();

                          requestInfo.message = _msg || "获取录像片段失败";
                          _this7.isEndRecordList = true;
                          reject();
                        }
                      } else {
                        requestInfo.message = "获取播放地址失败";
                        _this7.isEndRecordList = true;
                        reject();
                      }

                      _context5.next = 14;
                      break;

                    case 22:
                      _context5.next = 27;
                      break;

                    case 24:
                      _this7.stop();

                      requestInfo.message = msg || "获取录像片段失败";
                      reject();

                    case 27:
                      _context5.next = 31;
                      break;

                    case 29:
                      requestInfo.message = "获取播放地址失败";
                      reject();

                    case 31:
                      _this7.playerStatus.recordNum = _this7.playerStatus.recordList.length; // console.log(this.playerStatus.recordList, '------------------');

                      recordH5 = document.getElementById("app-timeline-record-num-area-h5");

                      if (recordH5) {
                        recordH5.innerHTML = "\u5171<span style=\"color:#2b8bf7\">".concat(_this7.playerStatus.recordList.length, "</span>\u4E2A\u5F55\u50CF");
                      }

                      resolve(_this7.playerStatus.recordList);

                    case 35:
                    case "end":
                      return _context5.stop();
                  }
                }
              }, _callee5);
            }));

            return function (_x, _x2) {
              return _ref3.apply(this, arguments);
            };
          }());
        }
        /**
         * 初始化播放器
         * @param options
         */

      }, {
        key: "init",
        value: function () {
          var _init = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee6(options) {
            var _this8 = this;

            var res;
            return regenerator_default().wrap(function _callee6$(_context6) {
              while (1) {
                switch (_context6.prev = _context6.next) {
                  case 0:
                    this.loadScripts();
                    this.tipDom = this.createTip();
                    this.controls = options.controls;
                    console.log("初始化播放器");
                    res = this.getRecordList();
                    res.then(function (data) {
                      console.log(data);
                    }).catch(function (err) {
                      console.log(err);
                    }).finally(function () {
                      if (options.controls) {
                        _this8.createControls();
                      }

                      if (options.poster) {
                        _this8.poster = _this8.createPoster(options.poster);
                      }

                      if (options.autoplay) {
                        _this8.play();
                      }
                    });

                  case 6:
                  case "end":
                    return _context6.stop();
                }
              }
            }, _callee6, this);
          }));

          function init(_x3) {
            return _init.apply(this, arguments);
          }

          return init;
        }()
        /**
         * 获取播放地址
         * @param options
         * @returns {Promise<{message: string, isSuccess: boolean, playUrl: string}|void>}
         */

      }, {
        key: "getPlayUrl",
        value: function () {
          var _getPlayUrl = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee7(options) {
            var requestInfo, _location, protocol, startGetPlayUrlTime, result, getPlayUrlTotalTime, data, status, content, code, msg;

            return regenerator_default().wrap(function _callee7$(_context7) {
              while (1) {
                switch (_context7.prev = _context7.next) {
                  case 0:
                    requestInfo = {
                      message: "",
                      isSuccess: false,
                      playUrl: ""
                    }; // TODO delete this code area
                    // http://func-open-livegateway.lechange.cn:8888/LCO/5B03F3APAJ66B98/0/1/20200227T034048/dev_5B03F3A9AJ66B98_20200227t034048.m3u8
                    // return {
                    //   message: '',
                    //   isSuccess: true,
                    //   playUrl: 'http://func-open-livegateway.lechange.cn:8888/LCO/5B03F3APAJ66B98/0/1/20200227T034048/dev_5B03F3APAJ66B98_20200227T034048.m3u8'
                    // };
                    // ********

                    _context7.prev = 1;
                    _location = location, protocol = _location.protocol;

                    if (!(protocol.indexOf("http") === -1)) {
                      _context7.next = 7;
                      break;
                    }

                    error("Please open on HTTP or HTTPS");
                    requestInfo.message = "Please open on HTTP or HTTPS";
                    return _context7.abrupt("return", requestInfo);

                  case 7:
                    startGetPlayUrlTime = new Date().getTime();
                    _context7.next = 10;
                    return this._request();

                  case 10:
                    result = _context7.sent;
                    getPlayUrlTotalTime = new Date().getTime() - startGetPlayUrlTime;
                    console.log("\u83B7\u53D6\u64AD\u653E\u5730\u5740\u8017\u65F6: ".concat(getPlayUrlTotalTime / 1000, "s"));
                    data = result.data, status = result.status;

                    if (status === 200) {
                      content = data.result.data;
                      code = data.result.code;
                      msg = data.result.msg;

                      if (code === "0") {
                        requestInfo.playUrl = content.url;
                        requestInfo.isSuccess = true;
                      } else {
                        this.stop();
                        requestInfo.message = msg || "获取播放地址失败";
                      }
                    } else {
                      requestInfo.message = "获取播放地址失败";
                    }

                    _context7.next = 21;
                    break;

                  case 17:
                    _context7.prev = 17;
                    _context7.t0 = _context7["catch"](1);
                    console.log(_context7.t0);
                    requestInfo.message = "获取播放地址失败";

                  case 21:
                    return _context7.abrupt("return", requestInfo);

                  case 22:
                  case "end":
                    return _context7.stop();
                }
              }
            }, _callee7, this, [[1, 17]]);
          }));

          function getPlayUrl(_x4) {
            return _getPlayUrl.apply(this, arguments);
          }

          return getPlayUrl;
        }()
        /**
         * 创建tip DOM
         */

      }, {
        key: "createTip",
        value: function createTip() {
          var tipPanel = src_utils.domParser("\n      <div class=\"player__tip--wrap\">\n        <span></span>\n      </div>\n      ");
          this.root.appendChild(tipPanel);
          return tipPanel.querySelector(".player__tip--wrap span");
        }
        /**
         * 添加控制栏
         */

      }, {
        key: "createControls",
        value: function createControls() {
          var _this9 = this;

          console.log('this root', this.root);
          var header = document.createElement("div");
          header.setAttribute("id", "imou_player_header");
          header.setAttribute("class", "player__header");
          header.setAttribute("style", "opacity:0");
          var footer = document.createElement("div");
          footer.setAttribute("id", "imou_player_footer");
          footer.setAttribute("class", "player__footer");
          footer.setAttribute("style", "opacity:0");
          this.root.appendChild(header);
          this.root.appendChild(footer);
          var headerControl = document.createElement("div");
          headerControl.setAttribute("id", "header-control");
          headerControl.setAttribute("class", "player__header-control");
          header.appendChild(headerControl);
          var footerControl = document.createElement("div");
          footerControl.setAttribute("id", "footer-control");
          footerControl.setAttribute("class", "player__footer-control");
          footer.appendChild(footerControl);
          var headerControlLeft = document.createElement("div");
          headerControlLeft.setAttribute("id", "header-control-left");
          headerControlLeft.setAttribute("class", "player__header-control-left");
          var headerControlRight = document.createElement("div");
          headerControlRight.setAttribute("id", "header-control-right");
          headerControlRight.setAttribute("class", "player__header-control-right");
          headerControl.appendChild(headerControlLeft);
          headerControl.appendChild(headerControlRight);
          var footerControlLeft = document.createElement("div");
          footerControlLeft.setAttribute("id", "footer-control-left");
          footerControlLeft.setAttribute("class", "player__footer-control-left");
          var footerControlRight = document.createElement("div");
          footerControlRight.setAttribute("id", "footer-control-right");
          footerControlRight.setAttribute("class", "player__footer-control-right");
          footerControl.appendChild(footerControlLeft);
          footerControl.appendChild(footerControlRight); // 模板参考
          //     const play = document.createElement("span");
          //     play.setAttribute("id", "playerControl");
          //     play.setAttribute("class", "player_footer-control-item");
          //     play.innerHTML = `
          //    `;
          //     footerControlLeft.appendChild(play);
          // 获取实际能够渲染的Header区item

          this.currentHeaderButtonList = this.showHeaderList(this.themeData[0]);
          var leftDOM = document.getElementById("header-control-left");
          var rightDOM = document.getElementById("header-control-right");
          this.currentHeaderButtonList.forEach(function (item) {
            _this9.headerButtonList().map(function (value) {
              if (item.id === value.id && item.show === true) {
                var ButtonItemDom = _this9.addHeaderEditItem(value); // if (item.isActive == true) {}


                if (item.position === "left") {
                  leftDOM.appendChild(ButtonItemDom);
                } else {
                  rightDOM.appendChild(ButtonItemDom);
                }
              }
            });
          }); // 获取实际能够渲染的Footer区item

          this.currentFooterButtonList = this.showFooterList(this.themeData[1]);
          this.currentFooterButtonList.forEach(function (item) {
            _this9.footerButtonList().map(function (value) {
              if (item.id === value.id && item.show === true) {
                var ButtonItemDom = _this9.addFooterEditItem(value); // if (item.isActive == true) {}


                if (item.position === "left") {
                  var _leftDOM = document.getElementById("footer-control-left");

                  _leftDOM.appendChild(ButtonItemDom);
                } else {
                  var _rightDOM = document.getElementById("footer-control-right");

                  _rightDOM.appendChild(ButtonItemDom);
                }
              }
            });
          });
          console.log(this.playerStatus.isMobile, this.playerStatus.isPlayBack, this.playerStatus.isFullScreen);

          if (this.playerStatus.isPlayBack == true) {
            if (this.playerStatus.isMobile == false) {
              // timeline横版 仅在是非mobile回放下展示
              var timeControl = document.createElement("div");
              timeControl.setAttribute("id", "time-control");
              timeControl.setAttribute("class", "player__time-control");
              footer.appendChild(timeControl); // web进度条控制栏

              var timeLineControl = document.createElement("div");
              timeLineControl.setAttribute("id", "timeLine_web");
              timeLineControl.setAttribute("class", "player_timeLine_web-control"); // web 日期控制栏

              var dateSelectControl = document.createElement("div");
              dateSelectControl.setAttribute("id", "dateSelect_web");
              dateSelectControl.setAttribute("class", "player_dateSelect_web-control");
              var datepicker = "\n                    <div id='datePicker-icon'>\n                        <label for='datepicker'>\n                            <svg title=\"\u65E5\u671F\u9009\u62E9\" class=\"iconfont footer-control-item\" fill=\"".concat(this.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n                                <use xlink:href=\"#icon-Console_icon_calendar\"></use>\n                            </svg>\n                        </label>\n                        <input data-toggle=\"datepicker\" type='text' id=\"datepicker\" name=\"datepicker\" style=\"opacity: 0; width: 0; margin-left: -4\" />\n                        \n                    </div>\n                ");
              dateSelectControl.innerHTML = datepicker;
              timeControl.appendChild(timeLineControl);
              timeControl.appendChild(dateSelectControl); // console.log($("[data-toggle='datepicker']"));
              // $("[data-toggle='datepicker']").datepicker();
              // console.log($("[data-toggle='datepicker']"));

              var datepickerVisible = false; // let _that = this;
              // console.log($);
              // console.log(window, '1111111111111111111111111111');

              $("[data-toggle='datepicker']").focus(function () {
                document.activeElement.blur();
              });
              $("[data-toggle='datepicker']").val(new Date()); // 日期选择：

              $("[data-toggle='datepicker']").datepicker({
                autoShow: false,
                autoHide: true,
                autoPick: true,
                language: "zh-CN",
                defaultDate: new Date(),
                format: "yyyy-mm-dd",
                endDate: new Date()
              }); // $('#datepicker').datepicker('hide');

              $("[data-toggle='datepicker']").on("pick.datepicker", /*#__PURE__*/function () {
                var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee8(e) {
                  var startTime, endTime, res;
                  return regenerator_default().wrap(function _callee8$(_context8) {
                    while (1) {
                      switch (_context8.prev = _context8.next) {
                        case 0:
                          that.changeDateFlag = true;
                          console.log(e.date);
                          console.log("E", new Date(e.date).getTime());
                          console.log("重新选择日期", src_utils.getFormatTime(new Date(e.date).getTime()));
                          startTime = src_utils.getFormatTime(new Date(e.date).getTime());

                          if (new Date(e.date).toDateString() == new Date().toDateString()) {
                            endTime = src_utils.getEndInitFormatTime(new Date().getTime());
                          } else {
                            endTime = src_utils.getEndInitFormatTime(new Date(e.date).getTime() + (24 * 60 * 60 - 1) * 1000);
                          } // console.log(that);


                          that.dateTime = new Date(e.date).getTime();
                          console.log(that.dateTime, "-----------------------757");
                          that.urlParams.beginTime = startTime;
                          that.urlParams.endTime = endTime; // that.pause()
                          // if (that.canvasPlayer) {
                          //     that.canvasPlayer.close()
                          // }

                          res = that.getRecordList();
                          res.then(function (data) {
                            console.log(data);
                          }).catch(function (err) {
                            console.log(err);
                          }).finally(function () {
                            // this.isMutedBackup = this.playerStatus.isMuted;
                            timeLineControl.removeChild(timeLineControl.childNodes[0]);
                            var webTimeLine = document.createElement("canvas");
                            webTimeLine.setAttribute("id", "player_timeLine-web");
                            webTimeLine.setAttribute("width", timeLineControl.clientWidth);
                            webTimeLine.setAttribute("height", timeLineControl.clientHeight);
                            timeLineControl.appendChild(webTimeLine);
                            that.timeLineWeb.init({
                              id: "player_timeLine-web",
                              onChange: function onChange(newTime) {
                                that.isMutedBackup = that.playerStatus.isMuted;
                                that.stopFresh = true;
                                console.log("time change", newTime);
                                console.log(that.dateTime, "-----------------------776");
                                that.changeTime = that.dateTime + newTime * 1000;
                                that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                                that.createPlayerInstance();
                              },
                              startTime: function startTime() {
                                that.stopFresh = false; // that.start();

                                that.startTimeLine(that, that.changeTime);
                              },
                              stopTime: function stopTime() {
                                that.stopFresh = true; // that.stop();

                                that.changeTimeLine = true;
                                that.stopTimeLine(that);
                              },
                              recordArea: that.playerStatus.recordList,
                              isMobile: false,
                              isFullScreen: false,
                              height: timeLineControl.clientHeight,
                              width: timeLineControl.clientWidth
                            });
                            that.createPlayerInstance();
                            $("[data-toggle='datepicker']").datepicker("hide");
                            datepickerVisible = false;
                          }); // that.play();

                        case 12:
                        case "end":
                          return _context8.stop();
                      }
                    }
                  }, _callee8);
                }));

                return function (_x5) {
                  return _ref4.apply(this, arguments);
                };
              }());
              $("[data-toggle='datepicker']").bind("click", function (e) {
                if (datepickerVisible) {
                  $("[data-toggle='datepicker']").datepicker("hide");
                } else {
                  $("[data-toggle='datepicker']").datepicker("show");
                }

                datepickerVisible = !datepickerVisible;
              }); // 绘制进度条
              // timeLineControl.removeChild(timeLineControl.childNodes[0]);

              var webTimeLine = document.createElement("canvas");
              webTimeLine.setAttribute("id", "player_timeLine-web");
              webTimeLine.setAttribute("width", timeLineControl.clientWidth);
              webTimeLine.setAttribute("height", timeLineControl.clientHeight);
              timeLineControl.appendChild(webTimeLine);
              var that = this;
              this.timeLineWeb.init({
                id: "player_timeLine-web",
                onChange: function onChange(newTime) {
                  console.log('that.playerStatus.isMuted', that.playerStatus.isMuted);
                  that.isMutedBackup = that.playerStatus.isMuted;
                  that.stopFresh = true;
                  console.log("time change", newTime);
                  console.log(that.dateTime, "-----------------------827");
                  that.changeTime = that.dateTime + newTime * 1000;
                  that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                  that.createPlayerInstance();
                },
                startTime: function startTime() {
                  that.stopFresh = false; // that.start();

                  that.startTimeLine(that, that.changeTime);
                },
                stopTime: function stopTime() {
                  that.stopFresh = true; // that.stop();

                  that.changeTimeLine = true;
                  that.stopTimeLine(that);
                },
                recordArea: that.playerStatus.recordList,
                isMobile: false,
                isFullScreen: false,
                height: timeLineControl.clientHeight,
                width: timeLineControl.clientWidth
              });
            } else {
              // 绘制H5录像回放面板部分
              var H5TimelinePanel = document.createElement("div");
              H5TimelinePanel.setAttribute("id", "app-playback-panel-h5");
              document.body.appendChild(H5TimelinePanel);
              var h5TimelineArea = document.createElement("div");
              h5TimelineArea.setAttribute("id", "app-timeline-h5");
              h5TimelineArea.setAttribute("class", "player__app-timeline-h5");
              H5TimelinePanel.appendChild(h5TimelineArea);
              var h5TimelineTitleArea = document.createElement("div");
              h5TimelineTitleArea.setAttribute("id", "app-timeline-title-area-h5");
              h5TimelineTitleArea.setAttribute("class", "player__app-timeline-title-area-h5");
              h5TimelineTitleArea.innerHTML = "<div class='timeline-title'>\u4ECA\u65E5\u5F55\u50CF</div>";
              h5TimelineArea.appendChild(h5TimelineTitleArea);
              var h5TimelineDateArea = document.createElement("div");
              h5TimelineDateArea.setAttribute("id", "app-timeline-date-area-h5");
              h5TimelineDateArea.setAttribute("class", "player__app-timeline-date-area-h5");
              var _datepicker = "\n                    <div id='datePicker-icon'>\n                        <label for='datepicker'>\n                            <svg title=\"\u65E5\u671F\u9009\u62E9\" class=\"iconfont\" fill=\"#595959\" style=\"display:inline-block;width:24px;height:24px\" >\n                                <use xlink:href=\"#icon-Console_icon_calendar\"></use>\n                            </svg>\n                        </label>\n                        <input data-toggle=\"datepicker\" type='text' id=\"datepicker\" name=\"datepicker\" style=\"opacity: 0; width: 0; margin-left: -4\" />\n                        \n                    </div>\n                ";
              h5TimelineDateArea.innerHTML = _datepicker;
              h5TimelineTitleArea.appendChild(h5TimelineDateArea);

              var _that = this;

              var datepickerVisible = false; // let _that = this;

              $("[data-toggle='datepicker']").focus(function () {
                document.activeElement.blur();
              });
              $("[data-toggle='datepicker']").val(new Date()); // 日期选择：

              $("[data-toggle='datepicker']").datepicker({
                autoShow: false,
                autoHide: true,
                autoPick: true,
                language: "zh-CN",
                defaultDate: new Date(),
                format: "yyyy-mm-dd",
                endDate: new Date()
              }); // $('#datepicker').datepicker('hide');

              $("[data-toggle='datepicker']").on("pick.datepicker", /*#__PURE__*/function () {
                var _ref5 = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee9(e) {
                  var startTime, endTime, res;
                  return regenerator_default().wrap(function _callee9$(_context9) {
                    while (1) {
                      switch (_context9.prev = _context9.next) {
                        case 0:
                          _that.changeDateFlag = true;
                          console.log("E", new Date(e.date).getTime());
                          console.log("重新选择日期", src_utils.getFormatTime(new Date(e.date).getTime()));
                          startTime = src_utils.getFormatTime(new Date(e.date).getTime());

                          if (new Date(e.date).toDateString() == new Date().toDateString()) {
                            endTime = src_utils.getEndInitFormatTime(new Date().getTime());
                          } else {
                            endTime = src_utils.getEndInitFormatTime(new Date(e.date).getTime() + (24 * 60 * 60 - 1) * 1000);
                          } // console.log(that);


                          _that.dateTime = new Date(e.date).getTime();
                          console.log(_that.dateTime, "----------------924");
                          _that.urlParams.beginTime = startTime;
                          _that.urlParams.endTime = endTime; // that.pause()
                          // if (that.canvasPlayer) {
                          //     that.canvasPlayer.close()
                          // }

                          res = _that.getRecordList();
                          res.then(function (data) {
                            console.log(data);
                          }).catch(function (err) {
                            console.log(err);
                          }).finally(function () {
                            _that.timeLineH5.init({
                              id: "player_timeLine-h5",
                              onChange: function onChange(newTime) {
                                _that.isMutedBackup = _that.playerStatus.isMuted;
                                _that.stopFresh = true;
                                console.log("time change", newTime);
                                console.log(_that.dateTime, "-----------------------935");
                                _that.changeTime = _that.dateTime + newTime * 1000;
                                console.log(src_utils.getFormatTime(_that.changeTime), "abcdesdfgedasdddddddd");
                                _that.urlParams.beginTime = src_utils.getFormatTime(_that.changeTime);

                                _that.createPlayerInstance();
                              },
                              startTime: function startTime() {
                                _that.stopFresh = false; // that.start();

                                _that.startTimeLine(_that, _that.changeTime);
                              },
                              stopTime: function stopTime() {
                                _that.stopFresh = true; // that.stop();

                                _that.changeTimeLine = true;

                                _that.stopTimeLine(_that);
                              },
                              recordArea: _that.playerStatus.recordList,
                              isMobile: true,
                              isFullScreen: false,
                              height: H5TimeLineControl.clientHeight,
                              width: H5TimeLineControl.clientWidth,
                              fontColor: "#F18D00"
                            });

                            _that.createPlayerInstance();

                            $("[data-toggle='datepicker']").datepicker("hide");
                            datepickerVisible = false; // that.play();
                          });

                        case 11:
                        case "end":
                          return _context9.stop();
                      }
                    }
                  }, _callee9);
                }));

                return function (_x6) {
                  return _ref5.apply(this, arguments);
                };
              }());
              $("[data-toggle='datepicker']").bind("click", function (e) {
                if (datepickerVisible) {
                  $("[data-toggle='datepicker']").datepicker("hide");
                } else {
                  $("[data-toggle='datepicker']").datepicker("show");
                }

                datepickerVisible = !datepickerVisible;
              });
              var h5TimelineRecordArea = document.createElement("div");
              h5TimelineRecordArea.setAttribute("id", "app-timeline-record-area-h5");
              h5TimelineRecordArea.setAttribute("class", "player__app-timeline-record-area-h5");
              h5TimelineArea.appendChild(h5TimelineRecordArea);
              var h5TimelineRecordNumArea = document.createElement("div");
              h5TimelineRecordNumArea.setAttribute("id", "app-timeline-record-num-area-h5");
              h5TimelineRecordNumArea.setAttribute("class", "player__app-timeline-record-num-area-h5");
              h5TimelineRecordNumArea.innerHTML = "\u5171<span style=\"color:#2b8bf7\">".concat(this.playerStatus.recordNum, "</span>\u4E2A\u5F55\u50CF");
              h5TimelineRecordArea.appendChild(h5TimelineRecordNumArea);
              var h5TimelineRecordButtonArea = document.createElement("div");
              h5TimelineRecordButtonArea.setAttribute("id", "app-timeline-record-button-area-h5");
              h5TimelineRecordButtonArea.setAttribute("class", "player__app-timeline-record-button-area-h5");
              h5TimelineRecordButtonArea.innerHTML = "\n                <div id=\"record-type-button-list\">\n                    <div id='cloud-button' class='record-button-list' >\n                        <!-- \u4E91\u5F55\u50CF\u6309\u94AE\u5F00\u542F -->\n                        <svg title=\"\u5F00\u542F\u4E91\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"#bfbfbf\" style=\"display:inline-block\" >\n                            <use xlink:href=\"#icon-Icon_Cloud\"></use>\n                        </svg>\n                        <!-- \u4E91\u5F55\u50CF\u6309\u94AE\u5173\u95ED -->\n                        <svg title=\"\u5173\u95ED\u4E91\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"#2b8bf7\" style=\"display:none\" >\n                            <use xlink:href=\"#icon-Icon_Cloud\"></use>\n                        </svg>\n                    </div>\n                    <div id='local-button' class='record-button-list' >\n                        <!-- \u672C\u5730\u5F55\u50CF\u6309\u94AE\u5F00\u542F -->\n                        <svg title=\"\u5F00\u542F\u672C\u5730\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"#bfbfbf\" style=\"display:inline-block\" >\n                            <use xlink:href=\"#icon-Icon_SDcard\"></use>\n                        </svg>\n                        <!-- \u672C\u5730\u50CF\u6309\u94AE\u5173\u95ED -->\n                        <svg title=\"\u5173\u95ED\u672C\u5730\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"#2b8bf7\" style=\"display:none\" >\n                            <use xlink:href=\"#icon-Icon_SDcard\"></use>\n                        </svg>\n                    </div>\n                </div>\n                ";
              h5TimelineRecordArea.appendChild(h5TimelineRecordButtonArea);
              document.getElementById("cloud-button").addEventListener("click", function () {
                _this9.chooseRecordType("cloud");
              });
              document.getElementById("local-button").addEventListener("click", function () {
                _this9.chooseRecordType("local");
              });
              var H5TimeLineControl = document.createElement("div");
              H5TimeLineControl.setAttribute("id", "timeLine_h5");
              H5TimeLineControl.setAttribute("class", "player_timeLine_h5-control");
              h5TimelineArea.appendChild(H5TimeLineControl);
              var H5TimeLine = document.createElement("canvas");
              H5TimeLine.setAttribute("id", "player_timeLine-h5");
              H5TimeLine.setAttribute("width", H5TimeLineControl.clientWidth);
              H5TimeLine.setAttribute("height", H5TimeLineControl.clientHeight);
              H5TimeLineControl.appendChild(H5TimeLine); // let that = this;

              this.timeLineH5.init({
                id: "player_timeLine-h5",
                onChange: function onChange(newTime) {
                  _that.isMutedBackup = _that.playerStatus.isMuted;
                  _that.stopFresh = true;
                  console.log("time change", newTime);
                  console.log(_that.dateTime, "-----------------------1059");
                  _that.changeTime = _that.dateTime + newTime * 1000;
                  console.log(src_utils.getFormatTime(_that.changeTime), "abcdesdfgedasdddddddd");
                  _that.urlParams.beginTime = src_utils.getFormatTime(_that.changeTime);

                  _that.createPlayerInstance();
                },
                startTime: function startTime() {
                  _that.stopFresh = false; // that.start();

                  _that.startTimeLine(_that, _that.changeTime);
                },
                stopTime: function stopTime() {
                  _that.stopFresh = true; // that.stop();

                  _that.changeTimeLine = true;

                  _that.stopTimeLine(_that);
                },
                recordArea: _that.playerStatus.recordList,
                isMobile: true,
                isFullScreen: false,
                height: H5TimeLineControl.clientHeight,
                width: H5TimeLineControl.clientWidth,
                fontColor: "#F18D00"
              }); // 绘制H5录像回放面板部分结束
              // // 绘制H5录像全屏回放面板部分开始

              var H5TimelineExtendArea = document.createElement("div");
              H5TimelineExtendArea.setAttribute("id", "Timeline-h5-extend-Area");
              H5TimelineExtendArea.setAttribute("class", "player__Timeline-h5-extend-Area");
              H5TimelineExtendArea.setAttribute("style", "display:block");
              this.root.appendChild(H5TimelineExtendArea);
              var H5TimelineExtendPanel = document.createElement("div");
              H5TimelineExtendPanel.setAttribute("id", "Timeline-h5-extend-Panel");
              H5TimelineExtendPanel.setAttribute("class", "player__Timeline-h5-extend-Panel animated");
              H5TimelineExtendPanel.setAttribute("style", "display:block");
              H5TimelineExtendArea.appendChild(H5TimelineExtendPanel);
              var H5TimelineExtendButton = document.createElement("div");
              H5TimelineExtendButton.setAttribute("id", "Timeline-h5-extend-Button");
              H5TimelineExtendButton.setAttribute("class", "player__Timeline-h5-extend-Button animated");
              H5TimelineExtendButton.innerHTML = "\n                    <div id='extend-icon' class='extend-button-h5'>\n                        <svg title=\"\u5173\u95ED\u8FDB\u5EA6\u6761\" class=\"iconfont\" fill=\"#FFFFFF\" style=\"display:inline-block;width:18px;height:18px\" >\n                            <use xlink:href=\"#icon-icon_shouqi\"></use>\n                        </svg>\n                        <svg title=\"\u6253\u5F00\u8FDB\u5EA6\u6761\" class=\"iconfont\" fill=\"#FFFFFF\" style=\"display:none;width:18px;height:18px\" >\n                            <use xlink:href=\"#icon-icon_zhankai\"></use>\n                        </svg>\n                    </div>\n                ";
              H5TimelineExtendArea.appendChild(H5TimelineExtendButton);
              document.getElementById("extend-icon").addEventListener("click", function () {
                _this9.changeTimelineStatus();
              });
              var H5TimeLineExtend = document.createElement("canvas");
              H5TimeLineExtend.setAttribute("id", "player_timeLine-h5-extend");
              H5TimeLineExtend.setAttribute("width", H5TimelineExtendPanel.clientWidth);
              H5TimeLineExtend.setAttribute("height", H5TimelineExtendPanel.clientHeight);
              H5TimelineExtendPanel.appendChild(H5TimeLineExtend); // let that = this;

              this.timeLineH5Expend.init({
                id: "player_timeLine-h5-extend",
                onChange: function onChange(newTime) {
                  _that.isMutedBackup = _that.playerStatus.isMuted;
                  _that.stopFresh = true;
                  console.log("time change", newTime);
                  console.log(_that.dateTime, "-----------------------1146");
                  _that.changeTime = _that.dateTime + newTime * 1000;
                  console.log(src_utils.getFormatTime(_that.changeTime), "abcdesdfgedasdddddddd");
                  _that.urlParams.beginTime = src_utils.getFormatTime(_that.changeTime);

                  _that.createPlayerInstance();
                },
                startTime: function startTime() {
                  _that.stopFresh = false; // that.start();

                  _that.startTimeLine(_that, _that.changeTime);
                },
                stopTime: function stopTime() {
                  _that.stopFresh = true; // that.stop();

                  _that.changeTimeLine = true;

                  _that.stopTimeLine(_that);
                },
                recordArea: _that.playerStatus.recordList,
                isMobile: true,
                isFullScreen: true,
                height: H5TimelineExtendPanel.clientHeight,
                width: H5TimelineExtendPanel.clientWidth
              }); // // 绘制H5录像全屏回放面板部分结束
            }
          } // 绘制WEB云台面板


          var PTZArea = document.createElement("div");
          PTZArea.setAttribute("id", "PTZArea");
          PTZArea.setAttribute("class", "player__PTZArea");
          this.root.appendChild(PTZArea);
          var PTZPanel = document.createElement("div");
          PTZPanel.setAttribute("id", "PTZ-Panel");
          PTZPanel.setAttribute("class", "player__PTZArea-panel");

          if (!this.playerStatus.isMobile) {
            PTZPanel.addEventListener("mousedown", function (e) {
              _this9.PTZActivity(e, PTZArea, "web", "start");
            });
            PTZPanel.addEventListener("mouseup", function (e) {
              _this9.PTZActivity(e, PTZArea, "web", "stop");
            });
          } else {
            PTZPanel.addEventListener("touchstart", function (e) {
              _this9.PTZActivity(e, PTZArea, "web", "start");
            });
            PTZPanel.addEventListener("touchend", function (e) {
              _this9.PTZActivity(e, PTZArea, "web", "stop");
            });
          }

          PTZArea.appendChild(PTZPanel);
          var directionList = ["up", "down", "left", "right"];

          for (var i = 0; i < directionList.length; i++) {
            this.appendArrow("web", PTZPanel, directionList[i]);
          } // 绘制H5云台面板


          if (this.playerStatus.isMobile && this.playerStatus.isPlayBack != true) {
            var H5PTZPanel = document.createElement("div");
            H5PTZPanel.setAttribute("id", "app-PTZ-panel-h5");
            document.body.appendChild(H5PTZPanel);

            if (H5PTZPanel) {
              H5PTZPanel.setAttribute("class", "h5-PTZ-pannel");
              var H5PTZTitle = document.createElement("div");
              H5PTZTitle.setAttribute("id", "PTZ-contral-h5-title");
              H5PTZTitle.setAttribute("class", "player_PTZ-contral-h5-title");
              H5PTZTitle.innerText = "云台控制";
              H5PTZPanel.appendChild(H5PTZTitle);
              var H5PTZContral = document.createElement("div");
              H5PTZContral.setAttribute("id", "PTZ-contral-h5");
              H5PTZContral.setAttribute("class", "player_PTZ-contral-h5");

              if (!this.playerStatus.isMobile) {
                H5PTZContral.addEventListener("mousedown", function (e) {
                  _this9.PTZActivity(e, H5PTZContral, "h5", "start");
                });
                H5PTZContral.addEventListener("mouseup", function (e) {
                  _this9.PTZActivity(e, H5PTZContral, "h5", "stop");
                });
              } else {
                H5PTZContral.addEventListener("touchstart", function (e) {
                  _this9.PTZActivity(e, H5PTZContral, "h5", "start");
                });
                H5PTZContral.addEventListener("touchend", function (e) {
                  _this9.PTZActivity(e, H5PTZContral, "h5", "stop");
                });
              }

              H5PTZPanel.appendChild(H5PTZContral);

              for (var _i3 = 0; _i3 < directionList.length; _i3++) {
                this.appendArrow("h5", H5PTZContral, directionList[_i3]);
              }
            }
          } //     const controls = utils.domParser(
          //         `
          //   <div class="player__panel">
          //     <div class="player__controls player__controls--transparent">
          //       <div>
          //         <span id="playerControls" class="player__btn player__btn-large iconfont iconbofang"></span>
          //         <span id="playerStop" class="player__btn iconfont icontingzhi"></span>
          //         ${this.talk ? '<span id="playerTalk" class="player__btn player__btn-large player__btn--voiceOff"></span>':''}
          //         <span id="playerSound" class="player__btn player__btn-large iconfont icon${this.playerStatus.isMuted ? 'jingyin' : 'shengyin'}"></span>
          //         ${
          //           platform.os.family === 'iOS'
          //             ? '<span id="playerFullScreen" class="player__btn player__btn-large iconfont iconquanping"></span>'
          //             : ''
          //           }
          //       </div>
          //       <div></div>
          //     </div>
          //   </div>
          //   `
          //     );
          //     this.root.appendChild(controls);
          // this.addControlsEvent(controls);


          this.root.addEventListener("mouseenter", this.showControl.bind(this));
          this.root.addEventListener("mousemove", this.showControl.bind(this));
        } // 切换云存储

      }, {
        key: "chooseRecordType",
        value: function () {
          var _chooseRecordType = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee10(type) {
            var _this10 = this;

            var localButton, localButtonOff, localButtonOn, cloudButton, cloudButtonOff, cloudButtonOn, _cloudButton, _cloudButtonOff, _cloudButtonOn, _localButton, _localButtonOff, _localButtonOn, res;

            return regenerator_default().wrap(function _callee10$(_context10) {
              while (1) {
                switch (_context10.prev = _context10.next) {
                  case 0:
                    if (!this.changeDisabled) {
                      this.changeDisabled = true;
                      this.isChangeDate = true;

                      if (type == "cloud") {
                        localButton = document.getElementById("local-button");
                        localButton.removeAttribute("class");
                        localButton.setAttribute("class", "record-button-list");
                        localButtonOff = localButton.children[0];
                        localButtonOff.removeAttribute("style");
                        localButtonOff.setAttribute("style", "display:inline-block");
                        localButtonOn = localButton.children[1];
                        localButtonOn.removeAttribute("style");
                        localButtonOn.setAttribute("style", "display:none");
                        cloudButton = document.getElementById("cloud-button");
                        cloudButton.removeAttribute("class");
                        cloudButton.setAttribute("class", "record-button-list record-button-list-active");
                        cloudButtonOff = cloudButton.children[0];
                        cloudButtonOff.removeAttribute("style");
                        cloudButtonOff.setAttribute("style", "display:none");
                        cloudButtonOn = cloudButton.children[1];
                        cloudButtonOn.removeAttribute("style");
                        cloudButtonOn.setAttribute("style", "display:inline-block");
                        this.playerStatus.playBackType = "cloudRecord";
                        this.urlParams.recordType = this.playerStatus.playBackType;
                      } else {
                        _cloudButton = document.getElementById("cloud-button");

                        _cloudButton.removeAttribute("class");

                        _cloudButton.setAttribute("class", "record-button-list");

                        _cloudButtonOff = _cloudButton.children[1];

                        _cloudButtonOff.removeAttribute("style");

                        _cloudButtonOff.setAttribute("style", "display:none");

                        _cloudButtonOn = _cloudButton.children[0];

                        _cloudButtonOn.removeAttribute("style");

                        _cloudButtonOn.setAttribute("style", "display:inline-block");

                        _localButton = document.getElementById("local-button");

                        _localButton.removeAttribute("class");

                        _localButton.setAttribute("class", "record-button-list record-button-list-active");

                        _localButtonOff = _localButton.children[1];

                        _localButtonOff.removeAttribute("style");

                        _localButtonOff.setAttribute("style", "display:inline-block");

                        _localButtonOn = _localButton.children[0];

                        _localButtonOn.removeAttribute("style");

                        _localButtonOn.setAttribute("style", "display:none");

                        this.playerStatus.playBackType = "localRecord";
                        this.urlParams.recordType = this.playerStatus.playBackType;
                      }

                      this.urlParams.beginTime = src_utils.getBeginInitFormatTime(new Date(this.urlParams.beginTime.replace(/-/g, '/')).getTime());
                      res = this.getRecordList();
                      res.then(function (data) {
                        console.log(data);
                      }).catch(function (err) {
                        console.log(err);
                      }).finally(function () {
                        var that = _this10;
                        var H5TimeLineControl = document.getElementById("timeLine_h5");
                        H5TimeLineControl.removeChild(H5TimeLineControl.childNodes[0]);
                        var H5TimeLine = document.createElement("canvas");
                        H5TimeLine.setAttribute("id", "player_timeLine-h5");
                        H5TimeLine.setAttribute("width", H5TimeLineControl.clientWidth);
                        H5TimeLine.setAttribute("height", H5TimeLineControl.clientHeight);
                        H5TimeLineControl.appendChild(H5TimeLine);

                        _this10.timeLineH5.init({
                          id: "player_timeLine-h5",
                          onChange: function onChange(newTime) {
                            that.isMutedBackup = that.playerStatus.isMuted;
                            that.stopFresh = true;
                            console.log("time change", newTime);
                            console.log(that.dateTime, "-----------------------1341");
                            that.changeTime = that.dateTime + newTime * 1000;
                            console.log(src_utils.getFormatTime(that.changeTime), "abcdesdfgedasdddddddd");
                            that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                            that.createPlayerInstance();
                          },
                          startTime: function startTime() {
                            that.stopFresh = false; // that.start();

                            that.startTimeLine(that, that.changeTime);
                          },
                          stopTime: function stopTime() {
                            that.stopFresh = true; // that.stop();

                            that.changeTimeLine = true;
                            that.stopTimeLine(that);
                          },
                          recordArea: that.playerStatus.recordList,
                          isMobile: true,
                          isFullScreen: false,
                          height: H5TimeLineControl.clientHeight,
                          width: H5TimeLineControl.clientWidth,
                          fontColor: "#F18D00"
                        }); // this.isMutedBackup = this.playerStatus.isMuted;


                        _this10.createPlayerInstance();

                        _this10.changeDisabled = false;
                      });
                    }

                  case 1:
                  case "end":
                    return _context10.stop();
                }
              }
            }, _callee10, this);
          }));

          function chooseRecordType(_x7) {
            return _chooseRecordType.apply(this, arguments);
          }

          return chooseRecordType;
        }()
      }, {
        key: "changeTimelineStatus",
        value: function changeTimelineStatus() {
          var H5TimelinePanel = $("#Timeline-h5-extend-Panel");
          var H5TimelineButton = $("#Timeline-h5-extend-Button");
          var H5TimelineIcon = $("#extend-icon");
          console.log(this.isH5Extend);

          if (this.isH5Extend) {
            H5TimelineButton.animate({
              right: "0px"
            }, {
              speed: 100,
              easing: "linear"
            });
            H5TimelinePanel.animate({
              right: "-120px"
            }, {
              speed: 100,
              easing: "linear"
            });
            H5TimelineIcon.children()[0].style = "display:none;width:18px;height:18px";
            H5TimelineIcon.children()[1].style = "display:inline-block;width:18px;height:18px";
            console.log();
          } else {
            H5TimelineButton.animate({
              right: "120px"
            }, {
              speed: 100,
              easing: "linear"
            });
            H5TimelinePanel.animate({
              right: "0px"
            }, {
              speed: 100,
              easing: "linear"
            });
            H5TimelineIcon.children()[1].style = "display:none;width:18px;height:18px";
            H5TimelineIcon.children()[0].style = "display:inline-block;width:18px;height:18px";
          }

          this.isH5Extend = !this.isH5Extend;
        }
      }, {
        key: "startTimeLine",
        value: function startTimeLine(that, time) {
          console.log(time / 1000); // this.timeSetInterval = setInterval(function() {
          //     // if (!that.playerStatus.isMobile) {
          //     //     that.timeLineWeb.updateTimeLine(time / 1000);
          //     // } else {
          //     //     that.timeLineH5.updateTimeLine(time / 1000);
          //     // }
          // }, 1000);
        }
      }, {
        key: "stopTimeLine",
        value: function stopTimeLine(that) {
          clearInterval(that.timeSetInterval);
        } // 获取控制方向

      }, {
        key: "PTZActivity",
        value: function () {
          var _PTZActivity = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee11(e, dom, type, active) {
            var direction, panelCenterX, panelCenterY, offSetCenterX, offSetCenterY, result, data, status, code;
            return regenerator_default().wrap(function _callee11$(_context11) {
              while (1) {
                switch (_context11.prev = _context11.next) {
                  case 0:
                    direction = "";

                    if (active === "start") {
                      if (type === "h5") {
                        panelCenterX = dom.getBoundingClientRect().left + 130;
                        panelCenterY = dom.getBoundingClientRect().top + 130;
                      } else {
                        panelCenterX = dom.getBoundingClientRect().left + 60;
                        panelCenterY = dom.getBoundingClientRect().top + 60;
                      }

                      if (!this.playerStatus.isMobile) {
                        offSetCenterX = panelCenterX - e.clientX;
                        offSetCenterY = panelCenterY - e.clientY;
                      } else {
                        if (type === 'web') {
                          offSetCenterY = panelCenterX - e.changedTouches[0].clientX;
                          offSetCenterX = panelCenterY - e.changedTouches[0].clientY;
                        } else {
                          offSetCenterX = panelCenterX - e.changedTouches[0].clientX;
                          offSetCenterY = panelCenterY - e.changedTouches[0].clientY;
                        } // console.log(panelCenterX, e.changedTouches[0].clientX);
                        // console.log(panelCenterY, e.changedTouches[0].clientY);

                      } // console.log(offSetCenterX, offSetCenterY);


                      if (Math.abs(offSetCenterX) > Math.abs(offSetCenterY)) {
                        if (offSetCenterX >= 0) {
                          direction = "left";
                        } else {
                          direction = "right";
                        }
                      } else {
                        if (type === 'web' && this.playerStatus.isMobile) {
                          if (offSetCenterY >= 0) {
                            direction = "down";
                          } else {
                            direction = "up";
                          }
                        } else {
                          if (offSetCenterY >= 0) {
                            direction = "up";
                          } else {
                            direction = "down";
                          }
                        }
                      } // console.log(direction);


                      if (type === "h5") {
                        document.getElementById("PTZ-contral-h5").style = "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #F18D00 0%, rgba(255, 255, 255, 0.05) 30%)");
                      } else {
                        document.getElementById("PTZ-Panel").style = "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #F18D00 0%, rgba(255, 255, 255, 0.05) 30%)");
                      }
                    } else {
                      direction = "stop";

                      if (type === "h5") {
                        document.getElementById("PTZ-contral-h5").style = "";
                      } else {
                        document.getElementById("PTZ-Panel").style = "";
                      }
                    }

                    console.log(direction);
                    _context11.next = 5;
                    return this._requestPTZ(direction);

                  case 5:
                    result = _context11.sent;
                    data = result.data, status = result.status;

                    if (status === 200) {
                      // const content = data.result.data;
                      code = data.result.code; // const msg = data.result.msg;

                      if (code === "0") { } else {
                        // requestInfo.message = msg || "获取播放地址失败";
                        if (type === "h5") {
                          document.getElementById("PTZ-contral-h5").style = direction === "stop" ? "" : "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #ff0000 0%, rgba(255, 255, 255, 0.05) 30%)");
                        } else {
                          document.getElementById("PTZ-Panel").style = direction === "stop" ? "" : "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #ff0000 0%, rgba(255, 255, 255, 0.05) 30%)");
                        }
                      }
                    } else {
                      if (type === "h5") {
                        document.getElementById("PTZ-contral-h5").style = direction === "stop" ? "" : "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #ff0000 0%, rgba(255, 255, 255, 0.05) 30%)");
                      } else {
                        document.getElementById("PTZ-Panel").style = direction === "stop" ? "" : "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #ff0000 0%, rgba(255, 255, 255, 0.05) 30%)");
                      }

                      console.log(data);
                    }

                  case 8:
                  case "end":
                    return _context11.stop();
                }
              }
            }, _callee11, this);
          }));

          function PTZActivity(_x8, _x9, _x10, _x11) {
            return _PTZActivity.apply(this, arguments);
          }

          return PTZActivity;
        }()
      }, {
        key: "_requestPTZ",
        value: function _requestPTZ(direction) {
          var _this$options = this.options,
            kitToken = _this$options.kitToken,
            deviceId = _this$options.deviceId,
            channelId = _this$options.channelId;
          return axios_default()({
            url: "".concat(host, "/openapi/controlMovePTZByKitToken"),
            headers: {
              "Content-Type": "application/json"
            },
            method: "post",
            data: {
              params: {
                kitToken: kitToken,
                // kitParam: `${deviceId}/${channelId}/${type}${urlParamsString}`,
                deviceId: deviceId,
                channelId: channelId,
                operation: direction // token: 'At_00000c5d54939b0e40d8b63e2907279c'

              }
            }
          });
        }
      }, {
        key: "_requestRecordList",
        value: function _requestRecordList(time) {
          var _this$options2 = this.options,
            kitToken = _this$options2.kitToken,
            deviceId = _this$options2.deviceId,
            channelId = _this$options2.channelId;
          return axios_default()({
            url: "".concat(host, "/openapi/queryDeviceRecordsByKitToken"),
            headers: {
              "Content-Type": "application/json"
            },
            method: "post",
            data: {
              params: {
                kitToken: kitToken,
                // kitParam: `${deviceId}/${channelId}/${type}${urlParamsString}`,
                deviceId: deviceId,
                channelId: channelId,
                recordType: this.urlParams.recordType && this.urlParams.recordType == "localRecord" ? "local" : "cloud",
                beginTime: time || this.urlParams.beginTime,
                endTime: this.urlParams.endTime // token: 'At_00000c5d54939b0e40d8b63e2907279c'

              }
            }
          });
        } // 创建面板箭头

      }, {
        key: "appendArrow",
        value: function appendArrow(type, dom, direction) {
          var arrow = document.createElement("div");
          arrow.setAttribute("id", type === "h5" ? "PTZ-Panel-arrow-h5-".concat(direction) : "PTZ-Panel-arrow-".concat(direction));
          arrow.setAttribute("class", type === "h5" ? "arrow-h5-".concat(direction) : "arrow-".concat(direction));
          dom.appendChild(arrow);
        }
        /**
         * 添加封面图
         * @param poster 封面url
         */

      }, {
        key: "createPoster",
        value: function createPoster(poster) {
          var posterDom = src_utils.domParser("\n            <div class=\"player__poster--wrap\" >\n                <div class=\"player__poster\" id=\"playerPoster\">\n                    <img src=\"\" alt=\"\" >\n                </div>\n            </div>\n            ");
          this.root.appendChild(posterDom);
          src_utils.setAttr(posterDom.querySelector("img"), "src", poster);
          return posterDom;
        }
      }, {
        key: "getBufferTime",
        value: function getBufferTime(video) {
          var _this11 = this;

          console.log(video.duration - video.currentTime);
          setTimeout(function () {
            _this11.getBufferTime(video);
          }, 1000);
        }
        /**
         * 检查webGl
         */

      }, {
        key: "isWebGLAvailable",
        value: function isWebGLAvailable() {
          try {
            var canvas = document.createElement("canvas");
            return !!(window.WebGLRenderingContext && (canvas.getContext("webgl") || canvas.getContext("experimental-webgl")));
          } catch (e) {
            return false;
          }
        }
        /**
         * 检查webGl2
         */

      }, {
        key: "isWebGL2Available",
        value: function isWebGL2Available() {
          try {
            var canvas = document.createElement("canvas");
            return !!(window.WebGL2RenderingContext && canvas.getContext("webgl2"));
          } catch (e) {
            return false;
          }
        }
        /**
         * 创建播放器实例
         */

      }, {
        key: "createPlayerInstance",
        value: function () {
          var _createPlayerInstance = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee12() {
            var _this12 = this;

            var dom, playButton, pauseButton, _dom, MuteOnButton, MuteOffButton, definitionControl, sdButton, hdButton, _hdButton4, _sdButton4, cloudRecordButton, localRecordButton, cloudOffButton, cloudOnButton, localOffButton, localOnButton, _cloudRecordButton, _localRecordButton, _cloudOffButton, _cloudOnButton, _localOffButton, _localOnButton, localButton, cloudButton, cloudButtonOff, cloudButtonOn, localButtonOff, localButtonOn, _cloudButtonOff2, _cloudButtonOn2, _localButtonOff2, _localButtonOn2, H5TimeLinePanel, result, v, video, source, id, config, that, currentCanvasEL, currentVideoEL, _this$playUrl$replace, _this$playUrl$replace2, wsIP, _location2, protocol, options, _that2;

            return regenerator_default().wrap(function _callee12$(_context12) {
              while (1) {
                switch (_context12.prev = _context12.next) {
                  case 0:
                    if (this.playerStatus.isAutoPlay === true) {
                      // console.log("开始自动播放");
                      // this.playOrPause()
                      // this.isPlaying = true
                      dom = document.getElementById("playerControl");

                      if (dom) {
                        playButton = document.getElementById("playerControl").children[0];
                        playButton.removeAttribute("style");
                        playButton.setAttribute("style", "display:none");
                        pauseButton = document.getElementById("playerControl").children[1];
                        pauseButton.removeAttribute("style");
                        pauseButton.setAttribute("style", "display:inline-block");
                      }
                    }

                    if (this.options.automute === true || (platform_default()).os.family == "iOS" || this.isMutedBackup === true) {
                      console.log("开始自动静音");
                      _dom = document.getElementById("MuteControl");

                      if (_dom) {
                        MuteOnButton = document.getElementById("MuteControl").children[0];
                        MuteOnButton.removeAttribute("style");
                        MuteOnButton.setAttribute("style", "display: none");
                        MuteOffButton = document.getElementById("MuteControl").children[1];
                        MuteOffButton.removeAttribute("style");
                        MuteOffButton.setAttribute("style", "display: inline-block");
                      }

                      this.playerStatus.isMuted = true;
                    } // if (!this.playerStatus.isFullScreen && this.controls) {
                    //     let dom = document.querySelector("#ExtendControl");
                    //     dom.addEventListener("click", this._toggleFullScreen.bind(this));
                    // }


                    definitionControl = document.getElementById("DefinitionControl");

                    if (definitionControl) {
                      if (this.playerStatus.isHD) {
                        sdButton = definitionControl.children[1];
                        sdButton.removeAttribute("style");
                        sdButton.setAttribute("style", "display:none");
                        hdButton = definitionControl.children[0];
                        hdButton.removeAttribute("style");
                        hdButton.setAttribute("style", "display:inline-block");
                      } else {
                        _hdButton4 = definitionControl.children[0];

                        _hdButton4.removeAttribute("style");

                        _hdButton4.setAttribute("style", "display:none");

                        _sdButton4 = definitionControl.children[1];

                        _sdButton4.removeAttribute("style");

                        _sdButton4.setAttribute("style", "display:inline-block");
                      }
                    }

                    if (!this.playerStatus.isMobile) {
                      if (this.playerStatus.isPlayBack && this.playerStatus.playBackType == "localRecord") {
                        cloudRecordButton = document.getElementById("cloudVideoControl");
                        localRecordButton = document.getElementById("localVideoControl");

                        if (cloudRecordButton) {
                          cloudOffButton = cloudRecordButton.children[0];
                          cloudOffButton.removeAttribute("style");
                          cloudOffButton.setAttribute("style", "display:inline-block");
                          cloudOnButton = cloudRecordButton.children[1];
                          cloudOnButton.removeAttribute("style");
                          cloudOnButton.setAttribute("style", "display:none");
                        }

                        if (localRecordButton) {
                          localOffButton = localRecordButton.children[0];
                          localOffButton.removeAttribute("style");
                          localOffButton.setAttribute("style", "display:none");
                          localOnButton = localRecordButton.children[1];
                          localOnButton.removeAttribute("style");
                          localOnButton.setAttribute("style", "display:inline-block");
                        }
                      } else if (this.playerStatus.isPlayBack && this.playerStatus.playBackType != "localRecord") {
                        _cloudRecordButton = document.getElementById("cloudVideoControl");
                        _localRecordButton = document.getElementById("localVideoControl");

                        if (_cloudRecordButton) {
                          _cloudOffButton = _cloudRecordButton.children[0];

                          _cloudOffButton.removeAttribute("style");

                          _cloudOffButton.setAttribute("style", "display:none");

                          _cloudOnButton = _cloudRecordButton.children[1];

                          _cloudOnButton.removeAttribute("style");

                          _cloudOnButton.setAttribute("style", "display:inline-block");
                        }

                        if (_localRecordButton) {
                          _localOffButton = _localRecordButton.children[0];

                          _localOffButton.removeAttribute("style");

                          _localOffButton.setAttribute("style", "display:inline-block");

                          _localOnButton = _localRecordButton.children[1];

                          _localOnButton.removeAttribute("style");

                          _localOnButton.setAttribute("style", "display:none");
                        }
                      }
                    } else {
                      localButton = document.getElementById("local-button");
                      cloudButton = document.getElementById("cloud-button");

                      if (this.playerStatus.isPlayBack && this.playerStatus.playBackType == "localRecord") {
                        if (cloudButton) {
                          cloudButton.removeAttribute("class");
                          cloudButton.setAttribute("class", "record-button-list");
                          cloudButtonOff = cloudButton.children[1];
                          cloudButtonOff.removeAttribute("style");
                          cloudButtonOff.setAttribute("style", "display:none");
                          cloudButtonOn = cloudButton.children[0];
                          cloudButtonOn.removeAttribute("style");
                          cloudButtonOn.setAttribute("style", "display:inline-block");
                        }

                        if (localButton) {
                          localButton.removeAttribute("class");
                          localButton.setAttribute("class", "record-button-list record-button-list-active");
                          localButtonOff = localButton.children[1];
                          localButtonOff.removeAttribute("style");
                          localButtonOff.setAttribute("style", "display:inline-block");
                          localButtonOn = localButton.children[0];
                          localButtonOn.removeAttribute("style");
                          localButtonOn.setAttribute("style", "display:none");
                        }
                      } else if (this.playerStatus.isPlayBack && this.playerStatus.playBackType != "localRecord") {
                        if (cloudButton) {
                          cloudButton.removeAttribute("class");
                          cloudButton.setAttribute("class", "record-button-list record-button-list-active");
                          _cloudButtonOff2 = cloudButton.children[0];

                          _cloudButtonOff2.removeAttribute("style");

                          _cloudButtonOff2.setAttribute("style", "display:none");

                          _cloudButtonOn2 = cloudButton.children[1];

                          _cloudButtonOn2.removeAttribute("style");

                          _cloudButtonOn2.setAttribute("style", "display:inline-block");
                        }

                        if (localButton) {
                          localButton.removeAttribute("class");
                          localButton.setAttribute("class", "record-button-list");
                          _localButtonOff2 = localButton.children[0];

                          _localButtonOff2.removeAttribute("style");

                          _localButtonOff2.setAttribute("style", "display:inline-block");

                          _localButtonOn2 = localButton.children[1];

                          _localButtonOn2.removeAttribute("style");

                          _localButtonOn2.setAttribute("style", "display:none");
                        }
                      }
                    }

                    if (this.playerStatus.isMobile && this.playerStatus.isPlayBack && !this.isH5ExtendShow) {
                      H5TimeLinePanel = document.getElementById("Timeline-h5-extend-Area");
                      H5TimeLinePanel.removeAttribute("style");
                      H5TimeLinePanel.setAttribute("style", "display:none");
                    } // 加载js依赖
                    // await this.loadScripts();
                    // console.log(this.options, "-------------------------------------------");


                    _context12.next = 8;
                    return this.getPlayUrl(this.options);

                  case 8:
                    result = _context12.sent;

                    if (result.isSuccess) {
                      _context12.next = 12;
                      break;
                    }

                    this.tipDom.innerHTML = result.message;
                    return _context12.abrupt("return");

                  case 12:
                    this.playUrl = result.playUrl; // 是否为m3u8的hls流，如果是就调用videoJs进行播放

                    this.isRecord = src_utils.isRecord(this.playUrl);
                    console.log(this.isRecord); // 加载js依赖

                    _context12.next = 17;
                    return this.loadScripts();

                  case 17:
                    if (!this.isRecord) {
                      _context12.next = 33;
                      break;
                    }

                    // 使用videoJs播放
                    v = document.querySelector("video");

                    if (v) {
                      this.root.removeChild(v);
                    }

                    video = document.createElement("video");
                    source = document.createElement("source");
                    src_utils.setAttr(source, "src", this.playUrl);
                    src_utils.setAttr(video, "playsinline", true);
                    src_utils.setAttr(video, "webkit-playsinline", true);
                    src_utils.setAttr(video, "x5-playsinline", true);
                    src_utils.setStyle(video, {
                      width: "100%",
                      height: "100%",
                      objectFit: "fill",
                      position: "absolute",
                      zIndex: -1
                    }); // if (!this.isMobile) utils.setAttr(video, 'class', 'video-js');
                    // 生成随机id，多分屏模式避免videoJs初始化冲突

                    id = " my-video-".concat(Math.random().toString(36).substring(2));
                    src_utils.setAttr(video, "id", id);
                    console.log(this.playerStatus.isMobile, "mobile");

                    if (this.playerStatus.isMobile) {
                      console.log("video play"); // 移动端播放
                      // utils.setAttr(video, 'autoplay', true);
                      // utils.setAttr(video, 'muted', true);

                      video.controls = false;
                      video.autoplay = true; // video.volume = 0;
                      // video.muted = true;

                      video.appendChild(source);
                      this.root.appendChild(video);
                      this.videoPlayer = video; // this.isMuted = video.muted;
                      // if (this.playerStatus.isAutoPlay) {
                      //     this.play()
                      // }

                      try {
                        setTimeout(function () {
                          if (_this12.playerStatus.isAutoPlay) {
                            _this12.play();
                          }
                        }, 1000); // ios退出全屏自动暂停视频

                        this.videoPlayer.addEventListener("webkitendfullscreen", function () {
                          _this12.pause();
                        });
                      } catch (e) {
                        console.log(e);
                        this.tipDom.innerHTML = "播放出错";
                      }
                    } else {
                      src_utils.setAttr(source, "type", "application/x-mpegURL");
                      video.appendChild(source);
                      this.root.appendChild(video);
                      config = {
                        controls: false,
                        autoplay: this.playerStatus.autoplay,
                        muted: false
                      };
                      that = this;
                      this.videoJsPlayer = videojs(id, config, function () {
                        that.videoJsPlayer.errorDisplay.off();
                      });

                      try {
                        setTimeout(function () {
                          if (_this12.playerStatus.isAutoPlay) {
                            _this12.play();
                          }
                        }, 1000);
                      } catch (e) {
                        this.tipDom.innerHTML = "播放出错";
                      } // this.getBufferTime(video);

                    } // setTimeout(() => {
                    //   video.currentTime = video.duration - 0.5
                    // }, 500)


                    _context12.next = 71;
                    break;

                  case 33:
                    if (this.canvasPlayer && this.playerStatus.isPlayBack) {
                      this.canvasPlayer.close();
                      this.canvasPlayer = null;
                    }

                    if (this.isWebGLAvailable()) {
                      _context12.next = 37;
                      break;
                    }

                    this.tipDom.innerHTML = "您的浏览器不支持或未开启WebGL！";
                    return _context12.abrupt("return");

                  case 37:
                    // 使用Canvas+Websocket播放
                    currentCanvasEL = document.getElementById("canvas-video");
                    currentVideoEL = document.getElementById("video-canvas");
                    console.log(currentCanvasEL, currentVideoEL);

                    if (currentCanvasEL) {
                      this.root.removeChild(currentCanvasEL);
                    }

                    if (currentVideoEL) {
                      this.root.removeChild(currentVideoEL);
                    }

                    this.canvasEl = document.createElement("canvas");
                    this.canvasEl.setAttribute("id", "canvas-video");
                    this.videoEl = document.createElement("video");
                    this.videoEl.setAttribute("id", "video-canvas");
                    this.canvasEl.style.width = "100%";
                    this.canvasEl.style.height = "100%";
                    this.canvasEl.style.position = "absolute";
                    this.canvasEl.style.zIndex = "-1";
                    this.videoEl.style.width = "100%";
                    this.videoEl.style.height = "100%";
                    this.videoEl.style.display = "none";
                    this.root.appendChild(this.canvasEl);
                    this.root.appendChild(this.videoEl);
                    this.frameTime = null;
                    this.syncTime = null;
                    _this$playUrl$replace = this.playUrl.replace("rtsp://", "").split("/"), _this$playUrl$replace2 = _slicedToArray(_this$playUrl$replace, 1), wsIP = _this$playUrl$replace2[0];
                    _location2 = location, protocol = _location2.protocol;
                    options = {
                      wsURL: "\n                        ".concat(protocol === "http:" && this.playUrl.indexOf("8556") === -1 ? "ws" : "wss", "://").concat(wsIP, "\n                    "),
                      // wsURL: `ws://${wsIP}`,
                      rtspURL: this.playUrl,
                      username: "admin",
                      password: "admin123",
                      decodeMode: "canvas"
                    };
                    this.canvasPlayer = new PlayerControl(options);
                    _that2 = this;
                    console.log("初始化播放器" + _that2.canvasPlayer);
                    this.isInitialized = true;
                    this.canvasPlayer.on("WorkerReady", function () {
                      //当文件准备完成后，开始拉流。
                      console.log("拉流开始"); // if (that.playerStatus.isAutoPlay) {

                      _that2.canvasPlayer.connect(); // }

                    }); // 优先进行事件绑定再初始化播放器，因为初始化播放器之后events对象会变成null

                    this.canvasPlayer.on("PlayStart", function (e) {
                      console.log("触发playStart");
                      _this12.changeDateFlag = false;
                      _this12.changeTimeLine = false; // clearTimeout(this.playErrorTimer);

                      _this12.stopFresh = false;
                      _this12.tipDom.innerHTML = "";
                      log("\u5F00\u59CB\u64AD\u653E:".concat(e));
                      _this12.isInitialized = false;
                      _this12.isChangeDate = false;

                      var getStreamTotalTime = new Date().getTime() - _this12.startGetStreamTime; // log(`拉流耗时: ${getStreamTotalTime / 1000}s`);
                      // const startInitPlayerTime = localStorage.getItem('startInitPlayerTime');
                      // log(`总耗时: ${(new Date().getTime() - startInitPlayerTime) / 1000}s`);


                      if (_this12.playerStatus.isAutoPlay) {
                        if ((platform_default()).os.family == "iOS") {
                          _this12.canvasPlayer.setAudioVolume(0);

                          _this12.playerStatus.isMuted = true;
                        } else {
                          setTimeout(function () {
                            _this12.canvasPlayer.setAudioVolume(0);
                          }, 0);

                          if (_this12.isMutedBackup !== true) {
                            setTimeout(function () {
                              _this12.canvasPlayer.setAudioVolume(1);
                            }, 1000);
                          }
                        }

                        _this12.play();
                      }

                      var that = _this12;

                      if (_this12.isMutedBackup === false) {
                        setTimeout(function () {
                          _this12.canvasPlayer.setAudioVolume(1);
                        }, 1000);

                        var _dom2 = document.getElementById("MuteControl");

                        if (_dom2 && (platform_default()).os.family == "iOS") {
                          // let MuteOffButton = document.getElementById("MuteControl").children[1];
                          // MuteOffButton.removeAttribute("style");
                          // MuteOffButton.setAttribute("style", "display: none");
                          // let MuteOnButton = document.getElementById("MuteControl").children[0];
                          // MuteOnButton.removeAttribute("style");
                          // MuteOnButton.setAttribute("style", "display: inline-block");
                          setTimeout(function () {
                            _dom2.click();
                          }, 1000);
                        }
                      }

                      _this12.isMutedBackup = null;
                      console.log('isMutedBackup:', _this12.isMutedBackup);
                    }); // 当解码器或播放视频出现错误时，触发该事件

                    this.canvasPlayer.on("Error", function (e) {// this.tipDom.innerHTML = '播放失败';
                      // error(`播放出错:${JSON.stringify(e)}`);
                    }); // 当每在视频上绘制一帧时，触发该事件

                    this.canvasPlayer.on("UpdateCanvas", this.throttle(function (e) {
                      // console.log("绘制开始", e);
                      // 清空错误提示
                      // this.tipDom.innerHTML = "";
                      if (!_this12.changeTimeLine) {
                        if (_this12.playerStatus.isPlayBack && _this12.playerStatus.recordList.length > 0 && !_this12.changeDateFlag && !_this12.isChangeDate) {
                          // console.log((this.playerStatus.recordList[this.playerStatus.recordList.length - 1].endTime), (e.timestamp))
                          if (_this12.playerStatus.recordList[_this12.playerStatus.recordList.length - 1].endTime <= e.timestamp) {
                            _this12.stop();

                            _this12.tipDom.innerHTML = "录像播放完毕";
                          }
                        }

                        if (_this12.isPlaying) {
                          _this12.tipDom.innerHTML = "";
                        } // console.log(this.timeLineWeb, this.timeLineH5);


                        if (_this12.timeLineWeb && !_this12.stopFresh) {
                          _this12.timeLineWeb.updateTimeLine(e.timestamp);
                        }

                        if (_this12.timeLineH5 && !_this12.stopFresh) {
                          _this12.timeLineH5.updateTimeLine(e.timestamp);
                        }

                        if (_this12.timeLineH5Expend && !_this12.stopFresh) {
                          _this12.timeLineH5Expend.updateTimeLine(e.timestamp);
                        } // }, 1000);
                        // console.log(this.syncTime);


                        clearTimeout(_this12.frameTime);
                        _this12.frameTime = setTimeout(function () {
                          if (_this12.isPlaying) {
                            _this12.tipDom.innerHTML = "加载中，请稍后...";
                          }
                        }, 10000); // console.log(this.frameTime);
                      }
                    }));
                    /*记录下第一帧的，然后再用当前帧的时间戳减去第一帧，就是时间了/
                                                              that.player.on('UpdateCanvas', function(rs) {
                                                                  if (beginTimestamp === 0) {
                                                                      beginTimestamp = rs.timestamp; //获取录像文件的第一帧的时间戳
                                                                  }
                                                                  that.currTime = rs.timestamp - beginTimestamp;
                                                              });*/
                    // 当开始解码器开始解码时，触发该事件

                    this.canvasPlayer.on("DecodeStart", function (e) {
                      console.log("DecodeStart: " + JSON.stringify(e));

                      _that2.canvasPlayer.connect();
                    });
                    this.startGetStreamTime = new Date().getTime();
                    this.canvasPlayer.init(this.canvasEl, this.videoEl);

                  case 71:
                  case "end":
                    return _context12.stop();
                }
              }
            }, _callee12, this);
          }));

          function createPlayerInstance() {
            return _createPlayerInstance.apply(this, arguments);
          }

          return createPlayerInstance;
        }()
      }, {
        key: "throttle",
        value: function throttle(fn) {
          var timer = null;
          return function () {
            var _arguments = arguments,
              _this13 = this;

            if (timer) {
              return;
            }

            timer = setTimeout(function () {
              //执行操作(使用apply重新绑定this的指向)
              fn.apply(_this13, _arguments);
              timer = null;
            }, 100);
          };
        }
        /**
         * 语音对讲功能
         */

      }, {
        key: "talkStartOrStop",
        value: function talkStartOrStop() {
          if (!this.talk) return;

          if (this.talk.pc === null) {
            this.startTalk();
          } else {
            this.stopTalk();
          }
        }
        /**
         * 开启语音对讲
         */

      }, {
        key: "startTalk",
        value: function () {
          var _startTalk = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee13() {
            var _this14 = this;

            var beginTime, pc, sessionId, srfixOnceFlag;
            return regenerator_default().wrap(function _callee13$(_context13) {
              while (1) {
                switch (_context13.prev = _context13.next) {
                  case 0:
                    if (this.talk) {
                      _context13.next = 2;
                      break;
                    }

                    return _context13.abrupt("return");

                  case 2:
                    if (!(!navigator.mediaDevices && !navigator.getUseMedia)) {
                      _context13.next = 4;
                      break;
                    }

                    throw JSON.stringify({
                      code: "1002",
                      msg: "浏览器版本过低或者请使用https链接"
                    });

                  case 4:
                    // 获取音频数据
                    beginTime = new Date().getTime();
                    pc = new RTCPeerConnection({
                      iceServers: [{
                        urls: "turn:112.124.55.115:3478",
                        username: "test",
                        credential: "test"
                      }],
                      bundlePolicy: "max-bundle",
                      iceTransportPolicy: "relay"
                    });
                    sessionId = src_utils.getRandomString();
                    this.talk.sessionId = sessionId;
                    this.talk.pc = pc;
                    srfixOnceFlag = true;
                    navigator.mediaDevices.getUserMedia({
                      audio: true,
                      video: false
                    }).then(function (res) {
                      var _iterator3 = _createForOfIteratorHelper(res.getTracks()),
                        _step3;

                      try {
                        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
                          var i = _step3.value;
                          pc.addTrack(i);
                        }
                      } catch (err) {
                        _iterator3.e(err);
                      } finally {
                        _iterator3.f();
                      }

                      log("\u97F3\u9891\u83B7\u53D6\u65F6\u95F4\uFF1A", new Date().getTime() - beginTime);
                      return pc.createOffer({
                        offerToReceiveAudio: 0,
                        offerToReceiveVideo: 0
                      });
                    }).then(function (res) {
                      return pc.setLocalDescription(res);
                    }).catch(function (err) {
                      _this14.talk.failed && _this14.talk.failed({
                        code: "1003",
                        msg: JSON.stringify(err)
                      });

                      _this14.stopTalk();
                    });

                    pc.onsignalingstatechange = function () {
                      log("signalingstatechange: ".concat(pc.signalingstatechange), new Date().getTime() - beginTime);
                    };

                    pc.onconnectionstatechange = function (state) {
                      if (pc.connectionState === "connected") {
                        // 对讲建立成功，触发成功的钩子函数
                        log("connectionState: ".concat(pc.connectionState), new Date().getTime() - beginTime); // 修改图标

                        var talkControl = document.getElementById('talkControl');
                        var open = talkControl.children[0];
                        var close = talkControl.children[1];
                        open.setAttribute('style', 'display:inline-block');
                        close.setAttribute('style', 'display:none');
                        _this14.talk.success && _this14.talk.success("open");
                      }

                      if (pc.connectionState === "failed") {
                        // 对讲建立失败，触发失败的钩子函数
                        log("connectionState: ".concat(pc.connectionState), new Date().getTime() - beginTime);
                        _this14.talk.failed && _this14.talk.failed({
                          code: "1003",
                          msg: "对讲连接建立失败, 请更换网络环境之后再次尝试"
                        });

                        _this14.stopTalk();
                      }
                    };

                    pc.onicegatheringstatechange = function () {
                      log("iceGatheringState: ".concat(pc.iceGatheringState), new Date().getTime() - beginTime);
                    };

                    pc.onicecandidate = function (state) {
                      // 当获取到第一个 srfix 的值， 立即发送 offer, 进行建立连接
                      if (state && state.candidate) {
                        log("candidate:".concat(state.candidate.type), new Date().getTime() - beginTime);
                      }

                      if (srfixOnceFlag && state.candidate && state.candidate.type === "relay") {
                        srfixOnceFlag = false;
                        var sdpOffer = pc.localDescription.sdp;

                        _this14._request({
                          sdpOffer: sdpOffer,
                          sessionId: sessionId,
                          operate: "open"
                        }).then(function (res) {
                          var result = res.data.result;

                          if (result.code !== "0") {
                            pc.close();
                            _this14.talk.pc = null;
                            throw JSON.stringify(result);
                          }

                          var sdpAnswer = result.data.sdpAnswer;
                          return pc.setRemoteDescription(new RTCSessionDescription({
                            type: "answer",
                            sdp: sdpAnswer
                          }));
                        }).then(function (res) {
                          src_utils.setAttr(_this14.btnTalk, "class", "player__btn player__btn-large player__btn--voice");
                        }).catch(function (err) {
                          pc.close();
                          _this14.talk.pc = null; // 如果有其他请求错误，直接向外抛出

                          _this14.talk.failed && _this14.talk.failed(JSON.parse(err));
                        });
                      }
                    };

                  case 15:
                  case "end":
                    return _context13.stop();
                }
              }
            }, _callee13, this);
          }));

          function startTalk() {
            return _startTalk.apply(this, arguments);
          }

          return startTalk;
        }()
        /**
         * 关闭语音对讲
         */

      }, {
        key: "stopTalk",
        value: function () {
          var _stopTalk = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee14() {
            var sessionId, talkControl, open, close;
            return regenerator_default().wrap(function _callee14$(_context14) {
              while (1) {
                switch (_context14.prev = _context14.next) {
                  case 0:
                    if (this.talk) {
                      _context14.next = 2;
                      break;
                    }

                    return _context14.abrupt("return");

                  case 2:
                    if (!(this.talk.pc === null)) {
                      _context14.next = 4;
                      break;
                    }

                    return _context14.abrupt("return");

                  case 4:
                    this.talk.pc.close();
                    sessionId = this.talk.sessionId;
                    this.talk.pc = null; // 发出关闭请求

                    _context14.prev = 7;
                    _context14.next = 10;
                    return this._request({
                      sessionId: sessionId,
                      operate: "close"
                    });

                  case 10:
                    _context14.next = 14;
                    break;

                  case 12:
                    _context14.prev = 12;
                    _context14.t0 = _context14["catch"](7);

                  case 14:
                    talkControl = document.getElementById('talkControl');
                    open = talkControl.children[0];
                    close = talkControl.children[1];
                    open.setAttribute('style', 'display:none');
                    close.setAttribute('style', 'display:inline-block');
                    this.talk.success && this.talk.success("close");

                  case 20:
                  case "end":
                    return _context14.stop();
                }
              }
            }, _callee14, this, [[7, 12]]);
          }));

          function stopTalk() {
            return _stopTalk.apply(this, arguments);
          }

          return stopTalk;
        }()
        /**
         * 根据data是否存在，来设置streamType=webrtc
         */

      }, {
        key: "_request",
        value: function _request(data) {
          var _this$options3 = this.options,
            kitToken = _this$options3.kitToken,
            deviceId = _this$options3.deviceId,
            channelId = _this$options3.channelId,
            type = _this$options3.type;
          var urlParamsString = src_utils.transformParamsToString(_objectSpread(_objectSpread({}, this.urlParams), {}, {
            streamType: data ? "webrtc" : this.urlParams.streamType
          })); // const node = document.getElementById('url-type')
          // node.innerText = `流方式: ${this.urlParams.streamType}`;

          return axios_default()({
            url: "".concat(host, "/openapi/getKitStreamUrl"),
            headers: {
              "Content-Type": "application/json"
            },
            method: "post",
            data: {
              params: _objectSpread({
                kitToken: kitToken,
                kitParam: "".concat(deviceId, "/").concat(channelId, "/").concat(type).concat(urlParamsString)
              }, data)
            }
          });
        }
      }, {
        key: "_toggleFullScreen",
        value: function _toggleFullScreen() {
          var requestMethod = this.playerStatus.isFullScreen ? this.exitFullScreen : this.setFullScreen;
          requestMethod.call(this); // this.playerStatus.isFullScreen = !this.playerStatus.isFullScreen
        }
      }, {
        key: "_toggleWebFullScreen",
        value: function _toggleWebFullScreen() {
          console.log("_toggleWebFullScreen", this.options);
          if (this.playerStatus.isFullScreen) return;

          if (this.playerStatus.isWebFullScreen) {
            this.options.rootSelect.style.width = this.options.width;
            this.options.rootSelect.style.height = this.options.height;
            this.playerStatus.isWebFullScreen = false;
          } else {
            this.options.rootSelect.style.width = window.innerWidth + "px";
            this.options.rootSelect.style.height = window.innerHeight + "px";
            this.playerStatus.isWebFullScreen = true;
          } // const requestMethod = this.playerStatus.isFullScreen ?
          //     this.exitFullScreen :
          //     this.setFullScreen;
          // requestMethod.call(this);

        }
      }, {
        key: "setFullScreen",
        value: function setFullScreen() {
          var el = document.body;
          console.log(el);

          if (!this.playerStatus.isFullScreen) {
            var fullScreenMethod = el.requestFullScreen || // w3c
              el.webkitRequestFullScreen || // Chrome
              el.mozRequestFullScreen || // Firefox
              document.body.msRequestFullscreen; // IE11

            if (fullScreenMethod) {
              console.log(fullScreenMethod);
              fullScreenMethod.call(el);
            } else {
              var _document$getElements = document.getElementsByTagName("video"),
                _document$getElements2 = _slicedToArray(_document$getElements, 1),
                video = _document$getElements2[0];

              video.webkitEnterFullScreen();
            } // if (this.btnFullScreen) {
            //     utils.setAttr(this.btnFullScreen, 'class', 'player__btn player__btn-large iconfont icon-Icon_QuanPing');
            // }

          }

          this.playerStatus.isFullScreen = !this.playerStatus.isFullScreen;
          src_utils.setStyle(this.root, {
            width: "100%",
            height: "100%"
          });
        }
      }, {
        key: "exitFullScreen",
        value: function exitFullScreen() {
          var _this15 = this;

          if (this.playerStatus.isFullScreen) {
            var exitFullScreenMethod = document.exitFullScreen || // w3c
              document.webkitCancelFullScreen || // Chrome
              document.mozCancelFullScreen || // Firefox
              document.msExitFullscreen; // IE11

            exitFullScreenMethod.call(document); // if (this.btnFullScreen) {
            //     utils.setAttr(this.btnFullScreen, 'class', 'player__btn player__btn-large iconfont iconquanping');
            // }

            var app = document.getElementById(this.rootId);
            app.style.width = this.options.width;
            app.style.height = this.options.height;
            setTimeout(function () {
              if (!_this15.playerStatus.isMobile) {
                console.log(window.innerHeight);
                var timeLineControl = document.getElementById("timeLine_web");

                if (timeLineControl) {
                  timeLineControl.removeChild(timeLineControl.childNodes[0]);
                }

                if (_this15.playerStatus.isPlayBack) {
                  var webTimeLine = document.createElement("canvas");
                  webTimeLine.setAttribute("id", "player_timeLine-web");
                  webTimeLine.setAttribute("width", timeLineControl.clientWidth);
                  webTimeLine.setAttribute("height", timeLineControl.clientHeight);
                  timeLineControl.appendChild(webTimeLine);
                  var that = _this15;

                  _this15.timeLineWeb.init({
                    id: "player_timeLine-web",
                    onChange: function onChange(newTime) {
                      that.stopFresh = true;
                      console.log("time change", newTime);
                      console.log(that.dateTime, "-------------------3240");
                      that.changeTime = that.dateTime + newTime * 1000;
                      that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
                      that.isMutedBackup = that.playerStatus.isMuted;
                      that.createPlayerInstance();
                    },
                    startTime: function startTime() {
                      that.stopFresh = false; // that.start();

                      that.startTimeLine(that, that.changeTime);
                    },
                    stopTime: function stopTime() {
                      // that.pause()
                      that.stopFresh = true; // that.stop();

                      that.changeTimeLine = true;
                      that.stopTimeLine(that);
                    },
                    recordArea: that.playerStatus.recordList,
                    isMobile: false,
                    isFullScreen: false,
                    height: timeLineControl.clientHeight,
                    width: timeLineControl.clientWidth
                  });
                }
              }
            }, 300);
          }

          this.playerStatus.isFullScreen = !this.playerStatus.isFullScreen; // this._setPlayerSize()
        }
      }]);

      return Player;
    }();

/* harmony default export */ const src_player = (Player);
    // EXTERNAL MODULE: ./src/assets/themefont/iconfont.js
    var iconfont = __webpack_require__(5323);
    // EXTERNAL MODULE: ./src/assets/themefont/iconfont.css
    var themefont_iconfont = __webpack_require__(6173);
    // EXTERNAL MODULE: ./src/assets/style/player.css
    var player = __webpack_require__(3710);
    // EXTERNAL MODULE: ./src/assets/style/border.css
    var border = __webpack_require__(8276);
    // EXTERNAL MODULE: ./src/assets/style/video-js.css
    var video_js = __webpack_require__(549);
    ;// CONCATENATED MODULE: ./src/main.js






















    // import './assets/style/animate.min.css'
    // import '../static/message.js';

    // new vConsole();

    var main_utils$logsFunction = src_utils.logsFunction(),
      main_log = main_utils$logsFunction.log,
      main_info = main_utils$logsFunction.info,
      main_error = main_utils$logsFunction.error;

    var ImouPlayer = /*#__PURE__*/function () {
      function ImouPlayer(id) {
        _classCallCheck(this, ImouPlayer);

        var startInitPlayerTime = new Date().getTime().toString(); // localStorage.setItem('startInitPlayerTime', startInitPlayerTime);

        this.rootId = id;
        this.root = src_utils.$(id);
        src_utils.setStyle(this.root, {
          position: "static",
          overflow: "hidden",
          userSelect: "none"
        }); // 存放播放器的根节点

        this.container = document.createElement("div");
        src_utils.setStyle(this.container, {
          // position: "relative",
          display: "flex",
          flexFlow: "row wrap",
          background: "#000",
          overflow: "hidden",
          width: "100%"
        });
        this.root.appendChild(this.container); // 存放播放器实例

        this.playerSet = []; // 是否全屏状态

        this.isFullScreen = false;
        this.themeData = [];
      }
      /**
       * 配置播放器参数
       * @public
       * @param options
       * @returns {Promise<void>}
       */


      _createClass(ImouPlayer, [{
        key: "setup",
        value: function () {
          var _setup = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee(options) {
            var containerHeight, windows;
            return regenerator_default().wrap(function _callee$(_context) {
              while (1) {
                switch (_context.prev = _context.next) {
                  case 0:
                    if (!options.src || !options.src instanceof Array) {
                      main_error("请填写正确的src");
                    } // 非IE环境中使用使用WebSocket+Canvas进行播放


                    this.options = options;
                    this.options.url = this.options.src; // 默认控制栏为true

                    if (this.options.controls === undefined) {
                      this.options.controls = true;
                    } // 默认自动播放为true


                    if (this.options.autoplay === undefined) {
                      this.options.autoplay = true;
                    } // 默认静音为false


                    if (this.options.automute === undefined) {
                      this.options.automute = false;
                    }

                    containerHeight = "100%";
                    src_utils.setStyle(this.container, {
                      height: containerHeight
                    });

                    this._setPlayerSize();

                    windows = 1; // if (this.options.src.length === 1) {
                    //     windows = 1;
                    // } else if (this.options.src.length === 2) {
                    //     windows = 2;
                    // } else if (this.options.src.length <= 4 && this.options.src.length > 1) {
                    //     windows = 4;
                    // } else {
                    //     windows = 9;
                    // }

                    this.isEdit = this.options.isEdit;
                    this.themeData = this.options.themeData;
                    console.log("准备渲染播放器");
                    this.renderPlayer(this.options, windows); // if (this.options.controls) {
                  //     this._addControls();
                  // }

                  case 14:
                  case "end":
                    return _context.stop();
                }
              }
            }, _callee, this);
          }));

          function setup(_x) {
            return _setup.apply(this, arguments);
          }

          return setup;
        }()
        /**
         * 销毁播放器实例
         * @public
         */

      }, {
        key: "destroy",
        value: function destroy() {
          this.playerSet.forEach(function (player) {
            player.destroy();
          });
          src_utils.emptyDom(this.root);
        }
        /**
         * 播放
         * @public
         */

      }, {
        key: "play",
        value: function play() {
          var playerSet = this.playerSet;
          playerSet.forEach(function (player) {
            if (player.play) player.play();
          });
        }
        /**
         * 暂停
         * @public
         */

      }, {
        key: "pause",
        value: function pause() {
          var playerSet = this.playerSet;
          playerSet.forEach(function (player) {
            if (player.pause) player.pause();
          });
        }
        /**
         * 停止播放
         * @public
         */

      }, {
        key: "stop",
        value: function stop() {
          var playerSet = this.playerSet;
          playerSet.forEach(function (player) {
            if (player.stop) player.stop();
          });
        }
        /**
         * 设置音量
         * @param value 0-1
         */

      }, {
        key: "setVolume",
        value: function setVolume(value) {
          if (typeof value !== "number") {
            main_error("Param of volume must be a number");
            return;
          }

          if (value > 1 || value < 0) {
            main_error("Param of volume must be between from 0 to 1");
            return;
          }

          this.playerSet.forEach(function (player) {
            player.setVolume(value);
          });
        }
        /**
         * 切换分屏
         * @param splitNum
         * @public
         */
        // setMultiScreen(splitNum) {
        //     this.renderPlayer(this.options, splitNum)
        // }

        /**
         * 进入全屏
         * @public
         */

      }, {
        key: "setFullScreen",
        value: function setFullScreen() {
          var el = this.root;

          if (!this.isFullScreen) {
            var fullScreenMethod = el.requestFullScreen || // w3c
              el.webkitRequestFullScreen || // Chrome
              el.mozRequestFullScreen || // Firefox
              document.body.msRequestFullscreen; // IE11

            if (fullScreenMethod) {
              fullScreenMethod.call(el);
            } else {
              var _document$getElements = document.getElementsByTagName("video"),
                _document$getElements2 = _slicedToArray(_document$getElements, 1),
                video = _document$getElements2[0];

              video.webkitEnterFullScreen();
            }

            if (this.btnFullScreen) {
              src_utils.setAttr(this.btnFullScreen, "class", "player__btn player__btn-large iconfont icontuichuquanping");
            }
          }

          this.isFullScreen = true;
          src_utils.setStyle(this.root, {
            width: "100%",
            height: "100%"
          });
        }
        /**
         * 退出全屏
         * @public
         */

      }, {
        key: "exitFullScreen",
        value: function exitFullScreen() {
          if (this.isFullScreen) {
            var exitFullScreenMethod = document.exitFullScreen || // w3c
              document.webkitCancelFullScreen || // Chrome
              document.mozCancelFullScreen || // Firefox
              document.msExitFullscreen; // IE11

            exitFullScreenMethod.call(document);

            if (this.btnFullScreen) {
              src_utils.setAttr(this.btnFullScreen, "class", "player__btn player__btn-large iconfont iconquanping");
            }
          }

          this.isFullScreen = false; // this._setPlayerSize()
        }
        /**
         * 渲染控制栏
         * @private
         */
        //     _addControls() {
        //         const panelDom = utils.domParser(
        //             `
        //       <div class="player__panel player__panel--wrap">
        //         <div class="player__controls player__controls--shown">
        //           <div></div>
        //           <div>
        // <!--            <span id="playerSound" class="player__btn player__sound&#45;&#45;on"></span>-->
        //             <span class="player__btn player__split" id="playerSplit1">1</span>
        //             <span class="player__btn player__split" id="playerSplit2">2</span>
        //             <span class="player__btn player__split" id="playerSplit4">4</span>
        //             <span class="player__btn player__split" id="playerSplit9">9</span>
        //             ${ platform.os.family === 'iOS'
        //               ? ''
        //               : '<span id="playerFullScreen" class="player__btn player__btn-large iconfont iconquanping"></span>'
        //             }
        //           </div>
        //         </div>
        //       </div>
        //       `
        //         );
        //         this.root.appendChild(panelDom);
        //         this._addControlsEvent(panelDom);
        //     }

        /**
         * 将url统一为数组
         * @param url
         * @returns {[]}
         * @private
         */

      }, {
        key: "_setUrlFormat",
        value: function _setUrlFormat(url) {
          return url.filter(function (item) {
            return item.url && item.kitToken;
          });
        }
        /**
         * 切换静音
         * @private
         */
        // _toggleMuted() {
        //   if (this.isMuted) {
        //     this.setVolume(1);
        //     utils.setAttr(this.btnSound, 'class', 'player__btn player__sound--on');
        //     this.isMuted = false;
        //   }
        //   else {
        //     this.setVolume(0);
        //     utils.setAttr(this.btnSound, 'class', 'player__btn player__sound--off');
        //     this.isMuted = true;
        //   }
        // }

        /**
         * 设置播放器尺寸
         * @private
         */

      }, {
        key: "_setPlayerSize",
        value: function _setPlayerSize() {
          var size = {
            width: "100%",
            height: "100%"
          }; // 默认宽高100%

          var _this$options = this.options,
            _this$options$width = _this$options.width,
            width = _this$options$width === void 0 ? "100%" : _this$options$width,
            _this$options$height = _this$options.height,
            height = _this$options$height === void 0 ? "400" : _this$options$height;
          var paramsType = ["string", "number"];

          if (!paramsType.includes(_typeof(width)) || !paramsType.includes(_typeof(height))) {
            main_error('Type of "width" or "height" must be String or Number');
            return;
          }

          if (typeof width === "number") {
            size.width = "".concat(width, "px");
          } else {
            if (width.indexOf("px") === -1 && width.indexOf("%") === -1) {
              size.width = "".concat(width, "px");
            } else size.width = width;
          }

          if (typeof height === "number") {
            size.height = "".concat(height, "px");
          } else {
            if (height.indexOf("px") === -1 && height.indexOf("%") === -1) {
              size.height = "".concat(height, "px");
            } else size.height = height;
          }

          src_utils.setStyle(this.root, size);
        }
        /**
         * 切换全屏状态
         * @private
         */

      }, {
        key: "_toggleFullScreen",
        value: function _toggleFullScreen() {
          var requestMethod = this.isFullScreen ? this.exitFullScreen : this.setFullScreen;
          requestMethod.call(this);
        }
        /**
         * 添加控制栏事件监听
         * @param panelDom 控制栏dom结构
         * @private
         */
        // _addControlsEvent(panelDom) {
        // this.btnFullScreen = panelDom.querySelector('#ExtendControl');
        //     // this.playerControls = panelDom.querySelector('.player__controls');
        //     // this.btnSound = panelDom.querySelector('#playerSound');
        //     this.playerSplit1 = panelDom.querySelector('#playerSplit1');
        //     this.playerSplit2 = panelDom.querySelector('#playerSplit2');
        //     this.playerSplit4 = panelDom.querySelector('#playerSplit4');
        //     this.playerSplit9 = panelDom.querySelector('#playerSplit9');
        //     this.playerSplit1.addEventListener('click', this.setMultiScreen.bind(this, 1));
        //     this.playerSplit2.addEventListener('click', this.setMultiScreen.bind(this, 2));
        //     this.playerSplit4.addEventListener('click', this.setMultiScreen.bind(this, 4));
        //     this.playerSplit9.addEventListener('click', this.setMultiScreen.bind(this, 9));
        // if (platform.os.family !== 'iOS') {
        //     this.btnFullScreen.addEventListener('click', this._toggleFullScreen.bind(this));
        //     window.addEventListener('keydown', (e) => {
        //         const value = e.keyCode || e.which;
        //         if (this.isFullScreen && value === 27) {
        //             console.info('esc');
        //             this._toggleFullScreen.call(this);
        //         }
        //     });
        //     document.addEventListener('webkitfullscreenchange', (e) => {
        //         if (!e.currentTarget.webkitIsFullScreen) this.exitFullScreen.call(this);
        //     });
        //     // document.addEventListener('mozfullscreenchange', (e) => {
        //     //   if (e.currentTarget.mozIsFullScreen) this.exitFullScreen.call(this);
        //     // });
        //     // document.addEventListener('msfullscreenchange', (e) => {
        //     //   if (!document.msFullscreenElement) this.exitFullScreen.call(this);
        //     // });
        //     document.addEventListener('fullscreenchange', (e) => {
        //         if (!document.fullscreen) this.exitFullScreen.call(this);
        //     });
        // }
        // this.btnSound.addEventListener('click', this._toggleMuted.bind(this));
        // }

        /**
         * 解析url并检查格式
         * @param url imou://open.lechange.com/4A04AC8PAMBEEE5/0/1?streamType=hls&streamId=1'
         * @private
         */

      }, {
        key: "_analysisUrl",
        value: function _analysisUrl(url) {
          var urlParams = {};
          var content = url.replace(/imou:\/\/open.lechange.com\//, "");

          var _content$split = content.split("?"),
            _content$split2 = _slicedToArray(_content$split, 2),
            requiredParams = _content$split2[0],
            extraParams = _content$split2[1];

          var _requiredParams$split = requiredParams.split("/"),
            _requiredParams$split2 = _slicedToArray(_requiredParams$split, 3),
            deviceId = _requiredParams$split2[0],
            channelId = _requiredParams$split2[1],
            type = _requiredParams$split2[2];

          var deviceIdReg = /^[0-9A-Za-z]+$/i;
          var channelIdReg = /^\d{1,3}$/;

          if (!deviceIdReg.test(deviceId) || !channelIdReg.test(channelId) || !["1", "2"].includes(type)) {
            main_error('Params of "deviceId" or "channelId" are invalid');
            return;
          }

          if (extraParams) {
            extraParams.split("&").forEach(function (item) {
              var _item$split = item.split("="),
                _item$split2 = _slicedToArray(_item$split, 2),
                key = _item$split2[0],
                value = _item$split2[1];

              urlParams[key] = value;
            });
          }

          var isWarnUser = this._isWarnUser(urlParams);

          if (isWarnUser) console.warn("当前浏览器版本过低，建议使用最新版谷歌浏览器播放视频或切换为标清视频");
          return {
            deviceId: deviceId,
            channelId: channelId,
            type: type,
            urlParams: urlParams
          };
        }
        /**
         * 当在火狐或者ie浏览器中进行预览，如果用户指定使用rtsp进行播放，则提示用户
         * @param urlParams
         * @returns {boolean}
         * @private
         */

      }, {
        key: "_isWarnUser",
        value: function _isWarnUser(urlParams) {
          var isWarn = false;
          var name = (platform_default()).name;
          var isFirefoxOrEdge = name === "Firefox" || name === "IE" || name === "Microsoft Edge";

          if (isFirefoxOrEdge && urlParams.streamType && urlParams.streamType === "rtsp") {
            isWarn = true;
          }

          return isWarn;
        }
      }, {
        key: "renderPlayer",
        value: function renderPlayer(_ref, renderNum) {
          var _this = this;

          var url = _ref.url,
            autoplay = _ref.autoplay,
            controls = _ref.controls,
            automute = _ref.automute,
            poster = _ref.poster,
            isEdit = _ref.isEdit;
          var size = {
            width: "100%",
            height: "100%"
          }; // if (renderNum === 2) {
          //     size.width = '50%';
          //     size.height = '50%';
          // }
          // if (renderNum === 4) {
          //     size.width = '50%';
          //     size.height = '50%';
          // }
          // if (renderNum === 9) {
          //     size.width = '33.33%';
          //     size.height = '33.33%';
          // }

          src_utils.setAttr(this.container, "class", "player__split--".concat(renderNum)); // 不能用Object.values()，在chrome54无效
          // Argument type HTMLCollection is not assignable to parameter
          // 获取已存在的播放器实例节点

          var hasExistNodes = [];

          for (var i = 0, length = this.container.children.length; i < length; i++) {
            // 多余的播放器窗口销毁处理
            if (i > renderNum - 1) {
              this.container.removeChild(this.container.children[renderNum]);

              if (this.playerSet[i]) {
                this.playerSet[i].destroy();
              }
            } else {
              if (this.container.children[i].dataset.player === "true") {
                hasExistNodes.push(this.container.children[i]);
              }
            }
          }

          for (var _i = 0; _i < hasExistNodes.length; _i++) {
            hasExistNodes[_i].style.width = size.width;
            hasExistNodes[_i].style.height = size.height;

            if (renderNum === 2) {
              src_utils.setStyle(hasExistNodes[_i], {
                transform: "translateY(50%)"
              });
            } else {
              src_utils.setStyle(hasExistNodes[_i], {
                transform: "translateY(0)"
              });
            }
          }

          var hasExistNodesNum = hasExistNodes.length;
          setTimeout(function () {
            for (var _i2 = hasExistNodesNum || 0; _i2 < renderNum; _i2++) {
              var playerContainer = document.createElement("div");
              src_utils.setAttr(playerContainer, "data-player", true);
              src_utils.setStyle(playerContainer, {
                width: size.width,
                height: !_this.isFullScreen ? size.height : parseInt(size.width * 9 / 16),
                boxSizing: "border-box",
                transition: "width 0.5s ease, height 0.5s ease, transform 0.5s ease"
              }); // 两分屏居中展示

              if (renderNum === 2) {
                src_utils.setStyle(playerContainer, {
                  transform: "translateY(50%)"
                });
              } else {
                src_utils.setStyle(playerContainer, {
                  transform: "translateY(0)"
                });
              }

              _this.container.appendChild(playerContainer); // 封面图如果是数组则每个窗口分别对应，如果不是数组则每个窗口公用


              var posterUrl = poster instanceof Array ? poster[_i2] : poster; // is mobile environment

              var isMobile = src_utils.isMobile();
              var params = {
                isMobile: isMobile,
                autoplay: autoplay,
                controls: controls,
                automute: automute,
                root: playerContainer,
                poster: posterUrl,
                isFullScreen: _this.isFullScreen,
                isEdit: _this.isEdit,
                themeData: _this.themeData || [],
                rootSelect: _this.root,
                rootId: _this.rootId
              }; // const player = new Player(Object.assign(params, analysisUrl));

              if (url[_i2]) {
                // 用户自己带进来的参数
                console.log(params);

                var analysisUrl = _this._analysisUrl(url[_i2].url);

                params.url = url[_i2].url;
                params.kitToken = url[_i2].kitToken;
                params.talk = url[_i2].talk; // params.data = analysisUrl;

                var player = new src_player(Object.assign(params, analysisUrl));

                _this.playerSet.push(player);
              }
            }
          }, 500);
        }
      }, {
        key: "startTalk",
        value: function startTalk() {
          var i = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

          if (this.playerSet[i]) {
            this.playerSet[i].startTalk();
          }
        }
      }, {
        key: "stopTalk",
        value: function stopTalk() {
          var i = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

          if (this.playerSet[i]) {
            this.playerSet[i].stopTalk();
          }
        }
      }]);

      return ImouPlayer;
    }();

    if (window) {
      window.ImouPlayer = ImouPlayer;
    }
  })();

  /******/
})()
  ;