PageSourceSearch

https://www.yajiang.gov.cn/template/yajiangxian/js/assist-entry.js

js yajiang.gov.cn collected 2026-10-03 17:54:32 UTC 162,528 bytes, 3,617 lines download raw bytes

1
2(function (global, factory) {
3  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4  typeof define === 'function' && define.amd ? define(factory) :
5  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.AssistEntry = factory());
6}(this, (function () { 'use strict';
7
8  function ownKeys$1(object, enumerableOnly) {
9    var keys = Object.keys(object);
10
11    if (Object.getOwnPropertySymbols) {
12      var symbols = Object.getOwnPropertySymbols(object);
13
14      if (enumerableOnly) {
15        symbols = symbols.filter(function (sym) {
16          return Object.getOwnPropertyDescriptor(object, sym).enumerable;
17        });
18      }
19
20      keys.push.apply(keys, symbols);
21    }
22
23    return keys;
24  }
25
26  function _objectSpread2(target) {
27    for (var i = 1; i < arguments.length; i++) {
28      var source = arguments[i] != null ? arguments[i] : {};
29
30      if (i % 2) {
31        ownKeys$1(Object(source), true).forEach(function (key) {
32          _defineProperty(target, key, source[key]);
33        });
34      } else if (Object.getOwnPropertyDescriptors) {
35        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
36      } else {
37        ownKeys$1(Object(source)).forEach(function (key) {
38          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
39        });
40      }
41    }
42
43    return target;
44  }
45
46  function _classCallCheck(instance, Constructor) {
47    if (!(instance instanceof Constructor)) {
48      throw new TypeError("Cannot call a class as a function");
49    }
50  }
51
52  function _defineProperties(target, props) {
53    for (var i = 0; i < props.length; i++) {
54      var descriptor = props[i];
55      descriptor.enumerable = descriptor.enumerable || false;
56      descriptor.configurable = true;
57      if ("value" in descriptor) descriptor.writable = true;
58      Object.defineProperty(target, descriptor.key, descriptor);
59    }
60  }
61
62  function _createClass(Constructor, protoProps, staticProps) {
63    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
64    if (staticProps) _defineProperties(Constructor, staticProps);
65    return Constructor;
66  }
67
68  function _defineProperty(obj, key, value) {
69    if (key in obj) {
70      Object.defineProperty(obj, key, {
71        value: value,
72        enumerable: true,
73        configurable: true,
74        writable: true
75      });
76    } else {
77      obj[key] = value;
78    }
79
80    return obj;
81  }
82
83  function _inherits(subClass, superClass) {
84    if (typeof superClass !== "function" && superClass !== null) {
85      throw new TypeError("Super expression must either be null or a function");
86    }
87
88    subClass.prototype = Object.create(superClass && superClass.prototype, {
89      constructor: {
90        value: subClass,
91        writable: true,
92        configurable: true
93      }
94    });
95    if (superClass) _setPrototypeOf(subClass, superClass);
96  }
97
98  function _getPrototypeOf(o) {
99    _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
100      return o.__proto__ || Object.getPrototypeOf(o);
101    };
102    return _getPrototypeOf(o);
103  }
104
105  function _setPrototypeOf(o, p) {
106    _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
107      o.__proto__ = p;
108      return o;
109    };
110
111    return _setPrototypeOf(o, p);
112  }
113
114  function _isNativeReflectConstruct() {
115    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
116    if (Reflect.construct.sham) return false;
117    if (typeof Proxy === "function") return true;
118
119    try {
120      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
121      return true;
122    } catch (e) {
123      return false;
124    }
125  }
126
127  function _assertThisInitialized(self) {
128    if (self === void 0) {
129      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
130    }
131
132    return self;
133  }
134
135  function _possibleConstructorReturn(self, call) {
136    if (call && (typeof call === "object" || typeof call === "function")) {
137      return call;
138    }
139
140    return _assertThisInitialized(self);
141  }
142
143  function _createSuper(Derived) {
144    var hasNativeReflectConstruct = _isNativeReflectConstruct();
145
146    return function _createSuperInternal() {
147      var Super = _getPrototypeOf(Derived),
148          result;
149
150      if (hasNativeReflectConstruct) {
151        var NewTarget = _getPrototypeOf(this).constructor;
152
153        result = Reflect.construct(Super, arguments, NewTarget);
154      } else {
155        result = Super.apply(this, arguments);
156      }
157
158      return _possibleConstructorReturn(this, result);
159    };
160  }
161
162  function _unsupportedIterableToArray(o, minLen) {
163    if (!o) return;
164    if (typeof o === "string") return _arrayLikeToArray(o, minLen);
165    var n = Object.prototype.toString.call(o).slice(8, -1);
166    if (n === "Object" && o.constructor) n = o.constructor.name;
167    if (n === "Map" || n === "Set") return Array.from(o);
168    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
169  }
170
171  function _arrayLikeToArray(arr, len) {
172    if (len == null || len > arr.length) len = arr.length;
173
174    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
175
176    return arr2;
177  }
178
179  function _createForOfIteratorHelper(o, allowArrayLike) {
180    var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
181
182    if (!it) {
183      if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
184        if (it) o = it;
185        var i = 0;
186
187        var F = function () {};
188
189        return {
190          s: F,
191          n: function () {
192            if (i >= o.length) return {
193              done: true
194            };
195            return {
196              done: false,
197              value: o[i++]
198            };
199          },
200          e: function (e) {
201            throw e;
202          },
203          f: F
204        };
205      }
206
207      throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
208    }
209
210    var normalCompletion = true,
211        didErr = false,
212        err;
213    return {
214      s: function () {
215        it = it.call(o);
216      },
217      n: function () {
218        var step = it.next();
219        normalCompletion = step.done;
220        return step;
221      },
222      e: function (e) {
223        didErr = true;
224        err = e;
225      },
226      f: function () {
227        try {
228          if (!normalCompletion && it.return != null) it.return();
229        } finally {
230          if (didErr) throw err;
231        }
232      }
233    };
234  }
235
236  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
237
238  function createCommonjsModule(fn, basedir, module) {
239  	return module = {
240  	  path: basedir,
241  	  exports: {},
242  	  require: function (path, base) {
243        return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
244      }
245  	}, fn(module, module.exports), module.exports;
246  }
247
248  function commonjsRequire () {
249  	throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
250  }
251
252  var check = function (it) {
253    return it && it.Math == Math && it;
254  };
255
256  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
257  var global_1 =
258    // eslint-disable-next-line es/no-global-this -- safe
259    check(typeof globalThis == 'object' && globalThis) ||
260    check(typeof window == 'object' && window) ||
261    // eslint-disable-next-line no-restricted-globals -- safe
262    check(typeof self == 'object' && self) ||
263    check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
264    // eslint-disable-next-line no-new-func -- fallback
265    (function () { return this; })() || Function('return this')();
266
267  var fails = function (exec) {
268    try {
269      return !!exec();
vendor: 10,856 bytes, lines 270-595
270    } catch (error) {
271      return true;
272    }
273  };
274
275  // Detect IE8's incomplete defineProperty implementation
276  var descriptors = !fails(function () {
277    // eslint-disable-next-line es/no-object-defineproperty -- required for testing
278    return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
279  });
280
281  var $propertyIsEnumerable = {}.propertyIsEnumerable;
282  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
283  var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
284
285  // Nashorn ~ JDK8 bug
286  var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
287
288  // `Object.prototype.propertyIsEnumerable` method implementation
289  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
290  var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {
291    var descriptor = getOwnPropertyDescriptor$1(this, V);
292    return !!descriptor && descriptor.enumerable;
293  } : $propertyIsEnumerable;
294
295  var objectPropertyIsEnumerable = {
296  	f: f$4
297  };
298
299  var createPropertyDescriptor = function (bitmap, value) {
300    return {
301      enumerable: !(bitmap & 1),
302      configurable: !(bitmap & 2),
303      writable: !(bitmap & 4),
304      value: value
305    };
306  };
307
308  var toString = {}.toString;
309
310  var classofRaw = function (it) {
311    return toString.call(it).slice(8, -1);
312  };
313
314  var split = ''.split;
315
316  // fallback for non-array-like ES3 and non-enumerable old V8 strings
317  var indexedObject = fails(function () {
318    // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
319    // eslint-disable-next-line no-prototype-builtins -- safe
320    return !Object('z').propertyIsEnumerable(0);
321  }) ? function (it) {
322    return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
323  } : Object;
324
325  // `RequireObjectCoercible` abstract operation
326  // https://tc39.es/ecma262/#sec-requireobjectcoercible
327  var requireObjectCoercible = function (it) {
328    if (it == undefined) throw TypeError("Can't call method on " + it);
329    return it;
330  };
331
332  // toObject with fallback for non-array-like ES3 strings
333
334
335
336  var toIndexedObject = function (it) {
337    return indexedObject(requireObjectCoercible(it));
338  };
339
340  var isObject = function (it) {
341    return typeof it === 'object' ? it !== null : typeof it === 'function';
342  };
343
344  // `ToPrimitive` abstract operation
345  // https://tc39.es/ecma262/#sec-toprimitive
346  // instead of the ES6 spec version, we didn't implement @@toPrimitive case
347  // and the second argument - flag - preferred type is a string
348  var toPrimitive = function (input, PREFERRED_STRING) {
349    if (!isObject(input)) return input;
350    var fn, val;
351    if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
352    if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
353    if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
354    throw TypeError("Can't convert object to primitive value");
355  };
356
357  // `ToObject` abstract operation
358  // https://tc39.es/ecma262/#sec-toobject
359  var toObject = function (argument) {
360    return Object(requireObjectCoercible(argument));
361  };
362
363  var hasOwnProperty = {}.hasOwnProperty;
364
365  var has$1 = function hasOwn(it, key) {
366    return hasOwnProperty.call(toObject(it), key);
367  };
368
369  var document$1 = global_1.document;
370  // typeof document.createElement is 'object' in old IE
371  var EXISTS = isObject(document$1) && isObject(document$1.createElement);
372
373  var documentCreateElement = function (it) {
374    return EXISTS ? document$1.createElement(it) : {};
375  };
376
377  // Thank's IE8 for his funny defineProperty
378  var ie8DomDefine = !descriptors && !fails(function () {
379    // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
380    return Object.defineProperty(documentCreateElement('div'), 'a', {
381      get: function () { return 7; }
382    }).a != 7;
383  });
384
385  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
386  var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
387
388  // `Object.getOwnPropertyDescriptor` method
389  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
390  var f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
391    O = toIndexedObject(O);
392    P = toPrimitive(P, true);
393    if (ie8DomDefine) try {
394      return $getOwnPropertyDescriptor(O, P);
395    } catch (error) { /* empty */ }
396    if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
397  };
398
399  var objectGetOwnPropertyDescriptor = {
400  	f: f$3
401  };
402
403  var anObject = function (it) {
404    if (!isObject(it)) {
405      throw TypeError(String(it) + ' is not an object');
406    } return it;
407  };
408
409  // eslint-disable-next-line es/no-object-defineproperty -- safe
410  var $defineProperty = Object.defineProperty;
411
412  // `Object.defineProperty` method
413  // https://tc39.es/ecma262/#sec-object.defineproperty
414  var f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) {
415    anObject(O);
416    P = toPrimitive(P, true);
417    anObject(Attributes);
418    if (ie8DomDefine) try {
419      return $defineProperty(O, P, Attributes);
420    } catch (error) { /* empty */ }
421    if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
422    if ('value' in Attributes) O[P] = Attributes.value;
423    return O;
424  };
425
426  var objectDefineProperty = {
427  	f: f$2
428  };
429
430  var createNonEnumerableProperty = descriptors ? function (object, key, value) {
431    return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
432  } : function (object, key, value) {
433    object[key] = value;
434    return object;
435  };
436
437  var setGlobal = function (key, value) {
438    try {
439      createNonEnumerableProperty(global_1, key, value);
440    } catch (error) {
441      global_1[key] = value;
442    } return value;
443  };
444
445  var SHARED = '__core-js_shared__';
446  var store$1 = global_1[SHARED] || setGlobal(SHARED, {});
447
448  var sharedStore = store$1;
449
450  var functionToString = Function.toString;
451
452  // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
453  if (typeof sharedStore.inspectSource != 'function') {
454    sharedStore.inspectSource = function (it) {
455      return functionToString.call(it);
456    };
457  }
458
459  var inspectSource = sharedStore.inspectSource;
460
461  var WeakMap$1 = global_1.WeakMap;
462
463  var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));
464
465  var shared = createCommonjsModule(function (module) {
466  (module.exports = function (key, value) {
467    return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
468  })('versions', []).push({
469    version: '3.12.1',
470    mode: 'global',
471    copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
472  });
473  });
474
475  var id = 0;
476  var postfix = Math.random();
477
478  var uid = function (key) {
479    return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
480  };
481
482  var keys$1 = shared('keys');
483
484  var sharedKey = function (key) {
485    return keys$1[key] || (keys$1[key] = uid(key));
486  };
487
488  var hiddenKeys$1 = {};
489
490  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
491  var WeakMap = global_1.WeakMap;
492  var set, get, has;
493
494  var enforce = function (it) {
495    return has(it) ? get(it) : set(it, {});
496  };
497
498  var getterFor = function (TYPE) {
499    return function (it) {
500      var state;
501      if (!isObject(it) || (state = get(it)).type !== TYPE) {
502        throw TypeError('Incompatible receiver, ' + TYPE + ' required');
503      } return state;
504    };
505  };
506
507  if (nativeWeakMap || sharedStore.state) {
508    var store = sharedStore.state || (sharedStore.state = new WeakMap());
509    var wmget = store.get;
510    var wmhas = store.has;
511    var wmset = store.set;
512    set = function (it, metadata) {
513      if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
514      metadata.facade = it;
515      wmset.call(store, it, metadata);
516      return metadata;
517    };
518    get = function (it) {
519      return wmget.call(store, it) || {};
520    };
521    has = function (it) {
522      return wmhas.call(store, it);
523    };
524  } else {
525    var STATE = sharedKey('state');
526    hiddenKeys$1[STATE] = true;
527    set = function (it, metadata) {
528      if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
529      metadata.facade = it;
530      createNonEnumerableProperty(it, STATE, metadata);
531      return metadata;
532    };
533    get = function (it) {
534      return has$1(it, STATE) ? it[STATE] : {};
535    };
536    has = function (it) {
537      return has$1(it, STATE);
538    };
539  }
540
541  var internalState = {
542    set: set,
543    get: get,
544    has: has,
545    enforce: enforce,
546    getterFor: getterFor
547  };
548
549  var redefine = createCommonjsModule(function (module) {
550  var getInternalState = internalState.get;
551  var enforceInternalState = internalState.enforce;
552  var TEMPLATE = String(String).split('String');
553
554  (module.exports = function (O, key, value, options) {
555    var unsafe = options ? !!options.unsafe : false;
556    var simple = options ? !!options.enumerable : false;
557    var noTargetGet = options ? !!options.noTargetGet : false;
558    var state;
559    if (typeof value == 'function') {
560      if (typeof key == 'string' && !has$1(value, 'name')) {
561        createNonEnumerableProperty(value, 'name', key);
562      }
563      state = enforceInternalState(value);
564      if (!state.source) {
565        state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
566      }
567    }
568    if (O === global_1) {
569      if (simple) O[key] = value;
570      else setGlobal(key, value);
571      return;
572    } else if (!unsafe) {
573      delete O[key];
574    } else if (!noTargetGet && O[key]) {
575      simple = true;
576    }
577    if (simple) O[key] = value;
578    else createNonEnumerableProperty(O, key, value);
579  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
580  })(Function.prototype, 'toString', function toString() {
581    return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
582  });
583  });
584
585  var path = global_1;
586
587  var aFunction$1 = function (variable) {
588    return typeof variable == 'function' ? variable : undefined;
589  };
590
591  var getBuiltIn = function (namespace, method) {
592    return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global_1[namespace])
593      : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
594  };
595
vendor: 5,249 bytes, lines 596-750
596  var ceil = Math.ceil;
597  var floor$2 = Math.floor;
598
599  // `ToInteger` abstract operation
600  // https://tc39.es/ecma262/#sec-tointeger
601  var toInteger = function (argument) {
602    return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$2 : ceil)(argument);
603  };
604
605  var min$4 = Math.min;
606
607  // `ToLength` abstract operation
608  // https://tc39.es/ecma262/#sec-tolength
609  var toLength = function (argument) {
610    return argument > 0 ? min$4(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
611  };
612
613  var max$2 = Math.max;
614  var min$3 = Math.min;
615
616  // Helper for a popular repeating case of the spec:
617  // Let integer be ? ToInteger(index).
618  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
619  var toAbsoluteIndex = function (index, length) {
620    var integer = toInteger(index);
621    return integer < 0 ? max$2(integer + length, 0) : min$3(integer, length);
622  };
623
624  // `Array.prototype.{ indexOf, includes }` methods implementation
625  var createMethod$2 = function (IS_INCLUDES) {
626    return function ($this, el, fromIndex) {
627      var O = toIndexedObject($this);
628      var length = toLength(O.length);
629      var index = toAbsoluteIndex(fromIndex, length);
630      var value;
631      // Array#includes uses SameValueZero equality algorithm
632      // eslint-disable-next-line no-self-compare -- NaN check
633      if (IS_INCLUDES && el != el) while (length > index) {
634        value = O[index++];
635        // eslint-disable-next-line no-self-compare -- NaN check
636        if (value != value) return true;
637      // Array#indexOf ignores holes, Array#includes - not
638      } else for (;length > index; index++) {
639        if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
640      } return !IS_INCLUDES && -1;
641    };
642  };
643
644  var arrayIncludes = {
645    // `Array.prototype.includes` method
646    // https://tc39.es/ecma262/#sec-array.prototype.includes
647    includes: createMethod$2(true),
648    // `Array.prototype.indexOf` method
649    // https://tc39.es/ecma262/#sec-array.prototype.indexof
650    indexOf: createMethod$2(false)
651  };
652
653  var indexOf = arrayIncludes.indexOf;
654
655
656  var objectKeysInternal = function (object, names) {
657    var O = toIndexedObject(object);
658    var i = 0;
659    var result = [];
660    var key;
661    for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
662    // Don't enum bug & hidden keys
663    while (names.length > i) if (has$1(O, key = names[i++])) {
664      ~indexOf(result, key) || result.push(key);
665    }
666    return result;
667  };
668
669  // IE8- don't enum bug keys
670  var enumBugKeys = [
671    'constructor',
672    'hasOwnProperty',
673    'isPrototypeOf',
674    'propertyIsEnumerable',
675    'toLocaleString',
676    'toString',
677    'valueOf'
678  ];
679
680  var hiddenKeys = enumBugKeys.concat('length', 'prototype');
681
682  // `Object.getOwnPropertyNames` method
683  // https://tc39.es/ecma262/#sec-object.getownpropertynames
684  // eslint-disable-next-line es/no-object-getownpropertynames -- safe
685  var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
686    return objectKeysInternal(O, hiddenKeys);
687  };
688
689  var objectGetOwnPropertyNames = {
690  	f: f$1
691  };
692
693  // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
694  var f = Object.getOwnPropertySymbols;
695
696  var objectGetOwnPropertySymbols = {
697  	f: f
698  };
699
700  // all object keys, includes non-enumerable and symbols
701  var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
702    var keys = objectGetOwnPropertyNames.f(anObject(it));
703    var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
704    return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
705  };
706
707  var copyConstructorProperties = function (target, source) {
708    var keys = ownKeys(source);
709    var defineProperty = objectDefineProperty.f;
710    var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
711    for (var i = 0; i < keys.length; i++) {
712      var key = keys[i];
713      if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
714    }
715  };
716
717  var replacement = /#|\.prototype\./;
718
719  var isForced = function (feature, detection) {
720    var value = data[normalize(feature)];
721    return value == POLYFILL ? true
722      : value == NATIVE ? false
723      : typeof detection == 'function' ? fails(detection)
724      : !!detection;
725  };
726
727  var normalize = isForced.normalize = function (string) {
728    return String(string).replace(replacement, '.').toLowerCase();
729  };
730
731  var data = isForced.data = {};
732  var NATIVE = isForced.NATIVE = 'N';
733  var POLYFILL = isForced.POLYFILL = 'P';
734
735  var isForced_1 = isForced;
736
737  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
738
739
740
741
742
743
744  /*
745    options.target      - name of the target object
746    options.global      - target is the global object
747    options.stat        - export as static methods of target
748    options.proto       - export as prototype methods of target
749    options.real        - real prototype method for the `pure` version
750    options.forced      - export even if the native feature is available
751    options.bind        - bind methods to the target, required for the `pure` version
752    options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
753    options.unsafe      - use the simple assignment of property instead of delete + defineProperty
754    options.sham        - add a flag to not completely full polyfills
755    options.enumerable  - export as enumerable property
756    options.noTargetGet - prevent calling a getter on target
757  */
758  var _export = function (options, source) {
759    var TARGET = options.target;
760    var GLOBAL = options.global;
761    var STATIC = options.stat;
762    var FORCED, target, key, targetProperty, sourceProperty, descriptor;
763    if (GLOBAL) {
764      target = global_1;
765    } else if (STATIC) {
766      target = global_1[TARGET] || setGlobal(TARGET, {});
767    } else {
768      target = (global_1[TARGET] || {}).prototype;
769    }
770    if (target) for (key in source) {
771      sourceProperty = source[key];
772      if (options.noTargetGet) {
773        descriptor = getOwnPropertyDescriptor(target, key);
774        targetProperty = descriptor && descriptor.value;
775      } else targetProperty = target[key];
776      FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
777      // contained in target
778      if (!FORCED && targetProperty !== undefined) {
779        if (typeof sourceProperty === typeof targetProperty) continue;
780        copyConstructorProperties(sourceProperty, targetProperty);
781      }
782      // add a flag to not completely full polyfills
783      if (options.sham || (targetProperty && targetProperty.sham)) {
784        createNonEnumerableProperty(sourceProperty, 'sham', true);
785      }
786      // extend global
787      redefine(target, key, sourceProperty, options);
788    }
789  };
790
791  var aFunction = function (it) {
792    if (typeof it != 'function') {
793      throw TypeError(String(it) + ' is not a function');
794    } return it;
795  };
796
797  // optional / simple context binding
798  var functionBindContext = function (fn, that, length) {
799    aFunction(fn);
800    if (that === undefined) return fn;
801    switch (length) {
802      case 0: return function () {
803        return fn.call(that);
804      };
805      case 1: return function (a) {
806        return fn.call(that, a);
807      };
808      case 2: return function (a, b) {
809        return fn.call(that, a, b);
810      };
811      case 3: return function (a, b, c) {
812        return fn.call(that, a, b, c);
813      };
814    }
815    return function (/* ...args */) {
816      return fn.apply(that, arguments);
817    };
818  };
819
820  // `IsArray` abstract operation
821  // https://tc39.es/ecma262/#sec-isarray
822  // eslint-disable-next-line es/no-array-isarray -- safe
823  var isArray = Array.isArray || function isArray(arg) {
824    return classofRaw(arg) == 'Array';
825  };
826
827  var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
828
829  var process = global_1.process;
830  var versions = process && process.versions;
831  var v8 = versions && versions.v8;
832  var match, version;
833
834  if (v8) {
835    match = v8.split('.');
836    version = match[0] < 4 ? 1 : match[0] + match[1];
837  } else if (engineUserAgent) {
838    match = engineUserAgent.match(/Edge\/(\d+)/);
839    if (!match || match[1] >= 74) {
840      match = engineUserAgent.match(/Chrome\/(\d+)/);
841      if (match) version = match[1];
842    }
843  }
844
845  var engineV8Version = version && +version;
846
847  /* eslint-disable es/no-symbol -- required for testing */
848
849
850
851  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
852  var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
853    return !String(Symbol()) ||
854      // Chrome 38 Symbol has incorrect toString conversion
855      // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
856      !Symbol.sham && engineV8Version && engineV8Version < 41;
857  });
858
859  /* eslint-disable es/no-symbol -- required for testing */
860
861
862  var useSymbolAsUid = nativeSymbol
863    && !Symbol.sham
864    && typeof Symbol.iterator == 'symbol';
865
866  var WellKnownSymbolsStore = shared('wks');
867  var Symbol$1 = global_1.Symbol;
868  var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
869
870  var wellKnownSymbol = function (name) {
871    if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
872      if (nativeSymbol && has$1(Symbol$1, name)) {
873        WellKnownSymbolsStore[name] = Symbol$1[name];
874      } else {
875        WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
876      }
877    } return WellKnownSymbolsStore[name];
878  };
879
880  var SPECIES$4 = wellKnownSymbol('species');
881
882  // `ArraySpeciesCreate` abstract operation
883  // https://tc39.es/ecma262/#sec-arrayspeciescreate
884  var arraySpeciesCreate = function (originalArray, length) {
885    var C;
886    if (isArray(originalArray)) {
887      C = originalArray.constructor;
888      // cross-realm fallback
889      if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
890      else if (isObject(C)) {
891        C = C[SPECIES$4];
892        if (C === null) C = undefined;
893      }
894    } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
895  };
896
897  var push = [].push;
898
899  // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
900  var createMethod$1 = function (TYPE) {
901    var IS_MAP = TYPE == 1;
902    var IS_FILTER = TYPE == 2;
903    var IS_SOME = TYPE == 3;
904    var IS_EVERY = TYPE == 4;
905    var IS_FIND_INDEX = TYPE == 6;
906    var IS_FILTER_OUT = TYPE == 7;
907    var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
908    return function ($this, callbackfn, that, specificCreate) {
909      var O = toObject($this);
910      var self = indexedObject(O);
911      var boundFunction = functionBindContext(callbackfn, that, 3);
912      var length = toLength(self.length);
913      var index = 0;
914      var create = specificCreate || arraySpeciesCreate;
915      var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
916      var value, result;
917      for (;length > index; index++) if (NO_HOLES || index in self) {
918        value = self[index];
919        result = boundFunction(value, index, O);
920        if (TYPE) {
921          if (IS_MAP) target[index] = result; // map
922          else if (result) switch (TYPE) {
923            case 3: return true;              // some
924            case 5: return value;             // find
925            case 6: return index;             // findIndex
926            case 2: push.call(target, value); // filter
927          } else switch (TYPE) {
928            case 4: return false;             // every
929            case 7: push.call(target, value); // filterOut
930          }
931        }
932      }
933      return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
934    };
935  };
936
937  var arrayIteration = {
938    // `Array.prototype.forEach` method
939    // https://tc39.es/ecma262/#sec-array.prototype.foreach
940    forEach: createMethod$1(0),
941    // `Array.prototype.map` method
942    // https://tc39.es/ecma262/#sec-array.prototype.map
943    map: createMethod$1(1),
944    // `Array.prototype.filter` method
945    // https://tc39.es/ecma262/#sec-array.prototype.filter
946    filter: createMethod$1(2),
947    // `Array.prototype.some` method
948    // https://tc39.es/ecma262/#sec-array.prototype.some
949    some: createMethod$1(3),
950    // `Array.prototype.every` method
951    // https://tc39.es/ecma262/#sec-array.prototype.every
952    every: createMethod$1(4),
953    // `Array.prototype.find` method
954    // https://tc39.es/ecma262/#sec-array.prototype.find
955    find: createMethod$1(5),
956    // `Array.prototype.findIndex` method
957    // https://tc39.es/ecma262/#sec-array.prototype.findIndex
958    findIndex: createMethod$1(6),
959    // `Array.prototype.filterOut` method
960    // https://github.com/tc39/proposal-array-filtering
961    filterOut: createMethod$1(7)
962  };
963
964  var SPECIES$3 = wellKnownSymbol('species');
965
966  var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
967    // We can't use this feature detection in V8 since it causes
968    // deoptimization and serious performance degradation
969    // https://github.com/zloirock/core-js/issues/677
970    return engineV8Version >= 51 || !fails(function () {
971      var array = [];
972      var constructor = array.constructor = {};
973      constructor[SPECIES$3] = function () {
974        return { foo: 1 };
975      };
976      return array[METHOD_NAME](Boolean).foo !== 1;
977    });
978  };
979
980  var $map = arrayIteration.map;
981
982
983  var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map');
984
985  // `Array.prototype.map` method
986  // https://tc39.es/ecma262/#sec-array.prototype.map
987  // with adding support of @@species
988  _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {
989    map: function map(callbackfn /* , thisArg */) {
990      return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
991    }
992  });
993
994  /*
995  ie10 不支持 location.origin,以下是hack方法
996  */
997  if (!window.location.origin) {
998    window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
999  }
1000
1001  var createProperty = function (object, key, value) {
1002    var propertyKey = toPrimitive(key);
1003    if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
1004    else object[propertyKey] = value;
1005  };
1006
1007  var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
1008  var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;
1009  var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
1010
1011  // We can't use this feature detection in V8 since it causes
1012  // deoptimization and serious performance degradation
1013  // https://github.com/zloirock/core-js/issues/679
1014  var IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {
1015    var array = [];
1016    array[IS_CONCAT_SPREADABLE] = false;
1017    return array.concat()[0] !== array;
1018  });
1019
1020  var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
1021
1022  var isConcatSpreadable = function (O) {
1023    if (!isObject(O)) return false;
1024    var spreadable = O[IS_CONCAT_SPREADABLE];
1025    return spreadable !== undefined ? !!spreadable : isArray(O);
1026  };
1027
1028  var FORCED$2 = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
1029
1030  // `Array.prototype.concat` method
1031  // https://tc39.es/ecma262/#sec-array.prototype.concat
1032  // with adding support of @@isConcatSpreadable and @@species
1033  _export({ target: 'Array', proto: true, forced: FORCED$2 }, {
1034    // eslint-disable-next-line no-unused-vars -- required for `.length`
1035    concat: function concat(arg) {
1036      var O = toObject(this);
1037      var A = arraySpeciesCreate(O, 0);
1038      var n = 0;
1039      var i, k, length, len, E;
1040      for (i = -1, length = arguments.length; i < length; i++) {
1041        E = i === -1 ? O : arguments[i];
1042        if (isConcatSpreadable(E)) {
1043          len = toLength(E.length);
1044          if (n + len > MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1045          for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
1046        } else {
1047          if (n >= MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1048          createProperty(A, n++, E);
1049        }
1050      }
1051      A.length = n;
1052      return A;
1053    }
1054  });
1055
1056  // `Object.keys` method
1057  // https://tc39.es/ecma262/#sec-object.keys
1058  // eslint-disable-next-line es/no-object-keys -- safe
1059  var objectKeys = Object.keys || function keys(O) {
1060    return objectKeysInternal(O, enumBugKeys);
1061  };
1062
1063  // `Object.defineProperties` method
1064  // https://tc39.es/ecma262/#sec-object.defineproperties
1065  // eslint-disable-next-line es/no-object-defineproperties -- safe
1066  var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
1067    anObject(O);
1068    var keys = objectKeys(Properties);
1069    var length = keys.length;
1070    var index = 0;
1071    var key;
1072    while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
1073    return O;
1074  };
1075
1076  var html = getBuiltIn('document', 'documentElement');
1077
1078  var GT = '>';
1079  var LT = '<';
1080  var PROTOTYPE = 'prototype';
1081  var SCRIPT = 'script';
1082  var IE_PROTO = sharedKey('IE_PROTO');
1083
1084  var EmptyConstructor = function () { /* empty */ };
1085
1086  var scriptTag = function (content) {
1087    return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
1088  };
1089
1090  // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
1091  var NullProtoObjectViaActiveX = function (activeXDocument) {
1092    activeXDocument.write(scriptTag(''));
1093    activeXDocument.close();
1094    var temp = activeXDocument.parentWindow.Object;
1095    activeXDocument = null; // avoid memory leak
1096    return temp;
1097  };
1098
1099  // Create object with fake `null` prototype: use iframe Object with cleared prototype
1100  var NullProtoObjectViaIFrame = function () {
1101    // Thrash, waste and sodomy: IE GC bug
1102    var iframe = documentCreateElement('iframe');
1103    var JS = 'java' + SCRIPT + ':';
1104    var iframeDocument;
1105    iframe.style.display = 'none';
1106    html.appendChild(iframe);
1107    // https://github.com/zloirock/core-js/issues/475
1108    iframe.src = String(JS);
1109    iframeDocument = iframe.contentWindow.document;
1110    iframeDocument.open();
1111    iframeDocument.write(scriptTag('document.F=Object'));
1112    iframeDocument.close();
1113    return iframeDocument.F;
1114  };
1115
1116  // Check for document.domain and active x support
1117  // No need to use active x approach when document.domain is not set
1118  // see https://github.com/es-shims/es5-shim/issues/150
1119  // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
1120  // avoid IE GC bug
1121  var activeXDocument;
1122  var NullProtoObject = function () {
1123    try {
1124      /* global ActiveXObject -- old IE */
1125      activeXDocument = document.domain && new ActiveXObject('htmlfile');
1126    } catch (error) { /* ignore */ }
1127    NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
1128    var length = enumBugKeys.length;
1129    while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1130    return NullProtoObject();
1131  };
1132
1133  hiddenKeys$1[IE_PROTO] = true;
1134
1135  // `Object.create` method
1136  // https://tc39.es/ecma262/#sec-object.create
1137  var objectCreate = Object.create || function create(O, Properties) {
1138    var result;
1139    if (O !== null) {
1140      EmptyConstructor[PROTOTYPE] = anObject(O);
1141      result = new EmptyConstructor();
1142      EmptyConstructor[PROTOTYPE] = null;
1143      // add "__proto__" for Object.getPrototypeOf polyfill
1144      result[IE_PROTO] = O;
1145    } else result = NullProtoObject();
1146    return Properties === undefined ? result : objectDefineProperties(result, Properties);
1147  };
1148
1149  var UNSCOPABLES = wellKnownSymbol('unscopables');
1150  var ArrayPrototype = Array.prototype;
1151
1152  // Array.prototype[@@unscopables]
1153  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1154  if (ArrayPrototype[UNSCOPABLES] == undefined) {
1155    objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
1156      configurable: true,
1157      value: objectCreate(null)
1158    });
1159  }
1160
1161  // add a key to Array.prototype[@@unscopables]
1162  var addToUnscopables = function (key) {
1163    ArrayPrototype[UNSCOPABLES][key] = true;
1164  };
1165
1166  var $includes = arrayIncludes.includes;
1167
1168
1169  // `Array.prototype.includes` method
1170  // https://tc39.es/ecma262/#sec-array.prototype.includes
1171  _export({ target: 'Array', proto: true }, {
1172    includes: function includes(el /* , fromIndex = 0 */) {
1173      return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
1174    }
1175  });
1176
1177  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1178  addToUnscopables('includes');
1179
1180  var MATCH$2 = wellKnownSymbol('match');
1181
1182  // `IsRegExp` abstract operation
1183  // https://tc39.es/ecma262/#sec-isregexp
1184  var isRegexp = function (it) {
1185    var isRegExp;
1186    return isObject(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
1187  };
1188
1189  var notARegexp = function (it) {
1190    if (isRegexp(it)) {
1191      throw TypeError("The method doesn't accept regular expressions");
1192    } return it;
1193  };
1194
1195  var MATCH$1 = wellKnownSymbol('match');
1196
1197  var correctIsRegexpLogic = function (METHOD_NAME) {
1198    var regexp = /./;
1199    try {
1200      '/./'[METHOD_NAME](regexp);
1201    } catch (error1) {
1202      try {
1203        regexp[MATCH$1] = false;
1204        return '/./'[METHOD_NAME](regexp);
1205      } catch (error2) { /* empty */ }
1206    } return false;
1207  };
1208
1209  // `String.prototype.includes` method
1210  // https://tc39.es/ecma262/#sec-string.prototype.includes
1211  _export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
1212    includes: function includes(searchString /* , position = 0 */) {
1213      return !!~String(requireObjectCoercible(this))
1214        .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
1215    }
1216  });
1217
1218  var arrayMethodIsStrict = function (METHOD_NAME, argument) {
1219    var method = [][METHOD_NAME];
1220    return !!method && fails(function () {
1221      // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
1222      method.call(null, argument || function () { throw 1; }, 1);
1223    });
1224  };
1225
1226  var nativeJoin = [].join;
1227
1228  var ES3_STRINGS = indexedObject != Object;
1229  var STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');
1230
1231  // `Array.prototype.join` method
1232  // https://tc39.es/ecma262/#sec-array.prototype.join
1233  _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {
1234    join: function join(separator) {
1235      return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
1236    }
1237  });
1238
1239  // `RegExp.prototype.flags` getter implementation
1240  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
1241  var regexpFlags = function () {
1242    var that = anObject(this);
1243    var result = '';
1244    if (that.global) result += 'g';
1245    if (that.ignoreCase) result += 'i';
1246    if (that.multiline) result += 'm';
1247    if (that.dotAll) result += 's';
1248    if (that.unicode) result += 'u';
1249    if (that.sticky) result += 'y';
1250    return result;
1251  };
1252
1253  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
1254  // so we use an intermediate function.
1255  function RE(s, f) {
1256    return RegExp(s, f);
1257  }
1258
1259  var UNSUPPORTED_Y$3 = fails(function () {
1260    // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1261    var re = RE('a', 'y');
1262    re.lastIndex = 2;
1263    return re.exec('abcd') != null;
1264  });
1265
1266  var BROKEN_CARET = fails(function () {
1267    // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1268    var re = RE('^r', 'gy');
1269    re.lastIndex = 2;
1270    return re.exec('str') != null;
1271  });
1272
1273  var regexpStickyHelpers = {
1274  	UNSUPPORTED_Y: UNSUPPORTED_Y$3,
1275  	BROKEN_CARET: BROKEN_CARET
1276  };
1277
1278  /* eslint-disable regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
1279  /* eslint-disable regexp/no-useless-quantifier -- testing */
1280
1281
1282
1283
1284  var nativeExec = RegExp.prototype.exec;
1285  var nativeReplace = shared('native-string-replace', String.prototype.replace);
1286
1287  var patchedExec = nativeExec;
1288
1289  var UPDATES_LAST_INDEX_WRONG = (function () {
1290    var re1 = /a/;
1291    var re2 = /b*/g;
1292    nativeExec.call(re1, 'a');
1293    nativeExec.call(re2, 'a');
1294    return re1.lastIndex !== 0 || re2.lastIndex !== 0;
1295  })();
1296
1297  var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
1298
1299  // nonparticipating capturing group, copied from es5-shim's String#split patch.
1300  var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
1301
1302  var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$2;
1303
1304  if (PATCH) {
1305    patchedExec = function exec(str) {
1306      var re = this;
1307      var lastIndex, reCopy, match, i;
1308      var sticky = UNSUPPORTED_Y$2 && re.sticky;
1309      var flags = regexpFlags.call(re);
1310      var source = re.source;
1311      var charsAdded = 0;
1312      var strCopy = str;
1313
1314      if (sticky) {
1315        flags = flags.replace('y', '');
1316        if (flags.indexOf('g') === -1) {
1317          flags += 'g';
1318        }
1319
1320        strCopy = String(str).slice(re.lastIndex);
1321        // Support anchored sticky behavior.
1322        if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
1323          source = '(?: ' + source + ')';
1324          strCopy = ' ' + strCopy;
1325          charsAdded++;
1326        }
1327        // ^(? + rx + ) is needed, in combination with some str slicing, to
1328        // simulate the 'y' flag.
1329        reCopy = new RegExp('^(?:' + source + ')', flags);
1330      }
1331
1332      if (NPCG_INCLUDED) {
1333        reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
1334      }
1335      if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1336
1337      match = nativeExec.call(sticky ? reCopy : re, strCopy);
1338
1339      if (sticky) {
1340        if (match) {
1341          match.input = match.input.slice(charsAdded);
1342          match[0] = match[0].slice(charsAdded);
1343          match.index = re.lastIndex;
1344          re.lastIndex += match[0].length;
1345        } else re.lastIndex = 0;
1346      } else if (UPDATES_LAST_INDEX_WRONG && match) {
1347        re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
1348      }
1349      if (NPCG_INCLUDED && match && match.length > 1) {
1350        // Fix browsers whose `exec` methods don't consistently return `undefined`
1351        // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
1352        nativeReplace.call(match[0], reCopy, function () {
1353          for (i = 1; i < arguments.length - 2; i++) {
1354            if (arguments[i] === undefined) match[i] = undefined;
1355          }
1356        });
1357      }
1358
1359      return match;
1360    };
1361  }
1362
1363  var regexpExec = patchedExec;
1364
1365  // `RegExp.prototype.exec` method
1366  // https://tc39.es/ecma262/#sec-regexp.prototype.exec
1367  _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
1368    exec: regexpExec
1369  });
1370
1371  // TODO: Remove from `core-js@4` since it's moved to entry points
1372
1373
1374
1375
1376
1377
1378
1379  var SPECIES$2 = wellKnownSymbol('species');
1380  var RegExpPrototype$2 = RegExp.prototype;
1381
1382  var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1383    // #replace needs built-in support for named groups.
1384    // #match works fine because it just return the exec results, even if it has
1385    // a "grops" property.
1386    var re = /./;
1387    re.exec = function () {
1388      var result = [];
1389      result.groups = { a: '7' };
1390      return result;
1391    };
1392    return ''.replace(re, '$<a>') !== '7';
1393  });
1394
1395  // IE <= 11 replaces $0 with the whole match, as if it was $&
1396  // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1397  var REPLACE_KEEPS_$0 = (function () {
1398    // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
1399    return 'a'.replace(/./, '$0') === '$0';
1400  })();
1401
1402  var REPLACE = wellKnownSymbol('replace');
1403  // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
1404  var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
1405    if (/./[REPLACE]) {
1406      return /./[REPLACE]('a', '$0') === '';
1407    }
1408    return false;
1409  })();
1410
1411  // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
1412  // Weex JS has frozen built-in prototypes, so use try / catch wrapper
1413  var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
1414    // eslint-disable-next-line regexp/no-empty-group -- required for testing
1415    var re = /(?:)/;
1416    var originalExec = re.exec;
1417    re.exec = function () { return originalExec.apply(this, arguments); };
1418    var result = 'ab'.split(re);
1419    return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1420  });
1421
1422  var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
1423    var SYMBOL = wellKnownSymbol(KEY);
1424
1425    var DELEGATES_TO_SYMBOL = !fails(function () {
1426      // String methods call symbol-named RegEp methods
1427      var O = {};
1428      O[SYMBOL] = function () { return 7; };
1429      return ''[KEY](O) != 7;
1430    });
1431
1432    var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
1433      // Symbol-named RegExp methods call .exec
1434      var execCalled = false;
1435      var re = /a/;
1436
1437      if (KEY === 'split') {
1438        // We can't use real regex here since it causes deoptimization
1439        // and serious performance degradation in V8
1440        // https://github.com/zloirock/core-js/issues/306
1441        re = {};
1442        // RegExp[@@split] doesn't call the regex's exec method, but first creates
1443        // a new one. We need to return the patched regex when creating the new one.
1444        re.constructor = {};
1445        re.constructor[SPECIES$2] = function () { return re; };
1446        re.flags = '';
1447        re[SYMBOL] = /./[SYMBOL];
1448      }
1449
1450      re.exec = function () { execCalled = true; return null; };
1451
1452      re[SYMBOL]('');
1453      return !execCalled;
1454    });
1455
1456    if (
1457      !DELEGATES_TO_SYMBOL ||
1458      !DELEGATES_TO_EXEC ||
1459      (KEY === 'replace' && !(
1460        REPLACE_SUPPORTS_NAMED_GROUPS &&
1461        REPLACE_KEEPS_$0 &&
1462        !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1463      )) ||
1464      (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
1465    ) {
1466      var nativeRegExpMethod = /./[SYMBOL];
1467      var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1468        var $exec = regexp.exec;
1469        if ($exec === regexpExec || $exec === RegExpPrototype$2.exec) {
1470          if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1471            // The native String method already delegates to @@method (this
1472            // polyfilled function), leasing to infinite recursion.
1473            // We avoid it by directly calling the native @@method method.
1474            return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1475          }
1476          return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1477        }
1478        return { done: false };
1479      }, {
1480        REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
1481        REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1482      });
1483      var stringMethod = methods[0];
1484      var regexMethod = methods[1];
1485
1486      redefine(String.prototype, KEY, stringMethod);
1487      redefine(RegExpPrototype$2, SYMBOL, length == 2
1488        // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1489        // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1490        ? function (string, arg) { return regexMethod.call(string, this, arg); }
1491        // 21.2.5.6 RegExp.prototype[@@match](string)
1492        // 21.2.5.9 RegExp.prototype[@@search](string)
1493        : function (string) { return regexMethod.call(string, this); }
1494      );
1495    }
1496
1497    if (sham) createNonEnumerableProperty(RegExpPrototype$2[SYMBOL], 'sham', true);
1498  };
1499
1500  var SPECIES$1 = wellKnownSymbol('species');
1501
1502  // `SpeciesConstructor` abstract operation
1503  // https://tc39.es/ecma262/#sec-speciesconstructor
1504  var speciesConstructor = function (O, defaultConstructor) {
1505    var C = anObject(O).constructor;
1506    var S;
1507    return C === undefined || (S = anObject(C)[SPECIES$1]) == undefined ? defaultConstructor : aFunction(S);
1508  };
1509
1510  // `String.prototype.{ codePointAt, at }` methods implementation
1511  var createMethod = function (CONVERT_TO_STRING) {
1512    return function ($this, pos) {
1513      var S = String(requireObjectCoercible($this));
1514      var position = toInteger(pos);
1515      var size = S.length;
1516      var first, second;
1517      if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
vendor: 4,828 bytes, lines 1518-1631
1518      first = S.charCodeAt(position);
1519      return first < 0xD800 || first > 0xDBFF || position + 1 === size
1520        || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1521          ? CONVERT_TO_STRING ? S.charAt(position) : first
1522          : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1523    };
1524  };
1525
1526  var stringMultibyte = {
1527    // `String.prototype.codePointAt` method
1528    // https://tc39.es/ecma262/#sec-string.prototype.codepointat
1529    codeAt: createMethod(false),
1530    // `String.prototype.at` method
1531    // https://github.com/mathiasbynens/String.prototype.at
1532    charAt: createMethod(true)
1533  };
1534
1535  var charAt = stringMultibyte.charAt;
1536
1537  // `AdvanceStringIndex` abstract operation
1538  // https://tc39.es/ecma262/#sec-advancestringindex
1539  var advanceStringIndex = function (S, index, unicode) {
1540    return index + (unicode ? charAt(S, index).length : 1);
1541  };
1542
1543  // `RegExpExec` abstract operation
1544  // https://tc39.es/ecma262/#sec-regexpexec
1545  var regexpExecAbstract = function (R, S) {
1546    var exec = R.exec;
1547    if (typeof exec === 'function') {
1548      var result = exec.call(R, S);
1549      if (typeof result !== 'object') {
1550        throw TypeError('RegExp exec method returned something other than an Object or null');
1551      }
1552      return result;
1553    }
1554
1555    if (classofRaw(R) !== 'RegExp') {
1556      throw TypeError('RegExp#exec called on incompatible receiver');
1557    }
1558
1559    return regexpExec.call(R, S);
1560  };
1561
1562  var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y;
1563  var arrayPush = [].push;
1564  var min$2 = Math.min;
1565  var MAX_UINT32 = 0xFFFFFFFF;
1566
1567  // @@split logic
1568  fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
1569    var internalSplit;
1570    if (
1571      'abbc'.split(/(b)*/)[1] == 'c' ||
1572      // eslint-disable-next-line regexp/no-empty-group -- required for testing
1573      'test'.split(/(?:)/, -1).length != 4 ||
1574      'ab'.split(/(?:ab)*/).length != 2 ||
1575      '.'.split(/(.?)(.?)/).length != 4 ||
1576      // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
1577      '.'.split(/()()/).length > 1 ||
1578      ''.split(/.?/).length
1579    ) {
1580      // based on es5-shim implementation, need to rework it
1581      internalSplit = function (separator, limit) {
1582        var string = String(requireObjectCoercible(this));
1583        var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1584        if (lim === 0) return [];
1585        if (separator === undefined) return [string];
1586        // If `separator` is not a regex, use native split
1587        if (!isRegexp(separator)) {
1588          return nativeSplit.call(string, separator, lim);
1589        }
1590        var output = [];
1591        var flags = (separator.ignoreCase ? 'i' : '') +
1592                    (separator.multiline ? 'm' : '') +
1593                    (separator.unicode ? 'u' : '') +
1594                    (separator.sticky ? 'y' : '');
1595        var lastLastIndex = 0;
1596        // Make `global` and avoid `lastIndex` issues by working with a copy
1597        var separatorCopy = new RegExp(separator.source, flags + 'g');
1598        var match, lastIndex, lastLength;
1599        while (match = regexpExec.call(separatorCopy, string)) {
1600          lastIndex = separatorCopy.lastIndex;
1601          if (lastIndex > lastLastIndex) {
1602            output.push(string.slice(lastLastIndex, match.index));
1603            if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
1604            lastLength = match[0].length;
1605            lastLastIndex = lastIndex;
1606            if (output.length >= lim) break;
1607          }
1608          if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
1609        }
1610        if (lastLastIndex === string.length) {
1611          if (lastLength || !separatorCopy.test('')) output.push('');
1612        } else output.push(string.slice(lastLastIndex));
1613        return output.length > lim ? output.slice(0, lim) : output;
1614      };
1615    // Chakra, V8
1616    } else if ('0'.split(undefined, 0).length) {
1617      internalSplit = function (separator, limit) {
1618        return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
1619      };
1620    } else internalSplit = nativeSplit;
1621
1622    return [
1623      // `String.prototype.split` method
1624      // https://tc39.es/ecma262/#sec-string.prototype.split
1625      function split(separator, limit) {
1626        var O = requireObjectCoercible(this);
1627        var splitter = separator == undefined ? undefined : separator[SPLIT];
1628        return splitter !== undefined
1629          ? splitter.call(separator, O, limit)
1630          : internalSplit.call(String(O), separator, limit);
1631      },
1632      // `RegExp.prototype[@@split]` method
1633      // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
1634      //
1635      // NOTE: This cannot be properly polyfilled in engines that don't support
1636      // the 'y' flag.
1637      function (regexp, limit) {
1638        var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
1639        if (res.done) return res.value;
1640
1641        var rx = anObject(regexp);
1642        var S = String(this);
1643        var C = speciesConstructor(rx, RegExp);
1644
1645        var unicodeMatching = rx.unicode;
1646        var flags = (rx.ignoreCase ? 'i' : '') +
1647                    (rx.multiline ? 'm' : '') +
1648                    (rx.unicode ? 'u' : '') +
1649                    (UNSUPPORTED_Y$1 ? 'g' : 'y');
1650
1651        // ^(? + rx + ) is needed, in combination with some S slicing, to
1652        // simulate the 'y' flag.
1653        var splitter = new C(UNSUPPORTED_Y$1 ? '^(?:' + rx.source + ')' : rx, flags);
1654        var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1655        if (lim === 0) return [];
1656        if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
1657        var p = 0;
1658        var q = 0;
1659        var A = [];
1660        while (q < S.length) {
1661          splitter.lastIndex = UNSUPPORTED_Y$1 ? 0 : q;
1662          var z = regexpExecAbstract(splitter, UNSUPPORTED_Y$1 ? S.slice(q) : S);
1663          var e;
1664          if (
1665            z === null ||
1666            (e = min$2(toLength(splitter.lastIndex + (UNSUPPORTED_Y$1 ? q : 0)), S.length)) === p
1667          ) {
1668            q = advanceStringIndex(S, q, unicodeMatching);
1669          } else {
1670            A.push(S.slice(p, q));
1671            if (A.length === lim) return A;
1672            for (var i = 1; i <= z.length - 1; i++) {
1673              A.push(z[i]);
1674              if (A.length === lim) return A;
1675            }
1676            q = p = e;
1677          }
1678        }
1679        A.push(S.slice(p));
1680        return A;
1681      }
1682    ];
1683  }, UNSUPPORTED_Y$1);
1684
1685  var floor$1 = Math.floor;
1686  var replace = ''.replace;
1687  var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
1688  var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
1689
1690  // https://tc39.es/ecma262/#sec-getsubstitution
1691  var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
1692    var tailPos = position + matched.length;
1693    var m = captures.length;
1694    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
1695    if (namedCaptures !== undefined) {
1696      namedCaptures = toObject(namedCaptures);
1697      symbols = SUBSTITUTION_SYMBOLS;
1698    }
1699    return replace.call(replacement, symbols, function (match, ch) {
1700      var capture;
1701      switch (ch.charAt(0)) {
1702        case '$': return '$';
1703        case '&': return matched;
1704        case '`': return str.slice(0, position);
1705        case "'": return str.slice(tailPos);
1706        case '<':
1707          capture = namedCaptures[ch.slice(1, -1)];
1708          break;
1709        default: // \d\d?
1710          var n = +ch;
1711          if (n === 0) return match;
1712          if (n > m) {
1713            var f = floor$1(n / 10);
1714            if (f === 0) return match;
1715            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
1716            return match;
1717          }
1718          capture = captures[n - 1];
1719      }
1720      return capture === undefined ? '' : capture;
1721    });
1722  };
1723
1724  var max$1 = Math.max;
1725  var min$1 = Math.min;
1726
1727  var maybeToString = function (it) {
1728    return it === undefined ? it : String(it);
1729  };
1730
1731  // @@replace logic
1732  fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
1733    var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
1734    var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
1735    var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
1736
1737    return [
1738      // `String.prototype.replace` method
1739      // https://tc39.es/ecma262/#sec-string.prototype.replace
1740      function replace(searchValue, replaceValue) {
1741        var O = requireObjectCoercible(this);
1742        var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
1743        return replacer !== undefined
1744          ? replacer.call(searchValue, O, replaceValue)
1745          : nativeReplace.call(String(O), searchValue, replaceValue);
1746      },
1747      // `RegExp.prototype[@@replace]` method
1748      // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
1749      function (regexp, replaceValue) {
1750        if (
1751          (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
1752          (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE
1752) === -1)
1753        ) {
1754          var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
1755          if (res.done) return res.value;
1756        }
1757
1758        var rx = anObject(regexp);
1759        var S = String(this);
1760
1761        var functionalReplace = typeof replaceValue === 'function';
1762        if (!functionalReplace) replaceValue = String(replaceValue);
1763
1764        var global = rx.global;
1765        if (global) {
1766          var fullUnicode = rx.unicode;
1767          rx.lastIndex = 0;
1768        }
1769        var results = [];
1770        while (true) {
1771          var result = regexpExecAbstract(rx, S);
1772          if (result === null) break;
1773
1774          results.push(result);
1775          if (!global) break;
1776
1777          var matchStr = String(result[0]);
1778          if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1779        }
1780
1781        var accumulatedResult = '';
1782        var nextSourcePosition = 0;
1783        for (var i = 0; i < results.length; i++) {
1784          result = results[i];
1785
1786          var matched = String(result[0]);
1787          var position = max$1(min$1(toInteger(result.index), S.length), 0);
1788          var captures = [];
1789          // NOTE: This is equivalent to
1790          //   captures = result.slice(1).map(maybeToString)
1791          // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
1792          // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
1793          // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
1794          for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
1795          var namedCaptures = result.groups;
1796          if (functionalReplace) {
1797            var replacerArgs = [matched].concat(captures, position, S);
1798            if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
1799            var replacement = String(replaceValue.apply(undefined, replacerArgs));
1800          } else {
1801            replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
1802          }
1803          if (position >= nextSourcePosition) {
1804            accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
1805            nextSourcePosition = position + matched.length;
1806          }
1807        }
1808        return accumulatedResult + S.slice(nextSourcePosition);
1809      }
1810    ];
1811  });
1812
1813  var js_cookie = createCommonjsModule(function (module, exports) {
1814  (function (factory) {
1815  	var registeredInModuleLoader;
1816  	{
1817  		module.exports = factory();
1818  		registeredInModuleLoader = true;
1819  	}
1820  	if (!registeredInModuleLoader) {
1821  		var OldCookies = window.Cookies;
1822  		var api = window.Cookies = factory();
1823  		api.noConflict = function () {
1824  			window.Cookies = OldCookies;
1825  			return api;
1826  		};
1827  	}
1828  }(function () {
1829  	function extend () {
1830  		var i = 0;
1831  		var result = {};
1832  		for (; i < arguments.length; i++) {
1833  			var attributes = arguments[ i ];
1834  			for (var key in attributes) {
1835  				result[key] = attributes[key];
1836  			}
1837  		}
1838  		return result;
1839  	}
1840
1841  	function decode (s) {
1842  		return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);
1843  	}
1844
1845  	function init (converter) {
1846  		function api() {}
1847
1848  		function set (key, value, attributes) {
1849  			if (typeof document === 'undefined') {
1850  				return;
1851  			}
1852
1853  			attributes = extend({
1854  				path: '/'
1855  			}, api.defaults, attributes);
1856
1857  			if (typeof attributes.expires === 'number') {
1858  				attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);
1859  			}
1860
1861  			// We're using "expires" because "max-age" is not supported by IE
1862  			attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
1863
1864  			try {
1865  				var result = JSON.stringify(value);
1866  				if (/^[\{\[]/.test(result)) {
1867  					value = result;
1868  				}
1869  			} catch (e) {}
1870
1871  			value = converter.write ?
1872  				converter.write(value, key) :
1873  				encodeURIComponent(String(value))
1874  					.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
1875
1876  			key = encodeURIComponent(String(key))
1877  				.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
1878  				.replace(/[\(\)]/g, escape);
1879
1880  			var stringifiedAttributes = '';
1881  			for (var attributeName in attributes) {
1882  				if (!attributes[attributeName]) {
1883  					continue;
1884  				}
1885  				stringifiedAttributes += '; ' + attributeName;
1886  				if (attributes[attributeName] === true) {
1887  					continue;
1888  				}
1889
1890  				// Considers RFC 6265 section 5.2:
1891  				// ...
1892  				// 3.  If the remaining unparsed-attributes contains a %x3B (";")
1893  				//     character:
1894  				// Consume the characters of the unparsed-attributes up to,
1895  				// not including, the first %x3B (";") character.
1896  				// ...
1897  				stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
1898  			}
1899
1900  			return (document.cookie = key + '=' + value + stringifiedAttributes);
1901  		}
1902
1903  		function get (key, json) {
1904  			if (typeof document === 'undefined') {
1905  				return;
1906  			}
1907
1908  			var jar = {};
1909  			// To prevent the for loop in the first place assign an empty array
1910  			// in case there are no cookies at all.
1911  			var cookies = document.cookie ? document.cookie.split('; ') : [];
1912  			var i = 0;
1913
1914  			for (; i < cookies.length; i++) {
1915  				var parts = cookies[i].split('=');
1916  				var cookie = parts.slice(1).join('=');
1917
1918  				if (!json && cookie.charAt(0) === '"') {
1919  					cookie = cookie.slice(1, -1);
1920  				}
1921
1922  				try {
1923  					var name = decode(parts[0]);
1924  					cookie = (converter.read || converter)(cookie, name) ||
1925  						decode(cookie);
1926
1927  					if (json) {
1928  						try {
1929  							cookie = JSON.parse(cookie);
1930  						} catch (e) {}
1931  					}
1932
1933  					jar[name] = cookie;
1934
1935  					if (key === name) {
1936  						break;
1937  					}
1938  				} catch (e) {}
1939  			}
1940
1941  			return key ? jar[key] : jar;
1942  		}
1943
1944  		api.set = set;
1945  		api.get = function (key) {
1946  			return get(key, false /* read as raw */);
1947  		};
1948  		api.getJSON = function (key) {
1949  			return get(key, true /* read as json */);
1950  		};
1951  		api.remove = function (key, attributes) {
1952  			set(key, '', extend(attributes, {
1953  				expires: -1
1954  			}));
1955  		};
1956
1957  		api.defaults = {};
1958
1959  		api.withConverter = init;
1960
1961  		return api;
1962  	}
1963
1964  	return init(function () {});
1965  }));
1966  });
1967
1968  var namespace = "mozi-assist";
1969  var domain = "";
1970  var url = "https://tsn.baidu.com/text2audio";
1971  var config = {
1972  	namespace: namespace,
1973  	domain: domain,
1974  	url: url
1975  };
1976
1977  var __domain = config.domain;
1978  var cookie = {
1979    set: function set(key, value, namespace) {
1980      var memory = {
1981        show: false,
1982        // 是否展示无障碍
1983        audio: false,
1984        // 是否开启声音
1985        speed: 'middle',
1986        // 语速
1987        zomm: 0.1,
1988        // 缩放倍数
1989        cursor: false,
1990        // 是否替换鼠标样式
1991        pointer: false,
1992        // 是否开启十字线
1993        bigtext: false,
1994        // 是否开启大字幕
1995        overead: false // 是否开启指读
1996
1997      };
1998
1999      if (js_cookie.get(namespace)) {
2000        memory = JSON.parse(js_cookie.get(namespace));
2001      }
2002
2003      memory[key] = value;
2004      js_cookie.set(namespace, JSON.stringify(memory), {
2005        domain: __domain
2006      });
2007    },
2008    get: function get(key, namespace) {
2009      var __key = '';
2010
2011      if (js_cookie.get(namespace)) {
2012        __key = JSON.parse(js_cookie.get(namespace))[key];
2013      }
2014
2015      return __key;
2016    },
2017    remove: function remove(namespace) {
2018      js_cookie.remove(namespace, {
2019        domain: __domain
2020      });
2021    },
2022    setTag: function setTag(namespace) {
2023      var __key = "".concat(namespace, "-ignore");
2024
2025      var __data = [];
2026
2027      if (js_cookie.get(__key)) {
2028        __data = JSON.parse(js_cookie.get(__key));
2029      }
2030
2031      var _location = location,
2032          origin = _location.origin,
2033          pathname = _location.pathname;
2034
2035      var __ignoreUrl = "".concat(origin).concat(pathname);
2036
2037      !__data.includes(__ignoreUrl) && __data.push("".concat(origin).concat(pathname));
2038      js_cookie.set(__key, JSON.stringify(__data), {
2039        domain: __domain
2040      });
2041    },
2042    getTag: function getTag(namespace) {
2043      var __key = "".concat(namespace, "-ignore");
2044
2045      var __data = [];
2046
2047      if (js_cookie.get(__key)) {
2048        __data = JSON.parse(js_cookie.get(__key));
2049      }
2050
2051      return __data;
2052    }
2053  };
2054
2055  var addEvent = function addEvent(element, type, callback) {
2056    var ignore = ['DOMContentLoaded'];
2057
2058    var __type = ignore.includes(type) ? type : 'on' + type;
2059
2060    if (element.addEventListener) {
2061      element.addEventListener(type, callback, false);
2062    } else if (element.attachEvent) {
2063      element.attachEvent(__type, callback);
2064    } else {
2065      element[__type] = callback;
2066    }
2067  };
2068
2069  var removeEvent = function removeEvent(element, type, callback) {
2070    var ignore = ['DOMContentLoaded'];
2071
2072    var __type = ignore.includes(type) ? type : 'on' + type;
2073
2074    if (element.removeEventListener) {
2075      element.removeEventListener(type, callback);
2076    } else if (element.detachEvent) {
2077      element.detachEvent(__type, callback);
2078    } else {
2079      element[__type] = null;
2080    }
2081  };
2082
2083  var ruleType = function ruleType(target) {
2084    var __role = !!target.getAttribute('role') && target.getAttribute('role').toUpperCase() || target.tagName.toUpperCase();
2085
2086    var __roleName = {
2087      IMG: '图片',
2088      BUTTON: '按钮',
2089      INPUT: '输入框',
2090      CHECKBOX: '复选框',
2091      RADIO: '单选框',
2092      OPTION: '下拉框',
2093      A: '链接'
2094    };
2095
2096    if (__role == 'INPUT') {
2097      if (target.type == 'radio') {
2098        return '单选框';
2099      } else if (target.type == 'checkbox') {
2100        // button reset file
2101        return '复选框';
2102      } else if (target.type == 'text') {
2103        // button reset file
2104        return '文本框';
2105      } else if (target.type == 'submit') {
2106        return '提交按钮';
2107      } else if (target.type == 'reset') {
2108        return '重置按钮';
2109      } else if (target.type == 'password') {
2110        return '密码输入框';
2111      } else {
2112        return '输入框';
2113      }
2114    }
2115
2116    return __roleName[__role] || '文本';
2117  };
2118
2119  var parseTagText = function parseTagText(target) {
2120    var __name = ruleType(target);
2121
2122    var __role = !!target.getAttribute('role') && target.getAttribute('role').toUpperCase();
2123
2124    if (__role === 'A' || target.tagName === 'A') {
2125      console.log('这是一个链接:' + target.alt || target.title || target.innerText);
2126      return "\u94FE\u63A5 ".concat(target.alt || target.title || target.innerText);
2127    }
2128
2129    if (target.children.length === 0) {
2130      if (__role === 'IMG' || target.tagName === 'IMG') {
2131        console.log('这是一张图片:' + target.alt || target.title);
2132        return "\u56FE\u7247 ".concat(target.alt || target.title);
2133      }
2134
2135      if (__role === 'BUTTON' || target.tagName === 'BUTTON') {
2136        console.log('这是一个按钮:' + target.innerText);
2137        return "\u6309\u94AE ".concat(target.alt || target.title || target.innerText);
2138      }
2139
2140      if (__role === 'INPUT' || target.tagName === 'INPUT') {
2141        console.log("\u8FD9\u662F\u4E00\u4E2A".concat(__name, ":") + target.alt || target.title || target.value);
2142        return "".concat(__name, " ").concat(target.alt || target.title || target.value);
2143      }
2144
2145      if (__role === 'LABEL' || target.tagName === 'LABEL') {
2146        var __linkId = target.getAttribute('for');
2147
2148        var __linkDom = document.getElementById(__linkId);
2149
2150        if (!!__linkDom && !!__linkDom.type && __linkDom.type == 'radio') {
2151          console.log("\u8FD9\u662F\u4E00\u4E2A\u5355\u9009:" + target.alt || target.title || target.innerText);
2152          return "\u5355\u9009 ".concat(target.alt || target.title || target.innerText);
2153        }
2154      }
2155
2156      if (target.alt || target.title || target.innerText) {
2157        console.log("".concat(__name, " ").concat(target.alt || target.title || target.innerText));
2158        return "".concat(__name, " ").concat(target.alt || target.title || target.innerText);
2159      }
2160
2161      return '';
2162    }
2163
2164    if (target.children.length < 5 && (target.alt || target.title || target.innerText)) {
2165      console.log("".concat(__name, " ").concat(target.alt || target.title || target.innerText));
2166      return "".concat(__name, " ").concat(target.alt || target.title || target.innerText);
2167    }
2168
2169    return '';
2170  };
2171
2172  var trim = function trim(s) {
2173    return s.replace(/(^\s*)|(\s*$)/g, "");
2174  };
2175  /**
2176   * 判断是否是IE
2177   */
2178
2179  var isIE = function isIE() {
2180    if (!!window.ActiveXobject || "ActiveXObject" in window) {
2181      return true;
2182    } else {
2183      return false;
2184    }
2185  };
2186  /**
2187   * 判断是否是IE11
2188   */
2189
2190
2191  var isIE11 = function isIE11() {
2192    if (/Trident\/7\./.test(navigator.userAgent)) {
2193      return true;
2194    } else {
2195      return false;
2196    }
2197  };
2198
2199  var isFirefox = function isFirefox() {
2200    var ua = navigator.userAgent;
2201
2202    if (ua.indexOf('Firefox') > -1) {
2203      return true;
2204    }
2205
2206    return false;
2207  };
2208
2209  var removeNode = function removeNode(item) {
2210    if (isIE() || isIE11()) {
2211      item.removeNode(true);
2212    } else {
2213      item.remove();
2214    }
2215  };
2216
2217  // iterable DOM collections
2218  // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
2219  var domIterables = {
2220    CSSRuleList: 0,
2221    CSSStyleDeclaration: 0,
2222    CSSValueList: 0,
2223    ClientRectList: 0,
2224    DOMRectList: 0,
2225    DOMStringList: 0,
2226    DOMTokenList: 1,
2227    DataTransferItemList: 0,
2228    FileList: 0,
2229    HTMLAllCollection: 0,
2230    HTMLCollection: 0,
2231    HTMLFormElement: 0,
2232    HTMLSelectElement: 0,
2233    MediaList: 0,
2234    MimeTypeArray: 0,
2235    NamedNodeMap: 0,
2236    NodeList: 1,
2237    PaintRequestList: 0,
2238    Plugin: 0,
2239    PluginArray: 0,
2240    SVGLengthList: 0,
2241    SVGNumberList: 0,
2242    SVGPathSegList: 0,
2243    SVGPointList: 0,
2244    SVGStringList: 0,
2245    SVGTransformList: 0,
2246    SourceBufferList: 0,
2247    StyleSheetList: 0,
2248    TextTrackCueList: 0,
2249    TextTrackList: 0,
2250    TouchList: 0
2251  };
2252
2253  var $forEach = arrayIteration.forEach;
2254
2255
2256  var STRICT_METHOD = arrayMethodIsStrict('forEach');
2257
2258  // `Array.prototype.forEach` method implementation
2259  // https://tc39.es/ecma262/#sec-array.prototype.foreach
2260  var arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
2261    return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
2262  // eslint-disable-next-line es/no-array-prototype-foreach -- safe
2263  } : [].forEach;
2264
2265  for (var COLLECTION_NAME in domIterables) {
2266    var Collection = global_1[COLLECTION_NAME];
2267    var CollectionPrototype = Collection && Collection.prototype;
2268    // some Chrome versions have non-configurable methods on DOMTokenList
2269    if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
2270      createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
2271    } catch (error) {
2272      CollectionPrototype.forEach = arrayForEach;
2273    }
2274  }
2275
2276  var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
2277
2278  var max = Math.max;
2279  var min = Math.min;
2280  var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
2281  var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
2282
2283  // `Array.prototype.splice` method
2284  // https://tc39.es/ecma262/#sec-array.prototype.splice
2285  // with adding support of @@species
2286  _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
2287    splice: function splice(start, deleteCount /* , ...items */) {
2288      var O = toObject(this);
2289      var len = toLength(O.length);
2290      var actualStart = toAbsoluteIndex(start, len);
2291      var argumentsLength = arguments.length;
2292      var insertCount, actualDeleteCount, A, k, from, to;
2293      if (argumentsLength === 0) {
2294        insertCount = actualDeleteCount = 0;
2295      } else if (argumentsLength === 1) {
2296        insertCount = 0;
2297        actualDeleteCount = len - actualStart;
2298      } else {
2299        insertCount = argumentsLength - 2;
2300        actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);
2301      }
2302      if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
2303        throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
2304      }
2305      A = arraySpeciesCreate(O, actualDeleteCount);
2306      for (k = 0; k < actualDeleteCount; k++) {
2307        from = actualStart + k;
2308        if (from in O) createProperty(A, k, O[from]);
2309      }
2310      A.length = actualDeleteCount;
2311      if (insertCount < actualDeleteCount) {
2312        for (k = actualStart; k < len - actualDeleteCount; k++) {
2313          from = k + actualDeleteCount;
2314          to = k + insertCount;
2315          if (from in O) O[to] = O[from];
2316          else delete O[to];
2317        }
2318        for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
2319      } else if (insertCount > actualDeleteCount) {
2320        for (k = len - actualDeleteCount; k > actualStart; k--) {
2321          from = k + actualDeleteCount - 1;
2322          to = k + insertCount - 1;
2323          if (from in O) O[to] = O[from];
2324          else delete O[to];
2325        }
2326      }
2327      for (k = 0; k < insertCount; k++) {
2328        O[k + actualStart] = arguments[k + 2];
2329      }
2330      O.length = len - actualDeleteCount + insertCount;
2331      return A;
2332    }
2333  });
2334
2335  var pubSub = {
2336    list: {},
2337    subscribe: function subscribe(key, fn) {
2338      if (!this.list[key]) this.list[key] = [];
2339      this.list[key].push(fn);
2340    },
2341    unsubscribe: function unsubscribe(key, fn) {
2342      var fnList = this.list[key];
2343      if (!fnList) return false;
2344
2345      if (!fn) {
2346        // 不传入指定的方法,清空所用 key 下的订阅
2347        fnList && (fnList.length = 0);
2348      } else {
2349        fnList.forEach(function (item, index) {
2350          item === fn && fnList.splice(index, 1);
2351        });
2352      }
2353    },
2354    publish: function publish(key) {
2355      var fnList = this.list[key];
2356      if (!fnList) return false;
2357
2358      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
2359        args[_key - 1] = arguments[_key];
2360      }
2361
2362      var _iterator = _createForOfIteratorHelper(this.list[key]),
2363          _step;
2364
2365      try {
2366        for (_iterator.s(); !(_step = _iterator.n()).done;) {
2367          var fn = _step.value;
2368          !!fn && fn.call.apply(fn, [this].concat(args));
2369        }
2370      } catch (err) {
2371        _iterator.e(err);
2372      } finally {
2373        _iterator.f();
2374      }
2375    }
2376  };
2377
2378  var Base = /*#__PURE__*/function () {
2379    function Base() {
2380      _classCallCheck(this, Base);
2381
2382      this.config = {
2383        namespace: 'mozi-assist',
2384        domain: '.mozi.com',
2385        url: ''
2386      };
2387      this.message = pubSub;
2388      this.tmplStyle = [];
2389      this.tmplHtml = [];
2390      this.registeOpen();
2391    }
2392
2393    _createClass(Base, [{
2394      key: "mergeConfig",
2395      value: function mergeConfig(opts) {
2396        this.config = _objectSpread2(_objectSpread2({}, this.config), opts);
2397        this.creatContainer();
2398      }
2399    }, {
2400      key: "use",
2401      value: function use(plugin) {
2402        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
2403          args[_key - 1] = arguments[_key];
2404        }
2405
2406        plugin.init.apply(plugin, [this].concat(args));
2407      }
2408    }, {
2409      key: "useEvent",
2410      value: function useEvent(plugin) {
2411        for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
2412          args[_key2 - 1] = arguments[_key2];
2413        }
2414
2415        plugin.setEvents.apply(plugin, [this].concat(args));
2416      }
2417    }, {
2418      key: "creatContainer",
2419      value: function creatContainer() {
2420        var namespace = this.config.namespace;
2421
2422        if (document.getElementById(namespace)) {
2423          return;
2424        }
2425
2426        var Container = document.createElement("div");
2427        Container.id = namespace;
2428        document.body.appendChild(Container);
2429      }
2430    }, {
2431      key: "registeOpen",
2432      value: function registeOpen() {
2433        var _this = this;
2434
2435        addEvent(document, 'click', function (event) {
2436          var event = window.event || event;
2437          var target = event.target || event.srcElement;
2438
2439          if (target.getAttribute('id') == 'assist-open') {
2440            if (!_this.existIgnore()) {
2441              _this.show();
2442
2443              _this.message.publish('openState', true);
2444            } else {
2445              var namespace = _this.config.namespace;
2446              cookie.set('show', true, namespace);
2447
2448              var __href = document.getElementById('assist-open').getAttribute('assist-href');
2449
2450              window.location.href = __href;
2451              window.event.returnValue=false;
2452            }
2453          }
2454        });
2455      }
2456    }, {
2457      key: "isShow",
2458      value: function isShow() {
2459        var _this2 = this;
2460
2461        var namespace = this.config.namespace;
2462        addEvent(window, 'DOMContentLoaded', function () {
2463          if (cookie.get('show', namespace) && !_this2.existIgnore()) {
2464            _this2.isShowTopBar(true);
2465
2466            _this2.message.publish('openState', true);
2467          } else {
2468            _this2.message.publish('openState', false);
2469          }
2470        });
2471      }
2472    }, {
2473      key: "existIgnore",
2474      value: function existIgnore() {
2475        var namespace = this.config.namespace;
2476        var _location = location,
2477            origin = _location.origin,
2478            pathname = _location.pathname;
2479
2480        var __key = "".concat(origin).concat(pathname);
2481
2482        return cookie.getTag(namespace).includes(__key);
2483      }
2484    }, {
2485      key: "show",
2486      value: function show() {
2487        this.isShowTopBar(true);
2488      }
2489    }, {
2490      key: "close",
2491      value: function close() {
2492        this.isShowTopBar(false);
2493      }
2494    }, {
2495      key: "showTag",
2496      value: function showTag() {
2497        var namespace = this.config.namespace;
2498        cookie.setTag(namespace); // 设置忽略
2499
2500        this.resetAction(); // 重置插件状态
2501      }
2502    }, {
2503      key: "isShowTopBar",
2504      value: function isShowTopBar(isShow) {
2505        var namespace = this.config.namespace;
2506        var activeBtn = document.getElementById("".concat(namespace, "-topbar-html"));
2507
2508        if (isShow) {
2509          document.body.style.marginTop = '100px';
2510          activeBtn.style.display = 'block';
2511          cookie.set('show', true, namespace);
2512          this.hideModules();
2513        } else {
2514          document.body.style.cssText = ''; //activeBtn.style.display = 'none'
2515
2516          cookie.remove("".concat(namespace));
2517          location.reload();
2518        }
2519      }
2520    }, {
2521      key: "hideModules",
2522      value: function hideModules() {
2523        var namespace = this.config.namespace;
2524        var classList = document.getElementsByClassName("".concat(namespace, "-hide"));
2525
2526        for (var i = 0; i < classList.length; i++) {
2527          classList[i].style.display = 'none';
2528        }
2529      }
2530    }, {
2531      key: "creatStyle",
2532      value: function creatStyle(id, css) {
2533        var flag = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
2534
2535        if (!flag) {
2536          this.tmplStyle.push(css);
2537        } else {
2538          var namespace = this.config.namespace;
2539          var styleNode = document.createElement('style');
2540          styleNode.type = 'text/css';
2541          styleNode.id = "".concat(namespace, "-").concat(id);
2542          styleNode.className = id;
2543
2544          if (styleNode.styleSheet) {
2545            styleNode.styleSheet.cssText = css;
2546          } else {
2547            styleNode.innerHTML = css;
2548          }
2549
2550          document.getElementsByTagName('head')[0].appendChild(styleNode);
2551        }
2552      }
2553    }, {
2554      key: "creatHtml",
2555      value: function creatHtml(id, htmlFn) {
2556        var namespace = this.config.namespace;
2557        var DomContainer = document.createElement("div");
2558        DomContainer.id = "".concat(namespace, "-").concat(id);
2559        DomContainer.className = id;
2560        DomContainer.style.display = 'none';
2561
2562        if (typeof htmlFn !== 'function') {
2563          console.error('htmlFn不是一个函数');
2564          return;
2565        }
2566
2567        var __html = htmlFn(namespace);
2568
2569        DomContainer.innerHTML = __html;
2570        this.tmplHtml.push(DomContainer.outerHTML);
2571      }
2572    }, {
2573      key: "registeHtml",
2574      value: function registeHtml() {
2575        var namespace = this.config.namespace;
2576        document.getElementById(namespace).innerHTML = this.tmplHtml.join('');
2577      }
2578    }, {
2579      key: "registeStyle",
2580      value: function registeStyle() {
2581        var namespace = this.config.namespace;
2582        var styleNode = document.createElement('style');
2583        styleNode.type = 'text/css';
2584        styleNode.id = "".concat(namespace, "-style");
2585
2586        var __css = this.tmplStyle.join('\n');
2587
2588        if (styleNode.styleSheet) {
2589          styleNode.styleSheet.cssText = __css;
2590        } else {
2591          styleNode.innerHTML = __css;
2592        }
2593
2594        document.getElementsByTagName('head')[0].appendChild(styleNode);
2595      }
2596    }, {
2597      key: "formatLongText",
2598      value: function formatLongText() {
2599        var namespace = this.config.namespace;
2600        var longText = document.getElementsByClassName("".concat(namespace, "-long-text")) || [];
2601        [].forEach.call(longText, function (el) {
2602          var __el = el.innerText.split('。');
2603
2604          var __elItem = [];
2605
2606          __el.map(function (item) {
2607            __elItem.push("<label>".concat(item, "</label>"));
2608          });
2609
2610          el.innerHTML = __elItem.join('。');
2611        });
2612      }
2613    }]);
2614
2615    return Base;
2616  }();
2617
2618  var styles$4 = ".topbar-html {\n  width: 100%;\n  background: #797F8D;\n  overflow: hidden;\n  z-index: 2147483645;\n  position: fixed;\n  top: 0;\n  box-shadow: 0 0 10px 2px #999;\n  left: 0;\n  right: 0;\n}\n.topbar-html-mright {\n  margin-right: 50px !important;\n}\n.topbar-html-margin0 {\n  margin: 0 !important;\n}\n.topbar-html-content {\n  width: 1080px;\n  height: 100px;\n  margin: 0 auto;\n  display: flex;\n  justify-content: center;\n}\n.topbar-html-content-item {\n  cursor: pointer;\n  margin: 0 6px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n}\n.topbar-html-content-item span {\n  height: 30px;\n  line-height: 30px;\n  color: #FFFFFF;\n  font-size: 16px;\n  font-weight: 500;\n  font-family: PingFangSC-Medium;\n}\n.topbar-html-content-item img {\n  height: 52px;\n  width: 52px;\n  border-radius: 5px;\n  display: block;\n}";
2619
2620  var img$n = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAkFBMVEUAAAD///////////////////////////////////////8zMzM5OTk8PDz8/PxcXFzu7u6zs7NHR0diYmJBQUG3t7eqqqqkpKSBgYHQ0NC+vr5MTEybm5v5+fnz8/Po6OjV1dWfn590dHRPT0/h4eHd3d3b29vLy8vFxcWvr6+WlpaHh4dmZmZXV1dubm6MjIwpqEHtAAAACnRSTlMAvfPZlHYzJgQRpdOjTAAAA69JREFUaN7t2mlTpDAQBuAZj1WbTkBuGOa+D/X//7sdDTHRWbTTzqRqq3w/7g4+SRMghPR07m7711dw1lxd92/veh/zpw8XSv+PxdzfwAVzc6+dhz5cNP2Htj9Uhy+pPt3AxXPzNg7AQ15HRB88pH+8fsBL7nq34CW3PiqnancNXnLduwIvueqBp/xCvxAbitZ1Pp0WeVZFoHNuSE6aUGAqMAgQhRCY7Cp5fmhSiiPxKUKU1VkhmQ2EDdjWPJNng7JYMR1UXJ8HWoSa6aTCFbQZzuIw50HNyZlBPP2
2620nQtVvFLxmxoCig7CbjiLcN3meF2WSorClcATHlKoJE2doEaPVkdljZLehfrYsHIwBIFTtyVyhpbBG8k4rJsOtNRrTJcCT+u2jIzS22vvYMYg3ZkRixITG5k+UEroiC1PdMQsaxZpJ1/BVVnNNzTmQTNAMKJXvf4oMqBDakQBUiQEt9aHJEAiZtc1yh0LdH+UQ+sSD6raFT5KgRKvVapKyIBm3HVp9Y6j7WyqOQQ6UCXVEQSja4B1gQHN1REwo3Cb9AVS1HdrA95niD6BSHTAAQtbBKVQRIdl2aAuUnJwjpD34TOWQeAm9xGgnLoEK7VTZn4EZMpSoytVACx9C/RwjhQ9F6hSlQAsfqhR0AFr4UKagEjipy3JDhXJ1jgqOk7/NMIiQmm1g7miYeRNuaNA0YEO1auP0spApRkGDtuocNQzohX73No/xPQOaKaimQZV6lCUMKFGXekWDImTfGUTnzatH+Dk9i3YCCUQo1KfUNbmCDiTIvE3OnKHn4C0NFZowazdEPWVwmzPgzhEqWkiC4yxISCdHtjM86pzB1E5kTlDdHlVRITOFGtC7ZObGc9Chz71x7wC9oCmD+9vEmuxMUM/X6ZDpUpCOiI6cB9YNlfPGJ2mXUNh2KARHaIF0yX5bXrpC0Aj627IMtVOAMwQHcp9G4XujJAOK3ldO5qsvnXWKgUo8AgYEC2Gv+3VF7jUTiDGwIFha66abDiYbWGtOwIRgLAw12A5Pq7sT1i+W4AwZyWqvwOc6spXHGZr/xXgBP4BglHxcU02TssjzvNl/WlMVhwh+BIEsSKvEDQATMlkS1r0XwIbs1N+s5GcA54FAZnPRxQyo3yaIqf7xtQWFKCcAQIXIVpMgHjl8JVIUYTNx/X5ET1RleTGdbut193D+v77x/UL+IW/bDLxtnPC2FcTb5hZv23V8bUDytqXK1yYxb9vefG3k87U10etmS2/bR/8CfLm94E4nnEwAAAAASUVORK5CYII=";
2621
2622  var img$m = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAjVBMVEUAAAD///////////////////////8zMzM4ODg+Pj719fWoqKg7OztGRkbg4OD39/d1dXVbW1vIyMj7+/tMTEzj4+OUlJSCgoJCQkLo6Oi9vb1RUVHs7Ozb29vX19fw8PDAwMC6urpwcHC0tLRVVVWlpaVpaWnQ0NCurq6enp6ZmZmLi4uIiIh7e3thYWGg660bAAAABnRSTlMA+uWnfzGozdCBAAADiklEQVRo3u3a7XKqMBAGYK3HJeFEUEHRgqj41dqP+7+805MNs5lhILF2memM758iJTwG1hDbDL4yHj0NgS3Dp9F4oPOHSyHrj3agh3xJ4yH0kOF4MIJeMho8QS95GgyhlwwH0FMe0AN6QA/ot0FRNhFikm3sfQxQnIlAR2S0kwGKP1VQJwcMBxTPyKE+3Q81HYGGkUoA4ICMQ/kA4IDC2hHvH7ghgQEiR80BKtzkgKg/ewD4K/Rm/PNQeCSHoPDHIXKegQdqOjxQ02mH4u29UJgbR2mnBXoXIp3fBW0bDkG2g5XvgDz70w4lASb6LhRfUro/HRDUR0U3QcXhnEqhowKM2EEnVBlpsvWHinc8PYacTig0PRdnb+giReBwCKKsV3QrvaBLkwkUOU2oWOO+SJoxPfSCyiYj5BxaoXAmRBCjZC7e0gcKJw1FZGtoh7ACCr33VWH/Qw/opMz502ypc9phsxZojUfn+qB4hdDVDQ0n2LDxwWuDFhIbvOndzwo76IY2eKTcgieU5PTY/conNr84oZOgVl5Q3aUg1fv3+CpzQssAT+APQWkuwou+SwKvnROa0nFekN5GaaZ/ccZ3WnBAiSkgfV8PUndvxwHVJz/ozyH+4pUF2uKNqfQLrIYpCwQzukm0zQFVpsCpGnIe6A2rwT4DD7S0oA8+iFrRpUv5i+GTsRhCu7zxSXFmgXAkVfZgt2SBcmt8m9Mo0Q5RoSa3QAccVI9W0cmN3/NIljdAG4nnPlkjkAIXNDet/KGinqEmVvvKCSWmWZV4QkmAkThtzPDF3glBhpJI33ZznXLbCRXoiJl+ZxtsrWI3VKjARJqI4z5ph9bKntrPUM3ADcFLLVHkcd0KwVEfsrBnWyJyQ3Tx7IhV1AptAylX+EZi80yfghsyE9tGZNQGQVKWMX01pA65Idil0iERRElm6KgluCDKoRKirgWSuqHKXIg0dkN2wmjzP/NXkjqhq7kKqvzut/JIktQBTQLMHr4LwYKkDggPEidwQDf2qQlNqRDckL/UhMJASXUFF+QvtZf3fL8AN+Qvcf0ZrVkRPBBJK5J4oKa0BrgilDBAtrQ74IYCDsiWBP48AzBAWhKGoqkBA6QlG8rxFt0Luftkao4FgnWuUJEpTSQ4IIhfUiWlSk8x7WOAdIqybPTmN/979AE9oF8C9bWkqrdFYr0te+ttIV9fSxP7W2zZ2/LRf1C1IJ35WNi4AAAAAElFTkSuQmCC";
2623
2624  var img$l = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABqCAMAAABnCuSYAAAAw1BMVEUAAAD///////////////////////////////////////////////////////////8zMzP8/Px5eXk6Ojrj4+NBQUE3Nzf5+fn09PRISEjn5+fb29ubm5uWlpbGxsaoqKiDg4N+fn5zc3NtbW1kZGRUVFTf39/U1NTLy8tPT09MTEzw8PCxsbGPj49hYWHr6+u4uLiioqKSkpJpaWnY2NiLi4uHh4ddXV3l5eW7u7vDw8O1tbWsrKyfn5/t7e3Pz8+/v7+8gE6lAAAAD3RSTlMAyDfs3bdeSxoQ5K2klG8zW7abAAAEyUlEQVRo3u2aiW7iMBBAs9tu2z3HTiAOuSDhvinQAqXX/3/Vih0Tb9jER49IK/WpqlQ1ybM9kxknYFXJ11/fP70j3399Rc/lN3hnvl0ePBdQAReWdXUGFXB2Zf2ESvhpnUMlnFsUKoFaUBEfog/Rh4jDgl0zXN7eRA/3sQ/Im4v8fTIkf+NsljF7a9H8ukuKcNNn+oaiQdslpdSn8zcSxR0ix7n130BUaxM1TsheKaKhc7JQm7adJOmqe7KY3cGrRP6MCNxZNHgUQ+gtWrksjOjLRXd1kjG7H8M/BNMGyejMXypqkgx7DcXQvcj7Ue9loogcacuuQBeNLID9l4imhNN4Bjne1CWI0zcXPWRLPwYlcf04p8BUNCGcFgUNesPj9H0zUd/lKd0EPbwVQTbUROTxATox6EJbBJmaiGyCLEAf2ibInb7omSARmOB1eZiYroiN8IwUzKjx3FvqiiJeJz0wZOBiBgV6orGDidADY0JesPREkQiQKYxna09H5OFKjwpDSg8/EmIUJTqiezx2AkXMm81HqWmGy+5piDaYo7RoPtv6oZzJTHc4zHu1qIdHXkMRf7YpK5DRxTapFoWYofOiCfFBSKd0jcf4SlEHWx0UscSL3IIEn4dYJWJueSrQBuGhlk0JR5qoRAO81rbIc0c4TZAQYTKpRLjEI2lNJ12QwIf6qBC1SmsI9cSecSBZO4aHPClEuMKhZPelrOsjjLJC1ChveBshcn3JlFbYKxQiV8w7Dw3405ey4uLqt+Qiym/JrIbSbY1zi2m7EBWKwriWwYDmNoS2XDQ+ye4Hh+QZML64FChLicCd0lxtSeWiOZ415xOKyQkjClFWzBKSY5Lbeq7kIg/PqQFycyqKgPrH1e2RPHbujk21YrQWg8tTowApD3aL5LnJjS6Ri8DBSHDtuPHvtegA0y9wSY76lgcpwcqrEA2zvoWm0BYke0pFy2ngb5sT+fkmGypE7fy2lgKS+6uZz4DTQ3HPsVOIbng7kkA9XF/R8YsSN1CI7nG9KcjAe7ek4+/wP0whCvCwvnRKQZYAjJaMYqNs5XURSmkXLT1siFFWimx1awO6K+/pff7sohRNlGsndg83pfFzPKWIp1QLpIS8K5VtqG2NnarNW5t0RvQQpX35ti7WEMWi2khMbBI9Fez3Ga8XVCUSFcapgUD7sSIUt5datCC8OpizxQDXPS0RHcofydUP5iFoiMRDubMGQ5a8AHqaIuADGz2CEQuC7EBXVOPlecbAgD4/awW6ItFxEtBn3uCF1jcQgW3wbgvpdcUbGgORN5S8rZO+sZuCkQh6xxNHAWjQdAmSUiMRhhZxnkEFaxFOh4GpCAYO4di+YtmGhLPxwFwE/br4RMCDUtZiB95mYChCeiOxO1xuoQg6aJOMhIKxCBmnRNCZ+KeW/hKHonr9iiIp17l977DVjGseBWDj9S5M67n/reE1Igg65B+co13gLhmoRCr2DaJkFQC8WgSsOVJongB0RGroflVqqbf6ANoiNf7DzC2w2DsGYCZS48VR2nUzxyy5xkTTFZlBH2vrp37ge1DM//ZZ+YfoQ/R/ic6gEs6sL1AJX6xLqIRLy/oBFfDj8J3OChbv
2624C36v8+Ic3pXzC+vI1ed35Mo68BtVKaeQ+hFKXwAAAABJRU5ErkJggg==";
2625
2626  var img$k = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAmVBMVEX8/PwAAAD///////////////////8zMzM3Nzfg4OBERERRUVE+Pj6kpKTn5+fi4uKFhYVubm5YWFj4+Pj09PTAwMCbm5vs7OzZ2dmSkpKKiopNTU1BQUFra2vw8PDPz8+ysrKvr6/FxcWOjo54eHhiYmLLy8u4uLhwcHBmZmY7OzvS0tKVlZWAgIB9fX10dHSqqqpJSUleXl4uaMzTAAAABnRSTlP+AOWnfzGF0eAUAAAD5UlEQVRo3u3a2XqqMBAAYLpNIhakrCog7vtW3//hjoeJRhrwZNTynQvnplVC/jAJCWkxXl5ePt5e4Rfj9e3jiByhdwN+OYz3v9A71BDvL8aHATXEkXmDWuLNeIVa4tWAmuIJPaEn9ITuhFqB5YzTw2K+7fRXPn73cKg3GCeMcc6OgT/ddfZ4KJgzJC6Ds+/QfiRk9GPBlFib1sOgYVxGSKrrPwSKdsV6MQpfJbMHQG2TS4OZ6cgazPr7cOvyy2yO7oYCzs8pSgeXPe9NO+bZ4ql/HxSer2YZRurh6eR8PG7dA41lh/cqBkrzVOQzux0anTKzu9LcfiJKfbZuhfpMhAXXwnZR4k3/NijjoneGcD28ncje102QnYhebuBnnTHTuQXChPBEazJbCymgQ3uRuBVoxRyLmx4VipbYxD7ohd/EBHSoUBfPG4Fu2J+YgYgGRZiJpCwTQycsG8eWaBoN6uBZg7IKj98zo6Sib7ykHgUycGjHZSs6r2r3DKE9BRpWD9ZG3hdp6Q2Rn+RSoHGeuSZUQl9QeUmsQYDyynhIhLxlfpqlD7WxaTYRgk2eiLk+hCP1G6jQLD9vqQ1hy7hDhiKRCW3IxZuIDIGZQ0NtCGeTjA5NcDToQgZmoDBrBYemCJycTp++Cnly8pyvdaEeQp4yPErD/zlz8a4uZGMNSvKVUBaGMG/P5g6IVUdXhYipuzyyqIYyNXXEwVCY77fnTloWtxKBslzyji4EWGn7R0EMMXuLT15xZUxpwxuaefkZ/T7CtS/QhnY4nMiQL9YJbQgHj0uGhthvhjY0FbciFcJNwQS0IQNHQ58KmbheakLytplQIJmIFQESG5Y2DZqL9ZIA+fhYt4CqacMBNVY4FNb6kJwIpqCGW3WtBzzHJkFtVv2M1o1Lt0wBXtCY+JA/lwNPL7xY9CsFkpfE27rQjosLIkLQFTurSM8JRcNsMuSLLazr6TiB3L/TIHn78bmGNOVM3g9UCPZCcu1/OZYomUQ3QeCIdpqrq4zhMAFlcBtkTLioYX+lVANLyQ6iQ9CLT1IcVBSJHPmnNLN1KwT+gjMRh6zseMixgJToEEZXPu80rWI93nAsGFWiQzBgTFrm1grarchuZIPOhDPJmIpEhiAzL7PDi7+I3y3DUSQyBN4aa62Myd/KpUSGZLS2rIrizJ1hISnRIRl29zO3FGaHN7MikSFZLhgnxZ5hy9TC2UmRaJAajcEojRN+rMpNN5ZcqhTJJkDkQEmdxQkQSVK3pQSILHHl+8dCKKnPdr8CwcB1lfXi//2v5RN6Qk/oCT02antJrLbX3mp7ka+uVxPre9myttdH/wB03iKbr43v3gAAAABJRU5ErkJggg==";
2627
2628  var img$j = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAllBMVEUAAAD///////////////////////8zMzM2NjY4ODj7+/tSUlLi4uJERESTk5OFhYX4+Pjn5+fAwMCkpKRYWFhBQUH09PSbm5vs7Ox2dnbZ2dlra2tiYmJNTU08PDzPz8+ysrKvr6+pqamJiYmOjo5/f3/w8PDLy8t7e3twcHDT09PGxsbk5ORmZmZeXl5JSUm3t7e6urrPoq9IAAAABnRSTlMA+uWnfzGozdCBAAADxklEQVRo3u3a7XaaQBCAYZM0M7sIyJcIgkHFbxOT3P/NNd3ZIoRod4zh9IfvjzanUR9YB8RTeh89PtzDD3b/8NhT/bqDH+7ul3Kggz6kxzvooLvH3gN00kPvHjrpvgcddYNu0A26Qd+E7CAcpNkh3y7d6S4GRgxoNUuHiFLgR/R35BbXh4ItElFP4uvIvyZkTSfEtBO4tK8G7SdtoE6V8VWgJG0ul5RCSNmghu9XgMaOrF5QoJMtwtnbdD7aRAJr2sL6LhRIUS1RNnuGY97adbD6ZRZ/DxpVe/M0SqDVOq9WdGJ/A7LSao7L1Yk97ldbUlwOLQRSqX1m9If6UcPnS6Ep6kI4lx+RJPrxZVAh9Jrs4Xxe+nciLoL8IT1bv8tGM+NeAkWSDkYfDHK1FPChuV64HRi1pYc7HhdKnlA1BbPivpKEy4VKWrgFmObTlomEByWSDg0PjAsFbRoPcmmHZmCe9UonkRUHsmi0JxYweqO1m3OgfTWsnCL1pIgDpULtEPB6R5XNgNQEiRET8tTT5NwcGqPKB2ZLtRBbcyhUM/cK3N4U9GQM0ZaJARtK9EoYQ5E+iNg5CtobQ3Q2KfhQTtNgClmoSqBWcOh/Wdb4/B6IP5BrCq0I8pofGqeKP5+5ZGkK+ahqLX6r1gfDSI3r0hR6bkN4urINMZfOgmMvp6Hi89KJkjkMq/o/bY5X4PQHJZon3pI3DEAvOv7Ef5XnQb1MjXdoDPXVxr4BO/rsC4yhFGkFuMWoso0hGp6IDe2VIyxjaF0dirwWagNzMIYsGqrpRedUOTKH9GGTMx29EDsGNMXmgHMui1+BAcV0WffCcnb63MeBQJ8I1hzoQO/sMwsaI3InPKAdSoEFwZY7eN5Ev69MSO+SNJ6HlE62G2BCUOpvVomZM9Ib5rOhWH+FjTyzN4gKgQtVh5/YGkhridXxwIZgrqXIB+qfjxwmfIgunuj5zu4sYw1QQwVcBlm51K8wt+Bkdi6abxAfgtVEaGkSwNclA5TaEY59KQTxi0Ddofjq9yNJD2hKfAis8njx0w+br+PtN8Q0JT5EzRCPlrMJg7Gd+HYxc3OBR8ZpSWwICqe+OrL5g/45tAYtiQ2B5wqB58ptAGhIfIiylyhPIAKjdwBoSXyI8hdDFG1GYroDqiXxIcoKNh+WqCNPWegDZSARZJY9W2SToUTpRNkyHFtAtSWfBfGrpByOMSCW1P5ayoDYkoR6DIglta/tfgSC2SEK4VP/7/9a3qAbdINu0HXr7Caxzm576+xGvq5uTezuZsvObh/9DX0gIQxCgyCMAAAAAElFTkSuQmCC";
2629
2630  var img$i = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAmVBMVEUAAAD///////////////////////8zMzM5OTnT09M/Pz/7+/tGRkY1NTXv7+9OTk7c3Nx6enpYWFjo6OjFxcVfX1/39/fW1tbMzMy7u7usrKyNjY1oaGhTU1Pz8/Pk5OTQ0NC3t7eysrJzc3NKSkqjo6OdnZ2Tk5OAgIDr6+vg4OCXl5dvb29ra2tjY2O+vr6Dg4Onp6eJiYmMMDgYAAAABnRSTlMA+uWnfzGozdCBAAAC8UlEQVRo3u3ay3LiMBAFUAzhCmxjg23wA8wbwpsk//9xk4nUyC6YmgVqVRbcDVBenFJJ5W4JNb7TbjUdsMVpttqNn7zxKWS9/TiwkG+p7cBCnHajBStpNZqwkmbDgZU4DVjKC3pBL8gKNN+8LwPUwwDtT+I7boFKOCAvEjIfHigs0FZQTiNQOKCJuGVIE8UCuUInPECGA+qIStw5KEwQcZ0cFB4op7XX+wTACHWnt0UxBjgheAOSBiNWCHgn6RLwQih6SipjXggJLT4/5YWQ+kpyE14Is5CW+ZIXQjAUKkdeCKMVSTuPFQK+SDpPeSFsSIr2vBByWubrPi+EzKVlnvFC6K+pbix4IewjobLhhTA9k/TFC8HbkbQasULAUbdHvBCWVDfCGS+ExKW60eWFdN3oJLwQ4pLqRsELIbgIlXdeqNoeeawQMCZpMuWF8EnLPIp5IVx13eCFMHf1foMVwiFUkr/nhXR7NOCEnOAwX7hqSKahuJ/lxXa8Ow1DSVBGhqFI3IVnRPk/oA9j0MKTn+XjAQWmoI1YqrL3yIn6MARthQgd+TZdV4WeH11W48SDCYj6BNXLFZKYLJI0nhqtsLSPLdXGwpez4plvt6ggXGvdfmEa0huWoRqSK3sgzzC0E7cktTO2pVHIGQidi+qL5ZBKhpMTSlZdHCI3B3krqmyybJ9VcZCPI2NQdiYnVSNLa+swMQXd6mcffbWFUMVCPh+agrQDnOR39VL7oDkzCa0PANCtleyZnLPJ01CknXBWPTjuqV9qzrrPQjvtxJDJqhWO5uz0LDTrKKfcgzKUQ1LwiubsOQiLzt2xY1I7XU3lr+2zEGa70p8UDyauE1S71PNz0OPkekeUU+O4YoCoMXHjz1BQjhwQNSY9cYsbsEBeSAA5V7BAKOrO5ACAAar3Wr1BChkGCHOaH3ccg8IB4er/ZdabKXRYIIwWx23m4T6//w/fF/SCXtB/Yu1KlbVLYtauvVm7yGfraqK9y5bWro/+AdOIGl9J8J/ZAAAAAElFTkSuQmCC";
2631
2632  var img$h = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAUVBMVEUAAAD///////////////////////8zMzPz8/NZWVnAwMA/Pz/a2tpzc3P4+Pi6urpOTk47Ozvu7u6qqqp6enphYWHS0tLHx8ebm5uTk5Nra2tiB1jKAAAABnRSTlMA++WnfzGVrfkxAAABBElEQVRo3u3aW46CQBCF4S6QU+04w8XLzOj+F6qCLZrYSSfaFSDn38CXEOCljrtUlYUgW1KUletbCTInq96BQRepEhgklSthUukKmFQ4gUniYBQhQoSWDYk3gbb7TtsGT+WA6lav7fBQFuhf+7oaY1mgkw79YiwLtNahL4wRAqEQIRAKEQKhECEQChHCkiEf7bAZanysOhna7jca7RtDPxpt3aRBvlVNguLtkqCjvg11PgU6vA/p36Sgjzy6Sb0MH3i9p/bBLvJfR4gQoVuEQChECIRChEDo3qyPIC/POrM+VL08vc37mHiNECFCS4esJlVmIzGz2ZvZkM9qmmg3tjSbj54BcxwE/PC391YAAAAASUVORK5CYII=";
2633
2634  var img$g = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAjVBMVEUAAAD///////////////////////////8zMzOysrI3NzdgYGBcXFzOzs6VlZU1NTX8/Pz39/dmZmZFRUW8vLyrq6uenp6BgYFwcHBXV1dBQUH09PTh4eHZ2dnHx8eSkpJQUFBLS0s8PDzl5eXU1NR0dHTw8PDb29vAwMCvr6+mpqaMjIx6enrr6+tiYmIKA4ZdAAAAB3RSTlMA+uWnfzED0RzAUQAAAf1JREFUaN7t2tlSwjAUgOGyeQ6B0n2je9kFff/HUybRGUenSROaUSf/NeQbaHJBONZ7i9kURmw6W1j3nuYTGLnJ/OkdmoOG5pa1mICGJgtrBlqaWVPQ0tQCTRnIQAb6J9DODpcDO5f5UKioW5TJ8S/eACi/OihdGwpDRYtKJa4YtA9QsdQTgV4CVC4RgFwfH9CSD12QFVyj5cDiA0HaNudBboO0jQsSFSukxTwoRNozyOUxKXA50I2+bgWylewI2hyIbbk9SJewr74fKhQ+EOtEl/D7IZu+qgaFtngv64dCla3AyugG74eWH+dNIbrviIH+IxSla07+Jn8AdEN+pM2VoT2KRDbKUOQISakyVAk55KoMuRnhOw7ZKUNwTLb4ra9455ePP0f2x8P/moEMZCADGchABjKQgQz0c3u6TDw65BG8V40OQYQOOimMD0GVpNHf/rFsoCHQZXSoolCsAjX0UrUfKimUKDjsRK/7oePnHa90Z7rEoR+CTPUK0mUrRByoZjfxR1koQtqOA52Q5ntyjt3R978CB4IDk5pQ4jm91ARpFRcqCbK6bDWwxkHWK3AhiFG97U4AglTZcc4gAnkHRYeEwINYtaPitDaIQnDypZlu44EQxCpiv+nIwIL1Lfxkft9/5QYy0DhpGxLTNvambZBP12iivmFLbeOjbzu6QQG065M4AAAAAElFTkSuQmCC";
2635
2636  var img$f = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAk1BMVEUAAAD///////////////////////////8zMzM8PDyQkJDv7++pqal0dHRJSUlZWVk4ODj8/PyxsbH39/ejo6Nvb2/5+fnOzs6fn5+3t7ebm5uXl5fi4uKHh4d+fn5nZ2dMTExERETo6Ojd3d2/v7+Dg4N5eXnIyMiVlZVTU1Pz8/PU1NTQ0NCMjIzY2NhgYGCtra3alU/RAAAAB3RSTlMA+uWnfzED0RzAUQAAAoNJREFUaN7t2ttu4jAQgGFO7UwwFDvHpuRAIMBCgfb9n27JxNpuF21jSMcqUv47JOCLIyLI4N65h+EAGBsMH3pVj6M+MNcfPZ6hEVhodD5vfbBQ/6E3BCsNewOw0qAHluqgDuqgDvqBkIj98fX5sbgOes3x1vKDOaSO2KZUmUIBtitQZtAY23Y0glbYvpMJtEGddK5Noi4wgDz97HQJ17c86mPcN0MRUhnc1hqpbTMUI/V6I3RCym2GJkiJG6E9Uj475HVQB1mHwMGqmB/K8Jwj+CGRIxYlsEK6VeQBO6S7fyicbNaRBcib4bkjPzRHKvC4oRzrZktmaIa64tUShLLkh3Q+O5RLpNaKGXK3DlK5YIZgtUBqlzBDIN6QKiJmCMINUjJmharmWDfnhiCWSG1CZgiiAqk3wQxBskNqsWKGYJ8j5WyZIVBrpOSBEUrK9+dx5iA144JCAFEbOsUDJQEAvOBHBbBApwJjAO/pA3r+3ntYDR0cxEUI4KJOjpX5Xbk5tJF6Dap6GLjlwfvyOgodpNYJ/JuqC8PQqwo/QTpHAGyrq
26361VdMTnR4f/alZcQHvXUym2EVhKNO1xCMgFY6SV933Qr+wwV1TFO9fzEbYRgagwFQGVILZIUz0X1J2rWDCnjNU3+Ptu7JSwlfT+M6bEwmakG8qpR43aHMqvemJakX+uZTYlL/xc1p150z3V+1SSCj/Zk0pJ0Ae/cO8XLH/wskFjUTNxwwbYvmTrFJoJP/Yi/DKxD5XraWDZRraEUjXpTLaETGua2hN5NobQltDWF/JYQ5GbOYt8W8sazp8Z2qbij66iDOgg6qIP+dMeQrU1i1ra9WdvIZ2tror3Nlta2j/4GQjRJ2VA0dAoAAAAASUVORK5CYII=";
2637
2638  var img$e = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAllBMVEUAAAD///////////////////////8zMzNDQ0OlpaX7+/vq6upQUFDk5OTf3983Nzfx8fHDw8OSkpLS0tKDg4N+fn5bW1v39/fZ2dmYmJiLi4tVVVV5eXljY2M6OjrKysqioqKdnZ1zc3NnZ2dfX19LS0tHR0e/v7+7u7u0tLSurq5sbGw/Pz+qqqpZWVmIiIjs7OzFxcURI+eeAAAABnRSTlMA+uWnfzGozdCBAAADWUlEQVRo3u3aaXOiQBAGYI+1wRkuRRRFUeMZjxz//89tVnnH1JaQbqywtbv0tyTdPjJMzwwVGh/RabfoG6PV7jQu8aNJ3xzNHxeHKogPqdOkCqLZabSpkmg3WlRJtBpUUdRQDdXQPw6p2BVkl4fOqWXNxJQc2lm/YqiEZXJoZV1iLiyTQ/YV6tKnqKH/BQpUJVDPsdIoKIT2yWn9/iCk+pdPnRVBi8vP/YegYGWhPXOhIL3+4hiUh7RjZXHOh0LkJFoOGQfxng+5JsnR5aC3m5OofIiebtJbGUjNLMRQUwE0GprEmSoBDUx5NCruo9HUpA7k0LMpXny9MixN8rMU0ieUdjlLUBfZJy2Enm7Xw4FogfwnGdS7DToPoggVPRH0gvmmuJAaokQC7bKi1OVvE16aFe0EEC5oLNmPxrgkPhSj05UEUlhJYjb0mlUcZDvsISubcCGVfdZWySDU2YoJzc0dkkHmLs2ZEPJdKeThGzKhdbY3yE9BSbaI8yDlX9P7cqh//ZuvWJCHxpND+6zUY0E93CI55GK940BY8k90P5yijSfFt2BAGGgnB4owOvdig9vLgSaFqzBpGx+Vv0hOOBAWoBXlSa/DY96OnR1oXlnQAM0gD0ADydC9yAj50OFIs5EzZjIsWdAB7S13FPYXUcN6csgTNazGWVAO4dSpWRAWmYHYQTPbxIOOmA1l58KRCeHUGUodPJMtmZBnlRy7AaYRE8ICnWqZo1Msx1xojEsqd0FjNqT9rGc9UROhSrMhmhY/gxQ/6UyJD4XFzyDFTzqhADLf7uSxB+5kRkECuT7O+QHPCXDC910RRH0MxEpxHLVCfp9k0ChB5VQxnCmyk5EQothH7Vp/5eg1cv2YpBCdLcQ2LHbCrUk9kxyiiSn3z6pg2Lq+SZyQFELbIpx9XtLeQQ5aVQ6po3WL9fxeynxo3eKoxBCkyPoUydL9rUeXyee/R3DkENrJxCZa7GI3CNx4t5hiChQ0EB+inm2xwu7RYxDpFcdZaSoPIfbbr5gt5uRjEI2WduGojUf0MASq6+QxThfMgxAinGzujNkEqxMD4od7iNY2DHsdHdBXPEgYgRvPw9gt3A//un/41lAN1dAfgip7Sayy194qe5GvqlcTq3vZsrLXR38CNzUbwKsmamQAAAAASUVORK5CYII=";
2639
2640  var img$d = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAolBMVEUAAAAAvssAv8wAvswAv8sAv8sAvssAvs0AxNEAv8wAw9IAv8sAvsv////x+/z3/P38/v71/Pz4/f0Fv8xe1t7u+/vK8vTz+/waxNASw8/g9/jl+PosydTF8PNz2+JS09ye5us2zNY8zdfA7/Jp2OBZ1d0kx9KY5Op53ONu2uJ93uTa9vez6++C3+VK0Nrp+ftCz9jQ8/Wq6e5k2N8JwM2P4uiT7n99AAAADHRSTlMA2b69u5R2MybzEfI7x2vHAAAEAElEQVRo3u3a2XLaMBQGYNKkadIeS5aM9x2D2ZdC+v6v1gTJxqkHcqSAZjqT/yqJTT50LAlbaNDk6fHh7hmumue7h8enwfv8uIcb5f5H1/kON8z3lvn5DW6abz8ldENHSjp106/eDzCQtx5xDwZy/zp+wEieBo9gJI+DBzCSh8EdGMnd4BmM5HkAhvIFfUHaULjLx7NZNp+UASCiBTnlwiPcJcy2OSUuo+l6dAOoLHzCrfexCSlG14UmkW93hK61HDpXg4Yxsc6HbPPrQLVHrMvxvQRkXvaxN9aDFtT+p1qU9f7EMtkprbcjew0orPxulbjrTRfj8TwrKpd2G8rSEF4zpcffSmWo3lKrCeWrYXfwBPmqY/Ho7Zh3/NmdqEIJaWtEyDroD61D5Lfl2yYAv8W5Q0UoOFUmOteJNzFrJBZoQjVpnen5seJkp64RaEFhLP8BdXeXC7yksk1LLSjl0vFCuBwnZfJUpgHNfVk2z/l4vq247HvqUNK8yQo1la3k6eqQJy4Q914AlZTrQbkonP0b054wSZLStXUgJ5YXKEEwlu2S11AdaEKEkyE+eKOmKTrQUrwiRhRu41r60Eg0yN/Ax5n5n4AKUY0IENlZfWiEhYg4/wCY9K4RXwESkpWjDqDyJ6bdxFPAQmsx+FagGTSUisrlgIs+xESpA0BFHwoE5AIu+lAphmAFuOhDcv6Zgk42RbHBQnN6nLgzHWds2RYvkFDGj6NoruEEohttcNDsONTZWAPK2fE9zm4NyWLwDAcd2PEaLTSgP2LWR87euX6v28s5BQeNxDhKNaBUDPURDgq59swgp/0AB8nTeajs1M3khYS85gNZNWMBVVhoIWq3V4ZWohRrLFS2pVbLC5O3DFjIETc2bK06XCUEoHgXRBw1aCtuows8VPo63SEnsnJ4CCLrmEilSY580RIAlO+9pyrzHJNlUIGgeZrYoZ1SPk1sHSVINslyQ8XC+WJCVX7io56DG0KeaJDtgSJUU0tBctLm9EQVah9HWPXyseMxefIclCGo0G0KmxU9noIGFG5t+fJlctHZuc3KSRzqQFC77VJgdmEtaMosGVKDFgSJ1cSPN2eYYdQ6VgCaEATEbqno4PSPrwk5rRcnoA1BHfFTq+gqD7rKcE9PreFxDZ+AIEzfralStyqy+Xi8mKYuJ50jfhWCLiQzZ/1V4v6fFgCfhSDxfOtyiFeDBtRPfnklPx4CXAcCZ7IkZ76b8KMJgD7Uz6ggvW9bOGFFCYCG0NY6ZcwllNs2Iy4n3qJ0ANCQWoJyMs9ms0O+O9+d/6/v+L4g85CpbQa/jG2cMLYVxNjmFmPbdUxtQDK2pcrUJjFT296MbeQztDXR7GZLY9tH/wJaqhlff2pFzgAAAABJRU5ErkJggg==";
2641
2642  var img$c = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAnFBMVEUAAAAAv8wAvswAv8sAv80AwdAAvsv////3/P35/f0Mwc39/v70/Pxt2eHw+/zu+vvl+PoGv8ys6u5R09spyNPX9fff9/gjx9Imx9KF4OYdxdEPws7p+frL8vQZxNDQ8/VX1Nwyy9UvydQTw8983uRe1t687vGy6++d5utH0NlFz9lx2+LH8POa5eqT4+k/ztil6OyO4uhm2OA6zddz/xLXAAAABnRSTlMA++WnfzGVrfkxAAADxUlEQVRo3u3abXeaMBQHcNuuNwnJglFB6wNK1epmrW33/b/bXC7bZeMAmdvlnJ7j/00hgj8DIb226Z1zf3d7A2y5ub277/l84lLI+uQd6CBn6Z6zP9Sn+94ddJK73i10ktveDXSSmx50lCt0ha7QFfpo0OjYV6q/H5XbGCC3l0qco+WeGhkg92xEEZ0UbRxQhA5GHbGRAYoWUpRi8nMbA0SO1vjjFYABIke+vOJGDBxQtCwc8xVgp32XOCByVue9z35HRaHQZQ4nNPvlDIETmiWFI9HhgNBR1J9ayK3boXCnHnqRMj39E7SuOASVHRz5l0NRyamHnMCMLoWiU5+cBgiK0aJGfwVl26fUyh9RRpDTBO1Q0v11OJS9SCMo5DRBs1Rhl56CoW9WlgR6fpohmMaaPlII9A2Pr/SnFsqm2DayeLCdBUF5lVH2C9RC0cIo4VDCC24eQqCo/4ciY7mfQj0ktBB6nvnWTSHNAqDPpnj/dP/gcxhGAPXQFPuc+IPcHKFNADRHRkyA0gSNDZ7w5puHuDdvhx7xSLuGQMglWgiafJ7x9FMrdDB0VhAE42Kspb595ff0sRV6w0s+C4cgLy7Cux9L+NT2W6EBHRcG0fhZ+Bee8JZlHJDr42Xw93VrffeG/x+iN9/6KU/5FzYs0BpvzMDvWNxmgWBJN4m2OaBdMcBpNCQ8ED4UpvwOPNADjmm//coH0Vl06VIeaFEMAJrtlixQMe/sStP/EwuEM6nxk53DL04PLFCCU5Cf377SLNEIveA57m+grSk9Oq/aQ49t0EH54/JQiIofeyjNQBaaIOq5tuFQpjT++vZX4YTQrhVyRnhp4AIhJ34rG/d45VatEBxlUQS9Db/45OtGKCtKv6XzJYdE1bVDmREYbWMfK5OVq4emplzaL7Rv3odUqu+mWhAvp7UQYBU0LldbchICwVFVJBVPaqG1sHaOHySa49EDCICosC1Hk1QZ3i7P3W9fDc0kEIJhalskgijuWVKN3wxRtjuprE+sSGqGdsWTkboQiDIbPf7IaSM1SQ3QJi5GzuOl38pH8U9p1AT1BWYFl0IwJqkBsjiyD3A5BBOS6qGBxoEQBIVLVSgSxpoNtEHhUv3w/roaQwgULrH+BXJMEi9Ekh0xQVVpCrDRHnIcEEnxcCuKapsDQgkBJahMZIBQwlBpwAHBeF6SdOJvEQPkJfXLETNsY4Fgmhh0TEqFBAcE7j01NjbpIaI2Bsgny/NKbz7yv0ev
26420BX6IFBXS6o6WyTW2bK3zhbydbU0sbvFlp0tH/0OpJspgKLrZusAAAAASUVORK5CYII=";
2643
2644  var img$b = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAsVBMVEUAAAAAv8wAvswAv8sAv80AwdAAvsv///8Fv8x53eRR09zu+/z6/v79//8kx9J/3uUrydT3/f70/P1Ez9kextEMwc4JwM237PCs6u5p2eFX1N0ZxNAQws7f9/kxytXa9vjE8POd5uuE4OY+ztiN4uhu2+JJ0Nrl+fo3zNYVw8/i+PnU9PbI8fSY5erA7/K67vGx6++I4ed13ONj19/p+vum6e2i5+xd1t5N0tvN8/aT4+lAZSgTAAAABnRSTlMA++WnfzGVrfkxAAAEnklEQVRo3u2a6VbaQBSAQeudQEIIZiGQEPZd2bSgvv+DtYc7k2k0mQVoTnuO378eQ79Z7iam8puH+7sq/DWqd/cPlTM/dC36rh9nD5TAb9NDFUqg+lC5h1K4r9xBKdxVqlAK1QqUxLfoW/SviwKnPq3tPz5Gh47rAXJzkXc69hrkD1pPeze4tSg6rEkeVlg3bigatxukEHMS3Ug0GxAxrWfvBiK7TeS0asaVIqPZ+nRQT+1weNxt+xbJ0HevEnlPf178YOQu+RLs7rBHOI3RFaI3k6Q8dWL4QjKZ8yc20aWiTiNdbpgUne2Jx/3KuUw0Ioy2AwK66a7MxSWiSbrQOojxJ2zrjwt9UY15BkuFVDPZnhxd0QvzDJVKjN1n2/f0RIlFo2AKasRbFp2Gjiju0Yx3QZlnaproiEKCdEEDVqve1EVvBBmBDv6aXlOgKgrowe1AD5vG3l5JxDN17YMmLoaQ5aiJlo8YCDZo08Ql/lQTjdgF6WP0MSlsFVGMJ90L4AJmNMtVRB189gUuYoDHHiuIsNfNjdxEbv6cGipb6shFNj55yL2CDSEkBCGYTAO5qInXGQFAwamOhaIDLtSTijbY6iCPd0KkW4oaeMUyUWAVh4JDh5RIIRyOMpFLdy7quU2FpJ3LRAdMotxQeKWiuTDwxvjQUiIaYg0R1HRZ9wjwksYS0aD4cMJUNAARPbxliei1cMlLi6Q4ItEWe4VEZBWmypRwnuU9/VksMopX/I63h/ObqFVN8EGxKP4U3bFbp3SoARvBFMvVW53h+p/ieycWRSiK+GCYZUhPsE//R445zo6eW7HIx0/ZPHOyjMHH/uvScOeseONU2BHghxJeyTP00rve4aVx+DF8YA2SiOh66Y5aJEstrXiNyCVZTKAcz//8kIh6mb71kv1t/D3gOT3aZj3WKds5mxJROzvWOtMap2uci1wX44+gj/6sYwPDxJyXiCa0HQkw5ugoeDCi1ywR0XQx5I0gr4TwDTcCkYg3t4WwiVrM81RYgd6lrfxV3tt4Ha8XFu+JVBSyzJf3NrKGryzwRzOp6IWdnXymIqfCk3v0pSK/lTfU5obMKidkfJPWbqkIsBFYnkjkn2+yUzzWzWQiPtR+iG+plb/p4JXNQHIRrFV+PVrWF4IUOyiJuizp9fHwgk1fSQR9FlPatNmEqSaq0y92El3Png6YvpKIL2y11PN0+XypKLJpwxsYOp4F/dQW5CKekMhRwxPR7mF66iJeNp9xTxrfbzXeQEcU96lpo3hPrsm/c9IRgc0mrZ6j4pmy4SIETREkjwR5rEs1wZBQNoa2CFxmImEk9sz6aceNQV8EC5OwTTVjKCTZ8VElgEtE4PRIqtp7Bftuk5SjAZeJIN6RlMbm5YtrsV/xB6wpgK6Ic7Ayf+kYTmd2DADGMuk2d2ZmLE/gGhE4G/KFFrNzrH0AMpGM05xI2ToAV4sg6KwkmjGAikiOcdo0iizmMAFQFsnxagMrxxJ2AwA9kRx/NgrXVuoYDKd8L9oiOUs7GS8cT1Aq/qu/lX+LvkX/l6isV6pKe0mstNfeSnuRr6xXE8t72bK010d/AQQIN3f3lf4mAAAAAElFTkSuQmCC";
2645
2646  var img$a = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAApVBMVEUAAAAAvssAv8wAvswAv8sAv80AwdAAvsv////5/f37/v79/v73/f0HwMwlx9K17PDx+/zo+fqY5eofxtHX9PaH4OY7zdft+vtQ0tsOwc7d9vgTw8+T4+ly2+IYxNDS8/bG8POg5+uN4uhs2eFk199g1t4xytXN8vXA7/K67fFI0NoqydP0/Pzh9/mv6++q6e193uRZ1d1Cz9ik6OyB3+V23OPZ9feaBTLJAAAAB3RSTlMA/Prlp38x8V/kKgAABD5JREFUaN7t2mlz2jAQBmByNJJWMtQ4Prnv+4b8/5/WoDUZE9up1qGeTsv7pVPa+BHr1QFx5T0vz08P7I/l4en5paLz45H94Tz+0A4rIe/SyyMrIY8vlWdWSp4rT6yUPFUeWCl5qLCScofu0B36V6FqcKpvZt3puueOvJARQoAaw43PpRL8PfpPOXG920NBDQTwT1F8dXRuCo0iCTwzAnrVm0HzCCTPjZDN8CZQY80heV2lQCh19ZK/uwE0tgWPA4Lbs35ruBsNtoeOkIrHkbL/bShQ8FGi2TB55629a8vLIGAWfg/aShkzy22bpbLvXppERNXvQJvLZaDZyGmUt7hRxE+vONSPHbn+YrgjP57DP52i0EjGt7rFvorTQUm8hcUgD+K7M2dfx1rH/7NWCHJ8MLjLmCO+d3CLQFgQ8I0WMxewygEdGsTlMFyga0JDtkWF2ksc4oiZJXzVknCpUBN/rs9M4/zECrRpUEPp9+NnVWJeP2b1cQtwaDTIxU4YZl2QS8UzBmCtdOupBgny9RuK8t4rZI17pyExoEBzmdusC30vapkTAs4/NKFAG125KPMglA/tcEZUCZC+mDgRIWuJtTOHxlzHIUKsJ861q5lDLd3cK0aFsHZLc6gH5xLUyVA7roQxNNG1HpKheFbMjSFcTTw6NNVTdmAMcZ2rVSvovmIiPGTFf3urXdWpDmfoaAo1ELKSm4bg2QEeJlcuda550xRycIdIvmRnKqmNYXuGoEeDIPkS5EKy+RmSvW+Ubspz4xUvncV1GldTSwGG49YLGMGD1HapXFOIYWONP/EYXL1n1iXXJwfd3i1j6FWPeUefRyvcXYyhjcQKUKEQj3cLUwibh0/IEO6XwjKG9ti4IRXq6+7uMmPIwqPJiAjhtFZHc4hNJQ6NBu3jiUWARqBrN6ZBa4H7JQEKdTeIGctZNmTWpujhlxwuBWIHXK33WYcqmdPBXTznOyRooRsVOpnH8lWU5QTY2xtGgi4fQ0bMNFYkceEiQmOpITU2hfDMKQ6MCMWfW8BumzlbwFZok6HQx5pPLBMnwLpBi5EhtgeupbWBtFc4qmmhj/8DiVLH+Z0zAHT8diGI1QVKvvd1v9VxRFJ4Rb+imaIEYsDyU+0KjmmxolAjEhypKGDZadfh4gi7WhRi4RQuX/1NvKx/PypkEhIZwjQlxwB/O11fx5ofPhiZkqgQGwJ8jJjbh1MwrradhTd0uyA1g/MaUhIVYp6dqA4oGaMqUTJxYvWURIaY5YLg+QHoVhm7lugQptrLpQSf4PkvJVEhjNP3JaQUqeQamzFDokMYKzj4XIjE3eLLWgtXp1yJDmEWw/5s5Suu7M6sd8KtKlNyCBA9KKVWcQJEl2RyayFAZEmxZAgQScr8tvj2EBtOOqn94u/9reUdukN36H+BynqkqrSHxEp77K20B/nKejSxvIctS3t89BeexFWlWRwk5gAAAABJRU5ErkJggg==";
2647
2648  var img$9 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAApVBMVEUAAAAAv8wAvswAv8sAv80AwdAAvsv////8/v74/f36/f4Hv8zX9fckx9Lp+fofxtGY5Ok7zdft+/tQ0tsRws8Lwc1z2+IYxNDE8POI4efz/Py87vF/3uUxytXl+Pm17PCh5+yT4+ls2eFDz9nd9viN4uhh1t7S8/av6++q6e3K8vSF4ObP8vVj198oyNPg9/im6Ox43eNl2N9b1d5Y1N1K0dqc5ut7OHYxAAAABnRSTlMA++WnfzGVrfkxAAAD9UlEQVRo3u3aaVPbMBAG4ATKaldO4tjxlfu+CVeh//+nlchL7YBJtSH1dNq8X5iBcR55tY5so8prbq6vqvDHUr26vqmYfJMqcuubcaCEvEo3VSgh1ZvKNZSS68oVlJKrShVKSbUCJeUCXaAL9K9C9VbUXHc3yWrUXnghCCKAgt3aV0havcb8xNutd36oNUSN6l1IDXruOSFnMUOtCkP4o342aHqPxQpT4+AsULxSeYeIkIgOfuU/nwHqD0hxUKtGdx49PX+f9EZLrSiz5l+GWvQ2ORq7Ozc/cdN2Q739EbvB16Ce4lCnFxfMXvJWVprVvwKt8XcT/lJDPuGOdzo0Ry7M6shwFz5fw379VGjBDEZwLO6S0nOqhadBHnJNpnA84QrTAg9Pglwf7WY56xlsnwLdUlp5FyyyxZRqyaEJF84DqwzTYQ1CKRR3lMkC7BLWtBlXWwqNyRw3B9u4nbQCsQyKjaMaglU0MqdEcxnUNhA+gX2cgTJSIIEc3zgzkOQ7mtpNJNBL1qyCLI10K4HWpt4zkOXZQOpOAJkOokch5KSHTeyhvjJxQZjRvhA4tIci03P3UofboWMPjfYHUFMMxVwJa2hjav0E4jQMNLWG0m8TTw4l3A2WkKNM4oO7oU2tMMODOjX1HtraQkEKhflFQ6vioAref3PR2BZy04+AXAaFyoeFobeH8McXIPwUwvz4Hw00EpbOgSxd9Wm896XTY2EzBAeXFmFR9OEX79g0Q9sWAjJQ/x1fnMM7B9PekTVUM8X/DuLcmwNb1tAauQLChLxOWEM94hVMFl4vybGGpmnjBlJobgaYgDXkkIEWMoYva+rZQ9DFPZQIHY8vLAG0QG5wUVamEAMQQGF6n9o94YRoK4HggXgJEyTRZmZdEdQ3Di4FTis9oTWIIBhqYeOFM55XIdRPDyPbfuB7TnoAIcTPLdiI7ZweDywWQwE/wm4c+wlSGIEYgik/W64spCkpvh7kUPYUu3R/50wwfWLxYznEN0/7kO8dZZwmpnUjD06DnIT49dnkSPnuEq3SRCCGOMGMeJJnLShO3ERiRzfqUiiTupol3BTVJewRMyxJoSxjxdGqFtUPK/vyQDpjWJJDnB1i7u3z6LHVr8funbdrJ1r9YrCBmSSGON4gN2wkZnW+ZPToNDNJDnHCLZL6PIjJ/sPzkhzi1EefUlrd8rvoA0kOcdy5j/qDgoQrbsYPkhziOK0HXxHlENUZRi5wCiU5xLl7mg/vfVLUWHZHES9VRZIrgeTJpASyCCC5hCFkEUBiiSAfASSUcAsHEUCC7DbLD+vF3/tfywt0gS7Q/wKVtaWqtE1ipW17K20jX1lbE8vbbFna9tGfpbEkz2i9HpUAAAAASUVORK5CYII=";
2649
2650  var img$8 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAn1BMVEUAAAAAv8wAvswAv8sAv80AwdAAvsv////4/f04zNYFv8zt+vv8/v7Z9ff0/Pzn+frf9/gsydQVw88bxdBp2eBY1N1T09w8ztc0y9Ulx9IPws7O8vWr6e5K0dogxtEJwc3S9Pa97vG47fCx6+/H8PPC7/Kk6Oyf5+uO4uiI4OZy2+JCztnx+/ya5eqB3+Ve1t7j+PmT4+h83uR33ONk199wOre6AAAABnRSTlMA++WnfzGVrfkxAAAC80lEQVRo3u3aSXfaMBQFYIZyBTKTR2wz2oEwhiQk//+3NUV6WLTp6cJ6Ol1wV4EsvmOkk/sU1PhKp91qgi3NVrvTuOYHn0LWj6sDB/mSOk04SLPTaMNJ2o0WnKTVaMJJmg04ygN6QA/ICTQ57F8D3IcBCkvxFS+CEQ5IToXKiwSFBfoQlHIJCge0EbdMaaFYoJOoMs6gwgF1hRFvAgoTNNRSNwGFB0pWWuofADBCvbwQOjuAE4J8Jmm2ZIWAPUmbnBdC1NfSYMELYU6bb5TyQkhHWhrOeSEsBrTNP3khBGuhc+aFsJyRtJWsEPBOUpnzQlVFTUNeCHGXesPnhTDxqt5gheCPqTdiXgjhVOgceCHkJUnvvBDklqSnJSsEnElaB7wQPm+9kfFCZm/wQmZvsEJmb0S8EPLbzLznhSBnJD1LVgjYkVTkvBAOtM1XIS+EhHrjzeeFqt44TXghZNQbo5AXQjClvccKBVkv9vQj2YZC/5hEl932aT1QBGVpGVqJ38P0RPFfoBdr0KvENYNvHS+wBR3Epwa/c1Y+6kM0pg7UT3JsCt3RajPbzSVsQDQn6FkuUkQRH9NFbrlh9+rz0QeLkdpm0v64RYWQ0HJdE1mHXoTOVD+Sp0Z9aRnailv0KHJRr17tQs+iykYPDCc11lmEaDSgTMzNIWJ7kHyiZlO1XeKaYEhrZgk6ltrxUv1k6d2Bdm4LGpPjw9dHCF0W6vdrSxBl5APQH6IPc8sfrUJvGQD07io7U2tW1IZWlTNeqLcKNWz/Uqtd36sLbYmp/nl2NBuuWrOaUDYkJwRlrYpBv0FrVhNCrKSN0Zzzu1Nyql5d6kJYbAdeEcGMmuGGgTmllvWg75NUJ6JkLVRmDBANJqcwqur8zAHRYNI3px8OiAaTKsMELBCie6fIALBA5iP1ZylUGCBMaH2GuwUoHBCSt+vf2Y8cVVggLOPz5SjxZ/7/L3wf0AN6QP+IsytVzi6JObv25uwin6urie4uWzq7PvoTA1gcp9niWMsAAAAASUVORK5CYII=";
2651
2652  var img$7 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAWlBMVEUAAAAAv8wAvswAv8sAv80AwdAAvsv///8Pws7Q8/VP0tuw6u4vydTw+/vv+vv1/P3e9vjG8POD3+VV09w/ztgWw88IwMzs+vu57fCq6e2i5+xt2eFp2eBa1N0bVuUsAAAABnRSTlMA+uWnfzGozdCBAAABDElEQVRo3u3aC66CMBCF4Q7Iab1Xxffb/W9TBZtqYpWoHcGcfwNfQlqSZsacKvJMkCzJ8sJU9QSJk17lQKGTVAgUksLkUCk3GVTKjEAlMVCKECFCPw45RPootNiUdnzATSkgN7bn9rgqCTS1VeUSoSTQ2tbNEUoC9S/QH0KEQMhHCIR8hEDIRwiEfITwy5CLNhnVzVysZWNosV3ZaAPU/dto/dkzKLwXXoJCu0bQ1L4Nla4JNHkfsvNWQR/5dK06DArHu9GFHdY9uLCt/AURIkToEiEQ8hECIR8hEPJ1G7o7BOn0WOfuoKrTo7fYMLHb41FChAh9CxKoJGpLYmprb2qLfFqriXrLlmrro0c+CAVx4/q+RAAAAABJRU5ErkJggg==";
2653
2654  var img$6 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAkFBMVEUAAAAAvssAv8wAvswAv8sAv80AwdAA2/8Avsv///9h1t75/f3H8PP9/v7L8fSF3+Y+zdf7/v4JwM3j+Plo2OAQws7u+vu/7vJR0tsix9
2654L0/P3R8/ae5uswytTb9vez6++u6u7q+fqI4OZ73eRY1N02zNYqydSn6O2Q4uh23ONu2uFI0NpDz9nD7/IZxNCK4efrtanHAAAACHRSTlMA/Prlp38xA5BBKAUAAAIJSURBVGje7drZjtowFIDhsM4xwWQn+8IOhZm+/9uV6rjVVKpyHJtYXfxfR/6I5FzYHOfZcj6bwGhNZvOl8723xRRGbrp4e0ILMNDCcZZTMNB06czBSHNnBkaaORMw0sQBQ1nIQhYaF8r942pgWZ0Mhc77iKnE0zgcACXXgCkXZdLQOWJaVZLQacs0a0MZ6GPHtKtkoJS9oCMNrZgousargd06l2HbhIQasU+9EBTK10I6UNCRYV9ArVBIOwq64HNrUK3muIJPQLjl+AmUqxDy+qGceiG6My6R9kM+PrUHjfB7L/uhjNwKdCVu8H5ohdBKB8J951roX4TidkOUeskLoEvAGZUbJdrQicnkHrShOJCBeKsN3eXe6KoNQenSTlDk+lBSbfnncBn+uSKtX/8d+biMB79mIQtZyEIWspCFLGQhC/2+kzg9jA6FLnvGH6NDELOAB62JM+yj6uK/+7BsIWPQRga6I3TTgRq8ZO6HaoQqoKK+aLbphxIufo564m6x64eg1L6CFCvEBLT/eROvWMywnIDOHJ97D9Ucv/hxz0xA0DGsyRSYj33AsDsJ1QETFeV6YE3ARO9AQnBj+m1zCQhabYdnIAOFnabjZkBC2NdAx4keIAtBnSozhReCHITlh7Qp3IHtNpejYP7E/8ot9L9BpkaqjA2JGRt7MzbIZ2o00dywpbHx0W/4CGtodLp8vQAAAABJRU5ErkJggg==";
2655
2656  var img$5 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAn1BMVEUAAAAAvssAv8wAvswAv8sAv80AwdAAvsv////0/PyL4ecSws5s2eGu6u7k+frQ8/Vh1t4Lwc0HwMz6/v502+L4/f4Vw889zth33OOo6e2b5uuW5OmF4OZ73eRa1d05zdckx9IcxdHr+vuC3+VR09wsydTh9/nZ9fey6++h5+x/3uUzy9XJ8fTA7/K37fBF0Nm97vGQ4+ln2ODU9PaS4+iKiZWvAAAAB3RSTlMA/Prlp38x8V/kKgAAApBJREFUaN7t2mmPokAQgGGvsQqP4RJQVC7xGs9x5v//tpWyk87uzoZWrM6a8HzSL74B1Ja2GlfdTrsJbJrtTrdB3lrArPVGHdDgWuq2QINWt9EBLTqNNmjRbjRBi2YDNKlDdagO1SH1kB+NevcbR/59ofiMjzrEd4Q+sYqpcmiD1RwVQz2s6lsptMTqdiqhCQqecS8PhY1CyDHEJU3hfuk3Es8uDwVItvCYEMmpPBQhiR8M7ZBY5aEBEv/BkI1kpBzq16E69DIhMLAQsYbkV6WR8of8A2KWA19IWgY28Iak1w85g0kYaAjZJl598oc+xAJuc4cOeGOmzCEThfedphAaOXNIGrOHzi6S0GEOWScDybnPHILlCsk6YQ6Bv0eSBcwhcCZIvIg1VFjgzYI7BJGHZOIwhyDIkOx95hAkaySrJXMI+mckxok5BE6IxI0ZQ0l+GfdCA4nJFXIA/FtDcHhCyQYA5ihlz7zjk6FdhhGA/S5D8yfew8pQbCCuHAALBbf3xLtyGZoYtO6Jp0crj22lfYYwgR84gn3l/LTCGj7AqVgq7tg5cT3PLeC/rPM/Q+LX3bE4k6WhpYvK4r9DbnJ7iXVpCGaKFXkl93iTeYg4FPsnVmkIhsqhDZAtklUyxavg9o4yy0PqO3YDcbY9umQppMWDfX9GZ98vD8Hu6KodkBB8obctvkzokDwkdlmI9PPRjCwKH4U5GZPR1SAAyYYCHZJw5N33nqKwT0FiCPkrypgWSCwhSIZGNgngN//FXwbaQ3k4LLW9VA9NUcmhamiHiqyKoYtqaFoxdFINjSqG4KDWWfWrhuye+V7qa+q/0OeoDtUhqEN1iI+2kSptQ2Laxt60DfLpGk3UN2ypbXz0F72CSzMm2iCFAAAAAElFTkSuQmCC";
2657
2658  var img$4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAqFBMVEUAAAAAv8wAvswAv8sAv80AwdAAvsv////t+vtx2uIbxdAFv8wjx9L4/f1M0drZ9ffP8/UTw8+e5uuS4+k2zNYHwMzl+PrV9PbD7/KI4OZ93uUpyNPq+frL8vS+7vKv6++p6e2i5+yY5epr2eFR0ttCz9j8/v7d9vi57fBm2OBf1t4vytQnyNMJwM3z/Pzg9/iD3+V43eNW1N3H8PM8zdcNws6M4ed13OOQ5B26AAAABnRSTlMA+uWnfzGozdCBAAADfUlEQVRo3u3a+VPiMBQHcI7lBZIe9KKclVoQkEMB0f//P1vFHO4ObfLqbJ2d6fc3xzw/mPYlqbbxnk671YR/lmar3Wlc8wur4K1fVwcqyLvUaUIFaXYabagk7UYLKkmr0YRK0mxARamhGqqhn4GikCJGl4eyAyFDC1uFhxbkI32GLMNDCblmiSzDQ9NPKEOW4aHuJ9SDL6mhH4a8qBLIcYmdeoXQKe6ene9CI/KRYRHUu349+hbkJYS3Zz50sck1a688RF3Ck+VDL2JMTHWQ3iFOPmTJQS4tB3nK6bN8CO6U5JWB2JCIzCgUQJeZHDhkJaB7WZ7ui/toP5dD7/HQoyx+068MRzn4EQvRrijtgR6CnhjdpUjoTjkmELyJ8Xc4yBF1vumi6stOQEF9cb9FplAkSvoYaMGLbMt8m9jZvGiBgMSnG2P2o2fxK5lDIS9ZRRgoWvGy0BgKeMUGt8NueFlgCjH+s6YMB0VT3kvMEFrKK4SDYCx2LyNIXVULC+144bMhdOYbGWAhiPkibgYx3hAjPDTi7ceMoIloPCykGn1nBDniEuEhS6x3ekgt+Qe4nVXRxnPI/RSN3Ile5UCpmJ1beVKXVw8Fhasw0Gtbvhau+oEeUoeFBPKk+/46b8ceqqODHvJFM2CjIB83dYjgp06tWE9oRd0MYz2kVvsHhnfYA99fUA07wUMTVMNSeRZERp06qREEU3HroOPzHRPMoDW/G0rfC2sjSJ2kX3CKeiY7GkI7zaOB9gFkYgiBy/cvinMo3zFdMIWeSanbwRdHBmOIPvCenaCaSFRRYwjmhc8gmiedOZhDYeEziOZJJ0RA8tMdJsYTd5CzgIEsW5zzPTPHW8knHRQEr4QnYSYOS8T4V8BB+1hUziO9E83F6HiPhGBrqz9n6Bw6E2PtLWAhyIjIICx2woEcmgEegkCW21kBwzJbDgwABam2lXFPeYNOrho1h3IQWxOV2fLWkOWMqKwZElJSSr4kPv7VIrtx/PX7KYNSkDqHqwzSt8XW8jxruzim8hZQ5+3yEDhdYpSuA9+DgCYmTkJBC2lzGuiYwQlAD+lzGU8LZ218AQRUmH3PzWPc3h4AAWkTBoMbcxaEAICE9LE2/rkrJ+zsb3hfISBEPGu7fNlaRfvh//cP3xqqoRr6M5W9UlXZS2KVvfZW2Yt8Vb2aWN3LlpW9PvobhVMftSFfeGQAAAAASUVORK5CYII=";
2659
2660  var img$3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAyVBMVEUAAAD///////////////////////////////8zMzM/Pz/c3NzCwsI6Ojo2Njb8/Pw4ODg8PDxCQkLt7e2ampqwsLD4+Pj09PSMjIyJiYlnZ2dhYWFTU1NPT09ISEioqKilpaVvb29sbGzS0tK5ubmmpqaFhYV8fHxKSkrx8fHq6urW1tbOzs7Ly8vExMStra2rq6uWlpZycnJLS0vm5ubGxsaSkpLIyMi/v7+ysrKioqKPj494eHh1dXVtbW1eXl7g4OCfn59bW1uBhrKlAAAACHRSTlMA+uWnfzED/pS6TTQAAAL/SURBVGje7dprU+IwFIBhbupJJW1apNwsXkBYUFAQ1ivr5f//qC1puidsZ+KgPZlhhvcTExyeSaikDCnEHZRLRSCrWCofFNYdVqgUtCqHMVQBC1XidSuChYoHhTJYqVwogZVKhSJYqVgAS+2hPbSH9tBOQaPH84/6eHOMAKoNhCNcR3R6OEYBXQeCqZagooB6PsMecTw/CB2MLyCOAupxpicG8RgFdKPm4wqRiAEABXTDlXM/Dj9dOaURAYROdwRQlZNzjgkgdMYQQw4VNNEcOggd0a0BJfSQzudXDSgh3aGElppDCU00hxLqaw4B9D6tn6+bdXx0cocaL13f4WIdU7n36OQGXfmcYejkDQ19ZnDyg+Yi4zgROrlBz25mOnzVgNyhmp/OgieK6LbilzNCYSuI+rDRojmsmqGBWrjT/sKTqXET1GJxVxt7/vrpuhFyJOM3ceRrKGDrzrR7MvlsZIJ68k/cDmwDRUx2989J5MAE9ZMXmG4F1VnS7YbDWgZIXXOithUEMyXJd+VYOe3QBJ0klxpsB8HvVEKn04DcIZTcJ80hgeBFSegQQdBkWm8NoIBQQocQglbqfI6AGsKr3MrSuY8kEDooVemgF6YnUCL6h60PlTSlgfAjyEulpRn6cCUUfv9D1XtNHvMHI/SUfJO7+f42gdK7CVoGct7Nn2x83orJBiYoFExW/clW7s3lwNAEwaWbvJfPIwNjujlBqWqEjrlaYdE9lXWG1fALKGwGp33Q82ZB9ARGCC6UhDlBHSD/O9Uwctn/+TMvfwgaTGSluZc/BGGbZyR+4eUHYZOI86xEAAEs7prz9ro3n6NEAGm1UKKF4BYlWgjOUaKF4CqV/ni0kC7RQrpEC8FZKl16tJAu0UFZaUoIobQ6UvsjH5NAKHUd9cADEgjupIRdxmMEUEbi1xBHAsGtjw7eT+UIocRTxseFo4Bgcu+4MeP4JzhGAsHRdNDuvPYboLfbP4/uoT20O5CtI1XWDolZO/Zm7SCfraOJ9g5bWjs++hf/oHqtqKJk0gAAAABJRU5ErkJggg==";
2661
2662  var img$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAA3lBMVEUAAAD///////////////////////8zMzPb29s3NzdYWFg6Ojr9/f329vb8/Pz4+PhPT0/v7+89PT3o6Ohubm7s7Ozk5OTT09ODg4NSUlLz8/Pf39+bm5uOjo54eHhra2tBQUHX19erq6t9fX1mZmZMTExJSUnCwsK4uLizs7Ourq6Hh4eAgIBhYWHGxsaTk5Nzc3NjY2Px8fHh4eHa2trPz8/MzMy7u7uoqKiRkZFeXl5DQ0M/Pz/JycnExMSfn5+Xl5eVlZVpaWm/v7+hoaGYmJhGRkakpKRwcHCLi4tOBDJdAAAABnRSTlMA++WnfzGVrfkxAAAFBklEQVRo3u2aaVfiMBSGi44JpRtQ9h2FUWQVUFldcET9/39oHG5iSkuSFpiemXN8P3lOYh56c7ekVT51dnoSQX9NkZPTM2WjHzLK4awfGw4KQZ+kswgKQZEz5RSFolPlBIWiEyWCQlFEQSHpG/QN+tdBVvR+Upq2P54fz5c2Ah0dZLc6ceyUNuv3jGOD0m8xvEvq4MU8IugupWKuauX0kUC9GyyW1raPAMqksFxayToQZJY0vKXFrFrpXAxWeZcx83cHgeyuc+O7T0u2HeboKrflhc/6/qDLGlunez5EHo3Lazajkd4XNGGLVMY827bymKpZ3A/0hKlSohX0q5903jy7D6iMiX6+ILGMMvWMZDY46JFybhI+Qm1Bo7cYFNSinJyvFFPM08e3g4HqxBjqBPnTsEpIMzMIqEAiROshv9JzhFQOAqpg0BXyL53mqkv/oBca7CiICnmyTYZfkNGE/xigYMqQRDL1C3qG+TFjRyK4vBYE750KHlT0B0okwRFGO4Zin8s88kklkrAEIG/qeUJetTcj/GeyiLeO/IAKEOVNa8c6Sf4egB4A1PEDOoe518ire5KUEF9dMPvQB2gGPmryw0szBSUMppzLQSOY+WuX29OyXkd8QTB15SBwHHVXtbzCROcC0C+YYktBjc28KtqhAQVdCEA2TGnJQJbKdYWCRkFxJNAN/BYZaAlLZXglCiSqha/gTDIQmLiJdijFQJei/pn8Fgkox80hQ5WB+gKQBVNuJSCw8KvYcriBBGrCLktAa27Bg
26621oN4ZzUBSCY2JeAVO9zgxIw8gDpbiwAgfVzYpAJpokij66hRTRX0pAtg3+LQQmudwOgTYpIR+rf72JQGkBpyo1S3YLl7kghyNP0F2XKbLWeVTGo4CxcQ88ZbK2jhCNMjA7gieJZRycwEIN0Z3q+wG61IT3TkH13Df/cFMsPyR6BNGKhP6phJhaFna9Cv/SMZ9nva0tAcYg28rdLeVaBVxDcLhVZkS1JQCnS1rIlmbRNeI1pyN55OCmHIe4loLLTZa5SMaZZrgjbmCShtgJijOrm1XI47lgCuob/Fp1VGmDdLCz4xulgDAkoSneVrz6ELBh5buzu/WLSUj4nWylrdIhLetvWOOyyFFQh/sVXAjMtCu5RYtEHKagltJ3b7V85XbNmiEGsBckJQCxjJD0dqVHj9EkKpx1VbT6IxVef19b1ZCDWp3/wQXXK0RKehmENSU8Xg0AxWCTDBZka91xc4jbUCrfzrcpCFmuevjmjgesbvkB6XHYkn9Ki4ZJexdwoVPiHcq3ODVmOv/QFx3JF0JM2wTS8Z55ybA6JWw5ipsZdi0PKNLBW1t05QRNtrsKLFEmzY3jye5pc29XsACBUCXC3BRrl2QEgAKhA81kDYtL/jd004H3daI5BzagfzoT2XQM9IAjVkzRxvkgxVg4TNazgd6pLSsIVW8x5+Kobs8I+t8TZ+Vc1KA0FKXbAuiBjv3vvYpMVnn5md+guHW3zhbnvTX7C2fM2rm03JdtvsnF1cshLkLftLj436WUKOkJWYnxfel9sjdUPe60TvcEeaZTOpE6Ng19UtdZYqlURoYNByJo0xZjqLTrSOz6z1eBSFjnYnMNBIPuxq3op88q9hdDxQCCj9zzIf9Fq3c4bnBiODQLp6Uz9Nhu1Xbnmv31X/g36Bv1foLA+qQrtI7HQPnsL7UO+sD5NDO9jy9A+H/0NycNHk3RuOUIAAAAASUVORK5CYII=";
2663
2664  var img$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAolBMVEUAAAAAv8wAvswAv8sAv80AwdAAvsv////v+/v1/P1N0dosydP8/v4Ev8z5/f33/f3x+/x+3uTs+vsWw88Pws6z6++U4+lh1t5l2ODh9/m37PCP4uhy2+Ju2uFq2eFI0Nrk+PnF8PO97vFDz9g1zNbe9vit6u6k6OxX1N08zdcKwM3W9PaF4OYYxNDK8fSZ5eocxdHZ9fcqyNOK4ecjx9LQ8/U2dbEYAAAABnRSTlMA++WnfzGVrfkxAAAC0klEQVRo3u3aa2/aMBiGYSjjMabOoSEQBrThfFpbKN3+/19bY9geOkup6PxGqsT9KRIoF7EgNoprbzUbN3WIVb9pNGu2b1IKrW/WQQW9Sc06KqjerDVQSY3aDSrpplZHJdVrqKgrdIWu0BX6UlC6Ht1le7xLAOrsolYUxnqyAROA5kmkbEblYN6heaxYG8wbRIfpn2BeoY1W50U7MJ/Q5nQ9RkdHMQH8Q7yecLHfPhs7dh0BiM44Bdr24loHAYjOE96gloVu/UOzM0cGch1BiM536whAriMJ5X+dDiShmePIQOszRwA65P1R0ePEcTxC6es4bumoyCg63qH7WCtGxze0ilWJ4w/qRo4Tv9DxBo3Mv4zRyxTeoY4+nT3WxhaNewegFNr2kpc13rXvrdrl0O40cL/W+8AGWynUK47vcda8eDkrhVqWiYdgH0KJokRHLUqg01vMBJdAC2V7eH8SlZRB6+MUnV8EZepYH7bbRNl6ZdAotOuozkUQHinRmW7LoDtVZHARRCmjM6HjEcKrspns8MdJIQJheJLoeIcosWc63iH0HEcCokRHHsrARIcubIOJfBkoiUF0KMn+YFfKFuVgMrcgSuWQsVDw6ZsqpVkplB2nic1/TBPB0v3P7kK5PUE0/PzER6lXBgWRsrU/PZVTWpVBGBhVFI5SsEsXJ0HXfthS6FYrmw7HP2yTVTv4ANoOT8stSo/JIkMphO5RYqaV9AH/K9XtwrhL4jsBCKkKXakrAGE71Y6kux4hNnuJtCMFHiG2fxgup0XPWlPyCbkNKclC6FOShXBPSQpyJVmI0iCQglxJFsIDJSnIlYQgVwKQx3IQpSUwCO3RkwhEadxStiiAd4gSMwMwXxDvRkzPwfxBrrQD8wa5UsyBk4AwW7RMwTjrCF8Qy3fTyXKd4ryv/Xj0Cl2hrwNVtaWqsk1ilW17q2wjX1VbE6vbbFnZ9tHfnZ0j0oLHnMYAAAAASUVORK5CYII=";
2665
2666  var img = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAMAAAAqwkWTAAAAq1BMVEUAAAAAv8wAvswAv8sAv80AwdAAvsv///8uytQMwc4HwMzR8/YTw8/6/f39/v7d9vg2zNYjx9L3/P3r+vvC7/K47fCD3+a07O+I4OZY1N1H0NkexdEZxNCt6u6d5uuX5Op+3uX1/Pzl+PrY9ffH8POi5+xm2OApyNPz+/zh9/l33ONM0drv+/uN4udr2eE9zte97vFf1t5x2+JCz9in6O1R09yQ4+jK8fTO8vXaeG6JAAAABnRSTlMA++WnfzGVrfkxAAAExklEQVRo3u2aa3OiMBSGtd2eAAUBL4iCiPda71rb/f+/bLtNSOjG5IB1md2Zvh86nTHyJOfkXIipvevh/q4Of031u/uH2od+YJSvs358cKACvZMe6lCB6g+1e6hE97U7qER3tTpUonoNKtI36Bv0r4Ms43xMw+Fr8DzvR0B1c1B0mLkNklPzLeybtwbFx0dySc7gbN0QtOs2iFKtTXwjUL9N9GoOoxuA/C7B1UytL4KstEk+af3WGSSzwX7ikE+anL4EiqZ5x0+DU5xbai9xiVAj+AJotSZc060NkozNWIxox9eCtg0+3YEBCh0mnLRcXAcK+BM6C9Cox1fV8q4BbfhEz6CXucmWPvLKg5656e0CobbO1rQoCzpknKRQillMsuVH5UCew3bBEYrJ7mS70yoDMl0W8X0orCEjbcqABoSqByWU5apVcdCZUAVQRuaEucksCjKX9BsDKCe/Rb8X
2666akFypD6aIMlazTXBe3JoUlwUA9kjuhH8Cx/9fH/Ms5qU0im+oKD8ggLVzmqo12S5NCj8IiBzTV1qXXjOE/OBUn0W5UVAWzp2rt6NbVBrSs1uIyAxdGypw2ukK2FsmjjIpyMvedzMyrqnIdFgmuKglLozBlk9wrRVUUTWj1BQm5Y6XWIiMw0oprXpgIEsh9pYZzniqihipjMMdKKP8hUliskGrAMYY6Bn9ZS7ArTS9c9sLggoUeYQ2xGgUAOyqJN2CIhaONVbjuxBoyX1MgIaKwserdVvH3+fVBAxMERADl230nJ9mu4MtKYP9SCLqJ4zp+0U7NGQ3VA360G2Iq6BAYYQsDDBilJXD4opKM64RqYd3UsnljUnWRAvDC7/U4R09CBTxKvo1YTGfM32x+jEITm5Xi5iB8hmyPtoRv7UkKfn1R8hnKstr9S4CGjELPRbLQm04/iAl9O8PDG/IQJyabSJ//OaiO2358Gd10JUzhQBUWtseFHPa/QRXkYWsjuJ080ZooeAXvNbptd5FHpLFnnrGrCnRD6gHVi5jWsgoDmaYhhg7tEHHi/X4YaJgAy8KwhpR0WN3DIvZ6CfgICYhVO00VmrmhiXehkFvbD9pZZNhNbSgphFVyjogNvOFaBAkbtHJgLiLUiiAYmM8WQrGuoXQEDcdk6kBon4ClVtXR8DicTyqgYZPIKlBVnjLPniIHiUX4+khKiaTKpsqGvKzreD9YikGUuNe1MEFw4CF3slD3nRkPsSEYU46Mw8YOhD1okUExibWpDcky5jbSSFCptzU+Agv6k/bgG/TUZSkvGaknMxEGzR9xNTmkM8ZgdcEQ6SX4WGFhSUP2HHVCsoAzJdxWkdemK3AQUIOW4hrlGEc2yw4YPSJ5DeU5Y4zyjGSvhxpVUaBKcRYXqJEbPxujE1rzkl9lq8GqQaTxmijeyY1517L5ai8ISRYt0CQ2bWtSf5du4pjfZcYnnhUgxwtl/5EeT4uYtPjn3f/O192+il3bXU4V8PAqNNJDU5ncsJTcBAmA5jgmq/AEBBqKztUo/p7AAKgXDUYd9QUdaJcA4OwhU9Tx2Z0hr0LIByIFxmPxhMHM6YJkckDSIgRLFv7DwjklLFf/pb+TfoG/R/gaq6UlXZJbHKrr1VdpGvqquJ1V22rOz66C+wOzeLd8XkIgAAAABJRU5ErkJggg==";
2667
2668  var topBarHtml = function topBarHtml(namespace) {
2669    return "<div class='topbar-html-content' id='".concat(namespace, "-topbar-html-content'>\n        <div id='").concat(namespace, "-reset' class='topbar-html-content-item'>\n          <span>\u91CD\u7F6E</span>\n          <img src='").concat(img$n, "' source-src='").concat(img$n, "'  hover-src='").concat(img$d, "'></img>\n        </div>\n        <div id='").concat(namespace, "-audio' class='topbar-html-content-item topbar-html-margin0'>\n          <span>\u58F0\u97F3\u5F00\u5173</span>\n          <img src='").concat(img$m, "' name='audio' source-src='").concat(img$m, "'  hover-src='").concat(img$c, "'    selected-src='").concat(img$3, "'   selected-hover-src='").concat(img$1, "'></img>\n        </div>\n        <div id='").concat(namespace, "-audio-speed' class='topbar-html-content-item topbar-html-mright'>\n          <span>\u8BED\u901F</span>\n          <img src='").concat(img$l, "' name='speed' source-src='").concat(img$l, "'  hover-src='").concat(img$b, "'  selected-src='").concat(img$2, "'   selected-hover-src='").concat(img, "'></img>\n        </div>\n        <div id='").concat(namespace, "-zoom-out' class='topbar-html-content-item'>\n          <span>\u653E\u5927</span>\n          <img src='").concat(img$k, "' source-src='").concat(img$k, "'  hover-src='").concat(img$a, "'></img>\n        </div>\n        <div id='").concat(namespace, "-zoom-min' class='topbar-html-content-item topbar-html-mright'>\n          <span>\u7F29\u5C0F</span>\n          <img src='").concat(img$j, "' source-src='").concat(img$j, "'  hover-src='").concat(img$9, "'></img>\n        </div>\n        <div id='").concat(namespace, "-cursor-auto' class='topbar-html-content-item topbar-html-margin0'>\n          <span>\u9F20\u6807\u6837\u5F0F</span>\n          <img src='").concat(img$i, "' source-src='").concat(img$i, "'  hover-src='").concat(img$8, "'></img>\n        </div>\n        <div id='").concat(namespace, "-pointer-follow' class='topbar-html-content-item'>\n          <span>\u5341\u5B57\u7EBF</span>\n          <img src='").concat(img$h, "' source-src='").concat(img$h, "'  hover-src='").concat(img$7, "'></img>\n        </div>\n        <div id='").concat(namespace, "-bigtext' class='topbar-html-content-item topbar-html-mright'>\n          <span>\u5927\u5B57\u5E55</span>\n          <img src='").concat(img$g, "' source-src='").concat(img$g, "'  hover-src='").concat(img$6, "'></img>\n        </div>\n        <div id='").concat(namespace, "-pointeread' class='topbar-html-content-item topbar-html-mright'>\n          <span>\u6307\u8BFB</span>\n          <img src='").concat(img$f, "' source-src='").concat(img$f, "'  hover-src='").concat(img$5, "'></img>\n        </div>\n        <div id='").concat(namespace, "-close' class='topbar-html-content-item'>\n          <span>\u9000\u51FA\u670D\u52A1</span>\n          <img src='").concat(img$e, "' source-src='").concat(img$e, "'  hover-src='").concat(img$4, "'></img>\n        </div>\n      </div>");
2670  };
2671
2672  var TopBar = {
2673    init: function init(core) {
2674      var namespace = core.config.namespace;
2675      this.namespace = namespace;
2676      core.creatStyle('topbar-style', styles$4);
2677      core.creatHtml('topbar-html', topBarHtml);
2678    },
2679    setEvents: function setEvents(core) {
2680      var _this = this;
2681
2682      var namespace = core.config.namespace;
2683      var BtnClose = document.getElementById("".concat(namespace, "-close"));
2684      var BtnReset = document.getElementById("".concat(namespace, "-reset"));
2685      var HoverItem = document.getElementById("".concat(namespace, "-topbar-html-content"));
2686
2687      BtnClose.onclick = function () {
2688        core.close();
2689      };
2690
2691      BtnReset.onclick = function () {
2692        location.replace(location.href)
2693        core.resetAction();
2694      };
2695
2696      if (isFirefox()) {
2697        document.getElementById("".concat(namespace, "-zoom-out")).style.display = 'none';
2698        document.getElementById("".concat(namespace, "-zoom-min")).style.display = 'none';
2699      }
2700
2701      [].forEach.call(HoverItem.children, function (el) {
2702        addEvent(el, 'mouseover', _this.mouseOver);
2703        addEvent(el, 'mouseout', _this.mouseOut);
2704      });
2705    },
2706    mouseOver: function mouseOver(event) {
2707      var event = window.event || event;
2708      var target = event.target || event.srcElement;
2709
2710      if (target.tagName !== 'IMG') {
2711        return;
2712      }
2713
2714      var __name = target.getAttribute('name');
2715
2716      var __hover = target.getAttribute('hover-src');
2717
2718      if (__name == 'audio') {
2719        if (cookie.get('audio', TopBar.namespace)) {
2720          target.src = __hover;
2721        } else {
2722          target.src = target.getAttribute('selected-hover-src');
2723        }
2724      } else if (__name == 'speed') {
2725        if (cookie.get('speed', TopBar.namespace) == 'fast') {
2726          target.src = target.getAttribute('selected-hover-src');
2727        } else {
2728          target.src = __hover;
2729        }
2730      } else {
2731        target.src = __hover;
2732      }
2733    },
2734    mouseOut: function mouseOut(event) {
2735      var event = window.event || event;
2736      var target = event.target || event.srcElement;
2737
2738      if (target.tagName !== 'IMG') {
2739        return;
2740      }
2741
2742      var __name = target.getAttribute('name');
2743
2744      var __source = target.getAttribute('source-src');
2745
2746      if (__name == 'audio') {
2747        if (cookie.get('audio', TopBar.namespace)) {
2748          target.src = __source;
2749        } else {
2750          target.src = target.getAttribute('selected-src');
2751        }
2752      } else if (__name == 'speed') {
2753        if (cookie.get('speed', TopBar.namespace) == 'fast') {
2754          target.src = target.getAttribute('selected-src');
2755        } else {
2756          target.src = __source;
2757        }
2758      } else {
2759        target.src = __source;
2760      }
2761    }
2762  };
2763
2764  var aPossiblePrototype = function (it) {
2765    if (!isObject(it) && it !== null) {
2766      throw TypeError("Can't set " + String(it) + ' as a prototype');
2767    } return it;
2768  };
2769
2770  /* eslint-disable no-proto -- safe */
2771
2772
2773
2774  // `Object.setPrototypeOf` method
2775  // https://tc39.es/ecma262/#sec-object.setprototypeof
2776  // Works with __proto__ only. Old v8 can't work with null proto objects.
2777  // eslint-disable-next-line es/no-object-setprototypeof -- safe
2778  var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
2779    var CORRECT_SETTER = false;
2780    var test = {};
2781    var setter;
2782    try {
2783      // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2784      setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
2785      setter.call(test, []);
2786      CORRECT_SETTER = test instanceof Array;
2787    } catch (error) { /* empty */ }
2788    return function setPrototypeOf(O, proto) {
2789      anObject(O);
2790      aPossiblePrototype(proto);
2791      if (CORRECT_SETTER) setter.call(O, proto);
2792      else O.__proto__ = proto;
2793      return O;
2794    };
2795  }() : undefined);
2796
2797  // makes subclassing work correct for wrapped built-ins
2798  var inheritIfRequired = function ($this, dummy, Wrapper) {
2799    var NewTarget, NewTargetPrototype;
2800    if (
2801      // it can work only with native `setPrototypeOf`
2802      objectSetPrototypeOf &&
2803      // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
2804      typeof (NewTarget = dummy.constructor) == 'function' &&
2805      NewTarget !== Wrapper &&
2806      isObject(NewTargetPrototype = NewTarget.prototype) &&
2807      NewTargetPrototype !== Wrapper.prototype
2808    ) objectSetPrototypeOf($this, NewTargetPrototype);
2809    return $this;
2810  };
2811
2812  var SPECIES = wellKnownSymbol('species');
2813
2814  var setSpecies = function (CONSTRUCTOR_NAME) {
2815    var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
2816    var defineProperty = objectDefineProperty.f;
2817
2818    if (descriptors && Constructor && !Constructor[SPECIES]) {
2819      defineProperty(Constructor, SPECIES, {
2820        configurable: true,
2821        get: function () { return this; }
2822      });
2823    }
2824  };
2825
2826  var defineProperty = objectDefineProperty.f;
2827  var getOwnPropertyNames = objectGetOwnPropertyNames.f;
2828
2829
2830
2831
2832
2833  var enforceInternalState = internalState.enforce;
2834
2835
2836
2837  var MATCH = wellKnownSymbol('match');
2838  var NativeRegExp = global_1.RegExp;
2839  var RegExpPrototype$1 = NativeRegExp.prototype;
2840  var re1 = /a/g;
2841  var re2 = /a/g;
2842
2843  // "new" should create a new object, old webkit bug
2844  var CORRECT_NEW = new NativeRegExp(re1) !== re1;
2845
2846  var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;
2847
2848  var FORCED$1 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {
2849    re2[MATCH] = false;
2850    // RegExp constructor can alter flags and IsRegExp works correct with @@match
2851    return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
2852  })));
2853
2854  // `RegExp` constructor
2855  // https://tc39.es/ecma262/#sec-regexp-constructor
2856  if (FORCED$1) {
2857    var RegExpWrapper = function RegExp(pattern, flags) {
2858      var thisIsRegExp = this instanceof RegExpWrapper;
2859      var patternIsRegExp = isRegexp(pattern);
2860      var flagsAreUndefined = flags === undefined;
2861      var sticky;
2862
2863      if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
2864        return pattern;
2865      }
2866
2867      if (CORRECT_NEW) {
2868        if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
2869      } else if (pattern instanceof RegExpWrapper) {
2870        if (flagsAreUndefined) flags = regexpFlags.call(pattern);
2871        pattern = pattern.source;
2872      }
2873
2874      if (UNSUPPORTED_Y) {
2875        sticky = !!flags && flags.indexOf('y') > -1;
2876        if (sticky) flags = flags.replace(/y/g, '');
2877      }
2878
2879      var result = inheritIfRequired(
2880        CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
2881        thisIsRegExp ? this : RegExpPrototype$1,
2882        RegExpWrapper
2883      );
2884
2885      if (UNSUPPORTED_Y && sticky) {
2886        var state = enforceInternalState(result);
2887        state.sticky = true;
2888      }
2889
2890      return result;
2891    };
2892    var proxy = function (key) {
2893      key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
2894        configurable: true,
2895        get: function () { return NativeRegExp[key]; },
2896        set: function (it) { NativeRegExp[key] = it; }
2897      });
2898    };
2899    var keys = getOwnPropertyNames(NativeRegExp);
2900    var index = 0;
2901    while (keys.length > index) proxy(keys[index++]);
2902    RegExpPrototype$1.constructor = RegExpWrapper;
2903    RegExpWrapper.prototype = RegExpPrototype$1;
2904    redefine(global_1, 'RegExp', RegExpWrapper);
2905  }
2906
2907  // https://tc39.es/ecma262/#sec-get-regexp-@@species
2908  setSpecies('RegExp');
2909
2910  var TO_STRING = 'toString';
2911  var RegExpPrototype = RegExp.prototype;
2912  var nativeToString = RegExpPrototype[TO_STRING];
2913
2914  var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
2915  // FF44- RegExp#toString has a wrong name
2916  var INCORRECT_NAME = nativeToString.name != TO_STRING;
2917
2918  // `RegExp.prototype.toString` method
2919  // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
2920  if (NOT_GENERIC || INCORRECT_NAME) {
2921    redefine(RegExp.prototype, TO_STRING, function toString() {
2922      var R = anObject(this);
2923      var p = String(R.source);
2924      var rf = R.flags;
2925      var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
2926      return '/' + p + '/' + f;
2927    }, { unsafe: true });
2928  }
2929
2930  var audioTabText = {
2931    pointeread: '已开启指读模式',
2932    bigtextOpen: '大字幕已开启',
2933    bigtextClose: '大字幕已关闭',
2934    pointerFollowOpen: '十字线已开启',
2935    pointerFollowClose: '十字线已关闭',
2936    cursorAutoOpen: '大鼠标已开启',
2937    cursorAutoClose: '大鼠标已关闭',
2938    zoomOut: '页面已放大',
2939    zoomOutEnd: '页面已放到最大',
2940    zoomMin: '页面已缩小',
2941    zoomMinEnd: '页面已缩至最小',
2942    speedQuick: '语速已加快',
2943    speedMiddle: '语速已正常',
2944    audioOpen: '声音已开启',
2945    audioClose: '声音关闭',
2946    reset: '已重置'
2947  };
2948  var symbolsReg = new RegExp("[]");
2949
2950  var styles$3 = ".bigtext-html {\n  z-index: 99999999999;\n  height: 200px;\n  text-align: center;\n  position: fixed;\n  bottom: 0;\n  right: 0;\n  left: 0;\n  border-top: 1px solid #505050;\n}\n.bigtext-html-content {\n  height: 200px;\n overflow-y: scroll;\n  background-color: #FFFFFF;\n  font-size: 30px;\n  color: #333 !important;\n  text-align: center;\n  font-weight: bold;\n}";
2951
2952  var BigTextHtml$1 = function BigTextHtml(namespace) {
2953    return "<audio autoplay id='".concat(namespace, "-audio-media'>\n               <source src='' id='").concat(namespace, "-audio-source'>\n               <embed height=\"0\" width=\"0\"  src='' id='").concat(namespace, "-audio-embed'>\n        </audio>\n        ");
2954  };
2955
2956  var Audio = {
2957    init: function init(core) {
2958      var _core$config = core.config,
2959          namespace = _core$config.namespace,
2960          url = _core$config.url;
2961      this.body = document.body;
2962      this.namespace = namespace;
2963      this.AudioApi = url;
2964      core.creatStyle('audio-style', styles$3);
2965      core.creatHtml('audio-html', BigTextHtml$1);
2966      this.isAudio = cookie.get('audio', namespace);
2967    },
2968    setEvents: function setEvents(core) {
2969      var namespace = core.config.namespace;
2970      this.registeDom(namespace);
2971      this.toggleAudio();
2972
2973      if (this.isAudio) {
2974        this.addEventMove();
2975        addEvent(document, 'click', this.forceSafariPlayAudio); // 苹果浏览器需要用户跟浏览器有个交互才可以播放语音
2976      } else {
2977        this.audioTabImg.src = this.audioTabImg.getAttribute('selected-src');
2978      }
2979
2980      if (this.speed == 'fast') {
2981        this.speedTabImg.src = this.speedTabImg.getAttribute('selected-src');
2982      } else {
2983        this.speedTabImg.src = this.speedTabImg.getAttribute('source-src');
2984      }
2985    },
2986    registeDom: function registeDom(namespace) {
2987      this.audio = document.getElementById("".concat(namespace, "-audio-media")) || '';
2988      this.audioTab = document.getElementById("".concat(namespace, "-audio")) || '';
2989      this.audioTabImg = this.audioTab.getElementsByTagName('img')[0];
2990      this.speed = cookie.get('speed', namespace);
2991      this.speedTab = document.getElementById("".concat(namespace, "-audio-speed")) || '';
2992      this.speedTabImg = this.speedTab.getElementsByTagName('img')[0];
2993      this.pointeReadTab = document.getElementById("".concat(namespace, "-pointeread")) || '';
2994    },
2995    toggleAudio: function toggleAudio() {
2996      var _this = this;
2997
2998      var namespace = Audio.namespace;
2999
3000      this.audioTab.onclick = function () {
3001        if (_this.isAudio) {
3002          _this.closeAudio();
3003        } else {
3004          _this.showAudio();
3005
3006          Audio.playAudio(audioTabText.audioOpen);
3007        }
3008      };
3009
3010      this.speedTab.onclick = function () {
3011        if (_this.speed == 'middle') {
3012          _this.speed = 'fast';
3013          _this.speedTabImg.src = _this.speedTabImg.getAttribute('selected-src');
3014          Audio.playAudio(audioTabText.speedQuick);
3015        } else {
3016          _this.speed = 'middle';
3017          _this.speedTabImg.src = _this.speedTabImg.getAttribute('source-src');
3018          Audio.playAudio(audioTabText.speedMiddle);
3019        }
3020
3021        cookie.set('speed', _this.speed, namespace);
3022      };
3023
3024      this.pointeReadTab.onclick = function () {
3025        _this.showAudio();
3026
3027        Audio.playAudio(audioTabText.pointeread);
3028      };
3029    },
3030    showAudio: function showAudio() {
3031      var namespace = Audio.namespace;
3032      this.isAudio = true;
3033      this.addEventMove();
3034      cookie.set('audio', true, namespace);
3035      this.audioTabImg.src = this.audioTabImg.getAttribute('source-src');
3036    },
3037    closeAudio: function closeAudio() {
3038      var namespace = Audio.namespace;
3039      this.isAudio = false;
3040      this.audio.pause();
3041      this.removeEventMove();
3042      cookie.set('audio', false, namespace);
3043      this.audioTabImg.src = this.audioTabImg.getAttribute('selected-src');
3044    },
3045    addEventMove: function addEventMove() {
3046      addEvent(this.body, 'mouseover', this.mouseOver);
3047    },
3048    removeEventMove: function removeEventMove() {
3049      removeEvent(this.body, 'mouseover', this.mouseOver);
3050    },
3051    forceSafariPlayAudio: function forceSafariPlayAudio() {
3052      var audio = Audio.audio;
3053      audio.load();
3054      audio.play();
3055    },
3056    mouseOver: function mouseOver(event) {
3057      var event = window.event || event;
3058      var target = event.target || event.srcElement;
3059
3060      var __text = parseTagText(target).replace(symbolsReg, '');
3061
3062      var __parentNodeId = target.parentNode.id;
3063
3064      var __isAssist = __parentNodeId.indexOf(Audio.namespace) > -1;
3065
3066      if (__text == '' || trim(__text) == '文本' || __isAssist) {
3067        return;
3068      }
3069
3070      Audio.playAudio(__text);
3071    },
3072    playAudio: function playAudio(text) {
3073      var namespace = Audio.namespace,
3074          AudioApi = Audio.AudioApi,
3075          isAudio = Audio.isAudio,
3076          audio = Audio.audio,
3077          speed = Audio.speed,
3078          forceSafariPlayAudio = Audio.forceSafariPlayAudio;
3079
3080      if (!isAudio) {
3081        return;
3082      }
3083
3084      var __speed = speed == 'middle' ? 5 : 7;
3085      //第一步:创建需要的对象
3086       let url = window.location.protocol+"//"+window.location.host + '/site-service/c/site/getBaiDuAccessToken'
3087        var httpRequest = new XMLHttpRequest();
3088        //第二步:打开连接 /***发送json格式文件必须设置请求头 ;如下 - */
3089        httpRequest.open('POST', url, true); 
3090        //设置请求头 注:post方式必须设置请求头(在建立连接后设置请求头)
3091        httpRequest.setRequestHeader("Content-type", "application/json");
3092        httpRequest.send(); //发送请求 将json写入send中sss
3093        httpRequest.onreadystatechange = function () {//请求后的回调接口,可将请求成功后要执行的程序写在其中
3094          if (httpRequest.readyState === 4 && httpRequest.status === 200) {//验证请求是否发送成功
3095            var json = JSON.parse(httpRequest.responseText);//获取到服务端返回的数据
3096            let stringLeng = json.data.accessToken;
3097            let stringArray = [];
3098            for (let index = 0; index < stringLeng.length; index++) {
3099             const element = stringLeng[index];
3100             if(element == 0 || element == 1){
3101               stringArray.push(element)
3102             }
3103            }
3104            let str = binaryToString(stringArray.join(''))
3105                var AudioParam = `cuid=baike&lan=zh&tok=${str}&ctp=1&vol=9&rate=32&per=0&spd=`.concat(__speed, "&tex=").concat(encodeURI(text));
3106                 var AudioUrl = "".concat(AudioApi, "?").concat(AudioParam);
3107                 audio.src = AudioUrl;
3108                 document.getElementById("".concat(namespace, "-audio-source")).src = AudioUrl;
3109                 document.getElementById("".concat(namespace, "-audio-embed")).src = AudioUrl;
3110                 var playPromise = audio.play();
3111
3112                 if (playPromise) {
3113                   playPromise.then(function (_) {
3114                     // audio.pause();
3115                     removeEvent(document, 'click', forceSafariPlayAudio);
3116                   }).catch(function (error) {
3117                     console.log(error);
3118                   });
3119                 }
3120          }
3121        };
3122    },
3123    reset: function reset() {
3124      var namespace = Audio.namespace;
3125      this.closeAudio();
3126      this.speedTabImg.src = this.speedTabImg.getAttribute('source-src');
3127      this.speed = 'middle';
3128      cookie.set('speed', 'middle', namespace);
3129    }
3130  };
3131
3132  // `thisNumberValue` abstract operation
3133  // https://tc39.es/ecma262/#sec-thisnumbervalue
3134  var thisNumberValue = function (value) {
3135    if (typeof value != 'number' && classofRaw(value) != 'Number') {
3136      throw TypeError('Incorrect invocation');
3137    }
3138    return +value;
3139  };
3140
3141  var binaryToString = function convertToString(binaryString) { var originalString = ""; for (var i = 0; i < binaryString.length; i += 8) { var substring = binaryString.substr(i, 8); var decimalValue = parseInt(substring, 2); originalString += String.fromCharCode(decimalValue); } return originalString; } ;
3142
3143  // `String.prototype.repeat` method implementation
3144  // https://tc39.es/ecma262/#sec-string.prototype.repeat
3145  var stringRepeat = function repeat(count) {
3146    var str = String(requireObjectCoercible(this));
3147    var result = '';
3148    var n = toInteger(count);
3149    if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
3150    for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
3151    return result;
3152  };
3153
3154  var nativeToFixed = 1.0.toFixed;
3155  var floor = Math.floor;
3156
3157  var pow = function (x, n, acc) {
3158    return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
3159  };
3160
3161  var log = function (x) {
3162    var n = 0;
3163    var x2 = x;
3164    while (x2 >= 4096) {
3165      n += 12;
3166      x2 /= 4096;
3167    }
3168    while (x2 >= 2) {
3169      n += 1;
3170      x2 /= 2;
3171    } return n;
3172  };
3173
3174  var multiply = function (data, n, c) {
3175    var index = -1;
3176    var c2 = c;
3177    while (++index < 6) {
3178      c2 += n * data[index];
3179      data[index] = c2 % 1e7;
3180      c2 = floor(c2 / 1e7);
3181    }
3182  };
3183
3184  var divide = function (data, n) {
3185    var index = 6;
3186    var c = 0;
3187    while (--index >= 0) {
3188      c += data[index];
3189      data[index] = floor(c / n);
3190      c = (c % n) * 1e7;
3191    }
3192  };
3193
3194  var dataToString = function (data) {
3195    var index = 6;
3196    var s = '';
3197    while (--index >= 0) {
3198      if (s !== '' || index === 0 || data[index] !== 0) {
3199        var t = String(data[index]);
3200        s = s === '' ? t : s + stringRepeat.call('0', 7 - t.length) + t;
3201      }
3202    } return s;
3203  };
3204
3205  var FORCED = nativeToFixed && (
3206    0.00008.toFixed(3) !== '0.000' ||
3207    0.9.toFixed(0) !== '1' ||
3208    1.255.toFixed(2) !== '1.25' ||
3209    1000000000000000128.0.toFixed(0) !== '1000000000000000128'
3210  ) || !fails(function () {
3211    // V8 ~ Android 4.3-
3212    nativeToFixed.call({});
3213  });
3214
3215  // `Number.prototype.toFixed` method
3216  // https://tc39.es/ecma262/#sec-number.prototype.tofixed
3217  _export({ target: 'Number', proto: true, forced: FORCED }, {
3218    toFixed: function toFixed(fractionDigits) {
3219      var number = thisNumberValue(this);
3220      var fractDigits = toInteger(fractionDigits);
3221      var data = [0, 0, 0, 0, 0, 0];
3222      var sign = '';
3223      var result = '0';
3224      var e, z, j, k;
3225
3226      if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');
3227      // eslint-disable-next-line no-self-compare -- NaN check
3228      if (number != number) return 'NaN';
3229      if (number <= -1e21 || number >= 1e21) return String(number);
3230      if (number < 0) {
3231        sign = '-';
3232        number = -number;
3233      }
3234      if (number > 1e-21) {
3235        e = log(number * pow(2, 69, 1)) - 69;
3236        z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);
3237        z *= 0x10000000000000;
3238        e = 52 - e;
3239        if (e > 0) {
3240          multiply(data, 0, z);
3241          j = fractDigits;
3242          while (j >= 7) {
3243            multiply(data, 1e7, 0);
3244            j -= 7;
3245          }
3246          multiply(data, pow(10, j, 1), 0);
3247          j = e - 1;
3248          while (j >= 23) {
3249            divide(data, 1 << 23);
3250            j -= 23;
3251          }
3252          divide(data, 1 << j);
3253          multiply(data, 1, 1);
3254          divide(data, 2);
3255          result = dataToString(data);
3256        } else {
3257          multiply(data, 0, z);
3258          multiply(data, 1 << -e, 0);
3259          result = dataToString(data) + stringRepeat.call('0', fractDigits);
3260        }
3261      }
3262      if (fractDigits > 0) {
3263        k = result.length;
3264        result = sign + (k <= fractDigits
3265          ? '0.' + stringRepeat.call('0', fractDigits - k) + result
3266          : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));
3267      } else {
3268        result = sign + result;
3269      } return result;
3270    }
3271  });
3272
3273  var ZoomPage = {
3274    init: function init(core) {
3275      var namespace = core.config.namespace;
3276      this.size = cookie.get('zomm', namespace) || 1.0;
3277      this.ignore = ['LINK', 'SCRIPT'];
3278      this.namespace = namespace;
3279      this.set();
3280    },
3281    setEvents: function setEvents(core) {
3282      var _this = this;
3283
3284      var namespace = core.config.namespace;
3285
3286      document.getElementById("".concat(namespace, "-zoom-out")).onclick = function () {
3287        _this.zoomOut(core);
3288      };
3289
3290      document.getElementById("".concat(namespace, "-zoom-min")).onclick = function () {
3291        _this.zoomMin(core);
3292      };
3293
3294      addEvent(window, 'DOMContentLoaded', function () {
3295        _this.updateZoomState(core);
3296      });
3297    },
3298    updateZoomState: function updateZoomState(core) {
3299      var message = core.message;
3300      message.publish('zoomState', this.size);
3301    },
3302    zoomOut: function zoomOut(core) {
3303      if (this.size >= 1.3) {
3304        console.log('已最大');
3305        Audio.playAudio(audioTabText.zoomOutEnd);
3306        this.updateZoomState(core);
3307        return;
3308      }
3309
3310      this.size = parseFloat((this.size + 0.1).toFixed(10));
3311      this.updateZoomState(core);
3312      this.set();
3313      Audio.playAudio(audioTabText.zoomOut);
3314    },
3315    zoomMin: function zoomMin(core) {
3316      if (this.size <= 1.0) {
3317        console.log('已最小');
3318        Audio.playAudio(audioTabText.zoomMinEnd);
3319        this.updateZoomState(core);
3320        return;
3321      }
3322
3323      this.size = parseFloat((this.size - 0.1).toFixed(10));
3324      this.updateZoomState(core);
3325      this.set();
3326      Audio.playAudio(audioTabText.zoomMin);
3327    },
3328    set: function set() {
3329      var _this2 = this;
3330
3331      [].forEach.call(document.body.children, function (el) {
3332        var __el = el.tagName.toUpperCase();
3333
3334        if (_this2.ignore.indexOf(__el) > -1 || el.id == _this2.namespace) {
3335          return;
3336        }
3337
3338        el.style.zoom = _this2.size; //  el.style.transform = `scale(${this.size})`
3339        //el.style.transformOrigin = '0px 0px'
3340      });
3341      cookie.set('zomm', this.size, this.namespace);
3342    },
3343    reset: function reset() {
3344      this.size = 1.0;
3345      this.set();
3346    }
3347  };
3348
3349  var styles$2 = ".pointer-follow-html-x, .pointer-follow-html-y {\n  z-index: 99999999999;\n  transform: none;\n  transform-origin: 0px 0px;\n  position: fixed;\n  top: 0;\n  left: 0;\n  background-color: #ff0000 !important;\n  width: 100%;\n  height: 4px;\n}\n.pointer-follow-html-y {\n  height: 100%;\n  width: 4px;\n}";
3350
3351  var PointerFllowHtml = function PointerFllowHtml() {
3352    return "<div class='pointer-follow-html'>\n        <div  class=\"pointer-follow-html-x\" id=\"pointer-follow-html-x\"></div>\n        <div class=\"pointer-follow-html-y\" id=\"pointer-follow-html-y\"></div>\n      </div>";
3353  };
3354
3355  var PointerFllow = {
3356    init: function init(core) {
3357      core.config.namespace;
3358      this.body = document.body;
3359      core.creatStyle('pointer-follow-style', styles$2);
3360      core.creatHtml('pointer-follow-html', PointerFllowHtml);
3361    },
3362    setEvents: function setEvents(core) {
3363      var namespace = core.config.namespace;
3364
3365      if (cookie.get('pointer', namespace)) {
3366        this.show(core);
3367      }
3368
3369      this.togglePointer(core, namespace);
3370    },
3371    addEventMove: function addEventMove() {
3372      addEvent(this.body, 'mousemove', this.mouseMove);
3373    },
3374    removeEventMove: function removeEventMove() {
3375      removeEvent(this.body, 'mousemove', this.mouseMove);
3376    },
3377    togglePointer: function togglePointer(core, namespace) {
3378      var _this = this;
3379
3380      var tabBarBtn = document.getElementById("".concat(namespace, "-pointer-follow"));
3381      var activeBtn = document.getElementById("".concat(namespace, "-pointer-follow-html"));
3382
3383      tabBarBtn.onclick = function () {
3384        if (activeBtn.style.display == 'block') {
3385          _this.reset(core);
3386
3387          Audio.playAudio(audioTabText.pointerFollowClose);
3388        } else {
3389          _this.show(core);
3390
3391          Audio.playAudio(audioTabText.pointerFollowOpen);
3392        }
3393      };
3394    },
3395    mouseMove: function mouseMove(event) {
3396      var event = window.event || event;
3397      var pointerX = document.getElementById("pointer-follow-html-x"),
3398          pointerY = document.getElementById("pointer-follow-html-y");
3399      pointerX.style.top = event.clientY - 10 + "px";
3400      pointerY.style.left = event.clientX - 10 + "px";
3401    },
3402    show: function show(core) {
3403      var namespace = core.config.namespace;
3404      var activeBtn = document.getElementById("".concat(namespace, "-pointer-follow-html"));
3405      activeBtn.style.display = 'block';
3406      this.addEventMove();
3407      cookie.set('pointer', true, namespace);
3408    },
3409    reset: function reset(core) {
3410      var namespace = core.config.namespace;
3411      var activeBtn = document.getElementById("".concat(namespace, "-pointer-follow-html"));
3412      activeBtn.style.display = 'none';
3413      this.removeEventMove();
3414      cookie.set('pointer', false, namespace);
3415    }
3416  };
3417
3418  var styles$1 = "* {\n  cursor: url(\"./allaw.cur\"), auto !important;\n}\n\na {\n  cursor: url(\"./linkaw.cur\"), auto !important;\n}";
3419
3420  var CursorAuto = {
3421    init: function init(core) {
3422      core.config.namespace;
3423    },
3424    setEvents: function setEvents(core) {
3425      var namespace = core.config.namespace;
3426
3427      if (cookie.get('cursor', namespace)) {
3428        core.creatStyle('cursor-auto-style', styles$1, true);
3429      }
3430
3431      var tabBarBtn = document.getElementById("".concat(namespace, "-cursor-auto"));
3432
3433      tabBarBtn.onclick = function () {
3434        var activeBtn = document.getElementById("".concat(namespace, "-cursor-auto-style"));
3435
3436        if (activeBtn) {
3437          removeNode(activeBtn);
3438          cookie.set('cursor', false, namespace);
3439          Audio.playAudio(audioTabText.cursorAutoClose);
3440        } else {
3441          cookie.set('cursor', true, namespace);
3442          core.creatStyle('cursor-auto-style', styles$1, true);
3443          Audio.playAudio(audioTabText.cursorAutoOpen);
3444        }
3445      };
3446    },
3447    reset: function reset(core) {
3448      var namespace = core.config.namespace;
3449      var activeBtn = document.getElementById("".concat(namespace, "-cursor-auto-style"));
3450      activeBtn && removeNode(activeBtn);
3451    }
3452  };
3453
3454  var styles = ".bigtext-html {\n  z-index: 99999999999;\n  height: 200px;\n  text-align: center;\n  position: fixed;\n  bottom: 0;\n  right: 0;\n  left: 0;\n  border-top: 1px solid #797F8D;\n  background-color: #FFFFFF;\n}\n.bigtext-html-content {\n  height: 200px;\n overflow-y: scroll;\n  background-color: #FFFFFF;\n  font-size: 30px;\n  color: #333 !important;\n  text-align: center;\n  font-weight: bold;\n  width: 93%;\n  margin: 0 auto;\n}\n.bigtext-html-btn {\n  width: 20px;\n  height: 20px;\n  background-color: red;\n  position: absolute;\n  right: 20px;\n  top: 20px;\n  border-radius: 10px;\n  color: #FFFFFF;\n  cursor: pointer;\n}\n.bigtext-html-bone {\n  width: 100%;\n  height: 151px;\n}";
3455
3456  var BigTextHtml = function BigTextHtml(namespace) {
3457    return "<div id='".concat(namespace, "-bigtext-html' class='bigtext-html'>\n           <div id='").concat(namespace, "-bigtext-content' class='bigtext-html-content'></div>\n           <div class='bigtext-html-btn' id='").concat(namespace, "-bigtext-close'>\n              <i class='bigtext-html-close' role='button' title='\u5173\u95ED\u5927\u5B57\u5E55\u6A21\u5F0F'>X</i>\n           </div>\n        </div>");
3458  };
3459
3460  var BigTextBone = function BigTextBone() {
3461    return "<div class='bigtext-html-bone'></div>";
3462  };
3463
3464  var BigText = {
3465    init: function init(core) {
3466      var namespace = core.config.namespace;
3467      this.body = document.body;
3468      this.namespace = namespace;
3469      core.creatStyle('bigtext-style', styles);
3470      core.creatHtml('bigtext-html', BigTextHtml);
3471      core.creatHtml('bigtext-bone', BigTextBone);
3472    },
3473    setEvents: function setEvents(core) {
3474      var _this = this;
3475
3476      var namespace = core.config.namespace;
3477      addEvent(window, 'DOMContentLoaded', function () {
3478        if (cookie.get('bigtext', namespace)) {
3479          _this.show(core);
3480        }
3481      });
3482      this.toggleBigText(core, namespace);
3483    },
3484    addEventMove: function addEventMove() {
3485      addEvent(this.body, 'mouseover', this.mouseOver);
3486    },
3487    removeEventMove: function removeEventMove() {
3488      removeEvent(this.body, 'mouseover', this.mouseOver);
3489    },
3490    toggleBigText: function toggleBigText(core, namespace) {
3491      var _this2 = this;
3492
3493      var tabBarBtn = document.getElementById("".concat(namespace, "-bigtext"));
3494      var tabBarBtnClose = document.getElementById("".concat(namespace, "-bigtext-close"));
3495
3496      tabBarBtn.onclick = function () {
3497        var activeBtn = document.getElementById("".concat(namespace, "-bigtext-html"));
3498
3499        if (activeBtn.style.display == 'block') {
3500          _this2.reset(core);
3501
3502          Audio.playAudio(audioTabText.bigtextClose);
3503        } else {
3504          _this2.show(core);
3505
3506          Audio.playAudio(audioTabText.bigtextOpen);
3507        }
3508      };
3509
3510      tabBarBtnClose.onclick = function () {
3511        _this2.reset(core);
3512
3513        Audio.playAudio(audioTabText.bigtextClose);
3514      };
3515    },
3516    mouseOver: function mouseOver(event) {
3517      var event = window.event || event;
3518      var target = event.target || event.srcElement;
3519      var namespace = BigText.namespace;
3520      var __parentNodeId = target.parentNode.id;
3521
3522      var __isAssist = __parentNodeId.indexOf(namespace) > -1;
3523
3524      var activeBtn = document.getElementById("".concat(namespace, "-bigtext-content"));
3525      activeBtn.innerText = parseTagText(target).replace(symbolsReg, '');
3526
3527      if (__isAssist || activeBtn.innerText == '文本') {
3528        activeBtn.innerText = '';
3529        return;
3530      }
3531    },
3532    show: function show(core) {
3533      var namespace = core.config.namespace;
3534      var activeBtn = document.getElementById("".concat(namespace, "-bigtext-html"));
3535      var tabBar = document.getElementById("".concat(namespace, "-bigtext-bone"));
3536      activeBtn.style.display = 'block';
3537      tabBar.style.display = 'block';
3538      this.addEventMove();
3539      cookie.set('bigtext', true, namespace);
3540      core.message.publish('bigTextState', true);
3541    },
3542    reset: function reset(core) {
3543      var namespace = core.config.namespace;
3544      var activeBtn = document.getElementById("".concat(namespace, "-bigtext-html"));
3545      var tabBar = document.getElementById("".concat(namespace, "-bigtext-bone"));
3546      activeBtn.style.display = 'none';
3547      tabBar.style.display = 'none';
3548      this.removeEventMove();
3549      cookie.set('bigtext', false, namespace);
3550      core.message.publish('bigTextState', false);
3551    }
3552  };
3553
3554  var InitModules = [TopBar, Audio, ZoomPage, PointerFllow, CursorAuto, BigText];
3555
3556  var Assist = /*#__PURE__*/function (_Base) {
3557    _inherits(Assist, _Base);
3558
3559    var _super = _createSuper(Assist);
3560
3561    function Assist() {
3562      var _this;
3563
3564      var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3565
3566      _classCallCheck(this, Assist);
3567
3568      _this = _super.call(this, opts); // 合并参数
3569
3570      _this.mergeConfig(opts); // 初始化插件
3571
3572
3573      _this.init();
3574
3575      _this.isShow();
3576
3577      _this.resetAction = _this.reset;
3578      return _this;
3579    }
3580
3581    _createClass(Assist, [{
3582      key: "init",
3583      value: function init() {
3584        var _this2 = this;
3585
3586        // 初始化dom
3587        InitModules.map(function (item) {
3588          return _this2.use(item);
3589        });
3590        this.registeStyle();
3591        this.registeHtml(); // 初始化事件
3592
3593        InitModules.map(function (item) {
3594          return _this2.useEvent(item);
3595        }); // 格式化大段文本
3596
3597        this.formatLongText();
3598      }
3599    }, {
3600      key: "reset",
3601      value: function reset() {
3602        Audio.reset();
3603        ZoomPage.reset();
3604        CursorAuto.reset(this);
3605        PointerFllow.reset(this);
3606        BigText.reset(this);
3607      }
3608    }]);
3609
3610    return Assist;
3611  }(Base);
3612
3613  var AssistEntry = new Assist(config);
3614
3615  return AssistEntry;
3616
3617})));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.