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.